kleiner PHP-Kurs

  • Passend zu Ginome's HTML Kurs gibt es hier den PHP Kurs - Aber bevor ihr kein HTML könnt, braucht ihr hier auch gar nicht anzufangen :winking_face:
    Für PHP benötigt man HTML-Kenntnisse.


    Bevor es überhaupt losgehen kann brauchen wir einen Server auf dem wir unsere Homepage ablegen können..
    Das Problem ist, dass viele Server kein PHP unterstützen. Die meisten die PHP unterstützen kosten nämlich monatliche Grundgebühren und haben massig Einschränkungen.


    Zwei Server mit PHP im Angebot hat Ginome mir genannt:
    http://www.funpic.de/index.php?template=hostinginfo
    http://www.lima-city.de/portal.php?sid


    Außerdem bietet TRIPOD PHP an, jedoch mit mehr Werbung als man glaubt.


    Hier müsst ihr euch nun anmelden und euch da mal einfinden. Versucht am besten erstmal eine normale HTML Datei hochzuladen und zu öffnen.



    PHP - Hallo Welt


    Die größte Frage die ich mir Anfangs gestellt hab, war die Frage, wohin der PHP Code nun kommt. Die Antwort ist leicht: Einfach mitten in den HTML Code - egal wohin man will.


    Einen PHP Code fängt man nur mit <?php an und beendet ihn mit ?> - Der Code kommt dann dazwischen. Beispiel:


    PHP
    <html>
    <head></head>
    <body>
    <?php
    /* PHP CODE */
    ?>
    </body></html>


    Bevor es nun losgehen kann, muss ich kurz erklären was PHP ist und was es tut. PHP steht für "Hypertext Preprocessor". Das wichtigste daran ist das PRE. PRE bedeutet ja sowas wie "vor" oder "zuvor".


    Bedeutet:
    Der PHP-Quellcode den wir schreiben wir zuerst abgearbeitet. Der PHP Quellcode den wir schreiben gibt dann eine HTML Datei aus. Und nur diese HTML Datei wird dem Benutzer geschickt.


    Den ersten Befehl, den wir in diesem Tutorial lernen werden ist der wichtigste überhaupt. Er nennt sich ECHO. Dieser Befehl gibt einen beliebigen Text wieder in unserem HTML Text aus.


    Beispiel

    PHP
    <html>
    <head>
    <title>PHP Test1</title>
    </head>
    <body>
    <?php
    echo "Hallo Welt";
    ?>
    </body>
    </html>


    Wenn wir diese Datei nun so wie sie hier steht ausführen, würde in der HTML Datei nur noch folgendes stehen:


    HTML
    <html>
    <head>
    <title>PHP Test1</title>
    </head>
    <body>
    Hallo Welt
    </body>
    </html>


    Das liegt daran, dass der PHP Code VOR dem senden abgeschickt wird (wie oben schon beschrieben)



    ECHO


    ECHO hat nur einen Parameter und das ist der Text, der ausgegeben werden soll.


    Dieser Text muss zwischen Anführungsstrichen (") oder Apostrophen (') stehen.


    Beispiele:
    echo "Hallo Welt"; // Richtig
    echo Hallo Welt; // Falsch
    echo 'Hallo Welt'; // Richtig



    Weiterhin ist in PHP zu beachten, dass nach JEDEM Befehl ein Semikolon :winking_face: ) stehen muss.



    (In den Beispielen wird noch <? statt <?php benutzt - aber <?php ist besser)


    Beispiel online: http://www.yatta-tempel.de/phptut/echo.php
    Quellcode: http://www.yatta-tempel.de/phptut/echosrc.php



    Falls etwas in dem ersten Teil schlecht oder kaum beschrieben sein sollte einfach meckern ^^

  • Jo, ham einige glesen, nur du nich mehr. *schräg anguck* (just kidding ;))

    There are things... waiting in the darkness. Creatures of metal.. fire.. and blood.
    But he's out there, burning through time, facing a thousand dangers across the stars and never giving up. He looks like a man, but he's a legend. And his name... is The Doctor.
    He'll come back to save us and this time I'm gonna be ready.
    Then just like that - We'll be gone.
    Donna Noble (3rd Companion of the 10th Doctor)

  • Ich bin wissbegierig und warte auf die Fortsetzung

    Jeder hat einen Traum, tief im Herzen. Eine Reise, die er antreten muss. Ein Schicksal, dass er erfüllen muss. Es gibt einen magischen Ort. Nicht weiter entfernt, als eure Fantasie, wo wundersame Wesen Träume war werden lassen.Das ist die Welt der Pokémon!
    Pokémon lassen sich einfangen und werden mehr als nur Haustiere. Trainer und Pokémon messen ihre Fähigkeiten und Strategien in spannenden Wettkämpfen gegen andere. Die besten Trainer werden eines Tages Pokémon-Meister.
    Das ist für viele ein großer Traum, aber der Allergrößte für Ash Ketchum.

  • Naja ok...


    includen:


    Also ihr habt ne Seite... ihr habt da natürlich Menü Banner und Kram. So wenn ihr jetzt am Menü was ändern wollt müsst ihr ja alle 100 Seiten in denen ihr Inhalt habt ändern. :astonished_face: WTF das kann doch keine Sau schaffen.
    Aber es gibt ja Abhilfe. Das INCLUDEN! Yadda sei dank! (is schwarze Magie, also Yadda XD )


    Zuerst erstellt ihr im Hauptverzeichnis einen Ordner mti dem Namen "content".
    Also ihr macht eine Seite wie gehabt, nur ohne Inhalt.
    In diese Seite kopiert ihr folgendes ganz oben hin, noch vorm Doctype. (Es würde auch überall anders gehen, aber da ganz oben findet mans immer gleich ^^ )



    <?php


    // Wenn $link leer dann News
    if (empty($_GET['link'])) {


    $link = 'news/index';

    } else {


    $link = $_GET['link'];


    }



    // 404er
    if (file_exists('content/'.$link.'.php') && !preg_match('/\.\./', $link)) {


    $link = 'content/'.$link.'.php';


    } else {


    $link = '404.php';


    }


    ?>


    Dort wo der Inhalt hinkommen soll tut ihr diesen Code hin:


    <?php
    include($link);
    ?>



    Sollte nur die index.php angewählt werden wird die index.php aus dem Ordner "news" includet. also wenn ihr z.B. ein easynews im ordner "news" installiert habt wird dieses includet.


    So nun wie ihr die Inhaltdateien aus dem Contentordner includet:


    Nehmen wir an ihr wollt die lala.php aus dem Contentordner includen, dann muss der link so aussehen:


    <a href="index.php?link=lala">Die Lalaseite</a>



    Dann müsst ihr in den Hauptordner noch eine Datei die 404.php heißt und eine Fehlernachricht enthält tun.


    Dieser Fehlercode wird immer dann angezeigt wenn jemand versucht etwas außerhalb des Contentordners zu inkluden, oder irgend eine Datei includen will die nicht da ist.



    Ihr könnt im Contentordner aber auch noch unterverzeichnisse erstellen um Ordnung rein zu bringen.
    Wenn ihr z.B. den Ordner zonk darin erstellt und darin die Datei kokoloris.php habt und diese includen wollt muss der Link so aussehen:


    <a href="index.php?link=zonk/kokoloris">Quatschseite</a>



    In den contentordner würde ich auch noch ne .htaccess-Datei mit dem Inhalt deny from all tun.
    Solltet ihr irgend ein Unterverzeichnis darin haben auf das man wieder zugreifen soll, z.B. mit Bildern dann tut darein einfach ne .htaccess-Datei mit allow from all.



    PS: Ich wollt eigentlich genauer erklären wie alles geht, dann is mri aber aufgefallen, dass das sehr sehr viel ist. Ich werds vielleicht bei Gelegenheit mal genauer erklären.

    There are things... waiting in the darkness. Creatures of metal.. fire.. and blood.
    But he's out there, burning through time, facing a thousand dangers across the stars and never giving up. He looks like a man, but he's a legend. And his name... is The Doctor.
    He'll come back to save us and this time I'm gonna be ready.
    Then just like that - We'll be gone.
    Donna Noble (3rd Companion of the 10th Doctor)

    2 Mal editiert, zuletzt von Slowking ()

  • Ich hab schon von dieser methode gehört, hab aber meine Files auf andere Weise includet.


    à la:


    Code
    <?
    switch ($_GET['action']) {
    case siteinfo:
    include 'siteinfo.php';
    default:
    $category = "2";
    include 'news/show_news.php';
    }
    ?>


    Welche ist denn nun eigentlich die richtige bzw. die bessere?

  • Bei deinem musste ja für jede Seite nen neuen switch machen. :astonished_face:
    Bei meinem musste nur nen entsprechenden Link machen. Zudem hab ich halt noch ne Sicherheitsabfrage drin, dass man nicht wild auf dem Server rumincluden kann, wobei das bei den ganzen Switches natürlich auch nicht geht.


    Fazit: Deine Methode wäre mir entschieden zu viel Arbeit und sie hat keine 404-Seite.

    There are things... waiting in the darkness. Creatures of metal.. fire.. and blood.
    But he's out there, burning through time, facing a thousand dangers across the stars and never giving up. He looks like a man, but he's a legend. And his name... is The Doctor.
    He'll come back to save us and this time I'm gonna be ready.
    Then just like that - We'll be gone.
    Donna Noble (3rd Companion of the 10th Doctor)

  • Ich stelle mal meine Frage einfach hier rein...
    Und zwar würde ich gerne wissen ob und wie es mit PHP möglich ist Zufallszitate in eine HP einzubinden.
    Ich habe zwar im Netz einiges gefunden aber entweder war das Javascript oder aber der Code war nur ein Schnipsel, so das ein totaler Anfänger wie ich damit keine Ahnung hat...


    Kennt sich von euch einer damit aus ?


    Also nochmal um es deutlich zu sagen: Ich suche eine Möglichkeit zufällig eine Textzeile auszugeben. Diese Textzeile sollte in irgend einer Weise von mir vorgegeben werden können.

  • Der code den ich benutzen wuerde waere diser:


    <?php


    $quote[1]="Zitat 1";
    $quote[2]="Zitat 2";
    $quote[3]="Zitat 3";


    $random = rand(1, count($quote));


    echo "$quote[$random]";


    ?>


    Ich denke ich brauche nicht zu erklaeren wo du ihn veraendern musst. Wenn du neue Zitate einfuegen willst reicht es einfach "$quote[4]="Zitat xy" ;",
    "$quote[5]="Zitat xy";" und so weiter einzugeben. Wenn du die Zitate mit gänsefuesschen versehen willst musst du sie mit einem " \ " einleiten damit er den Befehl an der Stelle nicht beendet. Das wuerde dann z.B. so aussehen:
    ' $quote[23]=" \"Blah blah. Wise quote.\" - by Wiseguy " '
    Erm joa, das waer die einfachste Moeglichkeit die ich jetzt sehe. Vllt. kann Slowi noch etwas einfacheres/schnelleres/praktischeres daher zaubern aber bis dahin funktioniert das oben genannte ganz gut :gaga:

  • Ich persönlich würde mt_rand(); nehmen. Das ist zufälliger und resourcen schonender.


    Mein Script würde dann wie folgt aussehen:


    <?php


    $quote[1] = 'Zitat 1';
    $quote[2] = 'Zitat 2';
    $quote[3] = 'Zitat 3';


    $random = mt_rand(1, count($quote));


    echo $quote[$random];


    ?>



    Nebenbei kann du auch diesen Teil


    $quote[1] = 'Zitat 1';
    $quote[2] = 'Zitat 2';
    $quote[3] = 'Zitat 3';


    $random = mt_rand(1, count($quote));


    oben im Kopf notieren und nur diesen Teil


    echo $quote[$random];


    dort wo die Zitate erscheinen sollen notieren. Du musst nur beide Codeteile mit


    <?php


    ?>


    umschließen.
    Das hätte den Vorteil, dass du die Zitate gleich oben hast und sie dort ändern kansnt und das ganze ist imo etwas aufgeräumter, aber nuja Geschmackssache.

    There are things... waiting in the darkness. Creatures of metal.. fire.. and blood.
    But he's out there, burning through time, facing a thousand dangers across the stars and never giving up. He looks like a man, but he's a legend. And his name... is The Doctor.
    He'll come back to save us and this time I'm gonna be ready.
    Then just like that - We'll be gone.
    Donna Noble (3rd Companion of the 10th Doctor)

  • Also entweder habe ich was grundlegendes nicht verstanden oder einfach einen Denkfehler..
    Nur bei mir wird einfach kein Zitat angezeigt. Egal welche von euren Vorschlägen ich einbaue.


    Ich habe einfach mal eine kleine Testdatei nach Eichs Muster im ersten Beispiel erstellt und sie "test.html" genannt.


    Hier der Quellcode:




    Wenn ich die Datei nun in Firefox aufrufe wird allerdings kein Zitat unter dem Text angezeigt. Was mache ich falsch ?
    Über Hilfe wäre ich sehr dankbar :smiling_face:

  • Nur eine Vermutung: Aber vielleicht liegt es daran, dass PHP in einer .html-Datei nciht geprased wird. X'D
    Sie muss schon .php heißen und auch auf einem Server liegen der PHP kann.

    There are things... waiting in the darkness. Creatures of metal.. fire.. and blood.
    But he's out there, burning through time, facing a thousand dangers across the stars and never giving up. He looks like a man, but he's a legend. And his name... is The Doctor.
    He'll come back to save us and this time I'm gonna be ready.
    Then just like that - We'll be gone.
    Donna Noble (3rd Companion of the 10th Doctor)

  • *hust* Das wird es wohl sein ^^'


    Erm... eine dumme Frage aber weißt du wie es sich mit den *.tpls vom Woltlab Forum verhält ? Ob PHP dort geprased wird ?
    Ich wollte das Zufallszitat nämlich eigentlich in einem Forum einbauen.
    Nur wie gesagt scheint das wohl auch unter HTML zu laufen, keine Ahnung wie Woltlab das so arrangiert. Gibt es eine möglichkeit von einer HTML Datei auf diese PHP Datei zu verweisen ? Oder denke ich einfach zu verquer ?

  • Ich glaube nicht, dass du das in die Templates einbauen kannst.
    Müsstest du wohl irgednwo in die Forensoftware einhacken i, es dann in nem Template anzeigen zu lassen. Wie das genau geht weiß ich allerdings leider nciht wirklich. Ich bin schon von dem Templatesystem vom neuen easynews verwirrt.
    3 Optionen bleiben noch:
    Da hätten wir: Ginome fragen. Die kennt sich mit nem WBB2 wesentlich ebsser aus als ich. Vielleicht weiß sie wie sowas läuft.
    Dann: Eich treten. Eich kann eigentlich alles, man muss ihn nur dauernd treten sonst macht der nie was. :astonished_face:
    Als letztes: Auf www.mywbb.info gibts ne Menge hacks fürs WBB2 (ich komm da nur leider nicht ran, da man die Zugangsdaten braucht die man auch fürs Woltlab Supportforum braucht.). Vielleicht findest du da schon einen fertigen Zitathack oder irgend etwas ähnliches, das wir heir dann modifizieren können.

    There are things... waiting in the darkness. Creatures of metal.. fire.. and blood.
    But he's out there, burning through time, facing a thousand dangers across the stars and never giving up. He looks like a man, but he's a legend. And his name... is The Doctor.
    He'll come back to save us and this time I'm gonna be ready.
    Then just like that - We'll be gone.
    Donna Noble (3rd Companion of the 10th Doctor)

  • Naja.. Tai hat die 2.3er Version und diese ist dann doch schon etwas anders als diese hier. Ausserdem kann ich nicht hacken ^^
    Eich anschubsen ist gut xD der kann sowas ^^


    Btw hier findest Du auch Hacks. Ein Zitate-Hack ist aber nicht dabei.
    Allerdings kannst Du dort sowas auch requesten.


    http://www.wbb-help.de/forum/index.php


    Um in den 2er-Bereich zu kommen musst Du Dich auf der Woltlabseite freischalten. Ist da aber erklärt in dem Board.

  • Ja ich habe mich schon für sämtliche Hack Seiten freigeschalten und auch schon gesucht aber nichts entsprechendes gefunden. Naja ansonsten werde ich so etwas vielleicht doch in ferner Zukunft selbst hinbekommen. Habe ja ins PHPBB schon ein Random Quote Hack eingebaut. Müsste nur rausfinden wie das mit den Variablen läuft, damit ich mir einen Boardtitel anzeigen lassen kann.
    Warum bin ich eigentlich nicht gleich auf die Idee gekommen ?


    Aber Danke für eure Hilfe. Wenn ich es hinbekommen habe, lasse ich es euch wissen :smiling_face:


    Un dja, die 2.3er ist ziemlich anders... *hust*

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!