Gästebuch tutorial! HILFE

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gästebuch tutorial! HILFE

    Ich bekomm einfach kein php gästebuc zusammen auch mit tutorial nicht. Ich hab mal wieder extra WÜnsche grins.
    ich will alles auf einer Siete haben. ALLES. Eingabe und Einträge.
    bin bis jetzt so weit:
    PHP-Code:
    <?php
    $nummer_und_datum
    ="Nr. $zahl vom $wochentag_de, den $tag$monat $jahr um $stunden.$minuten Uhr.";

    $zeit=getdate();

    $tag=$zeit["mday"];

    $jahr=$zeit["year"];

    $stunden=$zeit["hours"];

    $minuten=$zeit["minutes"];

    $monat=$zeit["month"];

    $wochentag=$zeit["weekday"];

    $alteEintraege=file("gaest.php");

    $AnzahlDerEintraege=count($alteEintraege);

    $eintraege="$eintrag$alteEintraege[0]";

    for (
    $z=1$z<$AnzahlDerEintraege$z++)

     {

      
    $eintraege="$eintraege$alteEintraege[$z]";

     }

    $datei=fopen("gaest.php""w");

    fwrite ($datei$eintraege);

    mail ("hp_loehner@hotmail.com""neuer Eintrag im Gästebuch""$name hat sich im Gästebuch eingetragen.");

    mail ($email"Ihr Eintrag ins Gästebuch""Vielen Dank für Ihren Eintrag in unser Gästebuch.\nBitte besuchen Sie und bald wieder.\n\nhttp://www.kuchagrafix.de.vu");

    if (
    $action == "add"){

    if (
    $name == "" || $email == "" || $eintrag == ""){
    echo 
    "<b>Du hast nicht alle Felder ausgef&uuml;llt !</b><br>";
    echo 
    "Klicke auf den Backbutton deines Browsers";
    }

    if (
    $www == ""){
    $eintrag "$name<br>$eintrag";
    }
    else{
    $eintrag "$name<br>$www<br>$eintrag<hr><br><br>";
    }

    $datei fopen("gaestebuch.txt","a+");
    fputs($datei,$eintrag);
    fclose($datei);
    echo 
    "Danke <i>$name</i> f&uuml;r deinen Eintrag";
    }

    }
    else{
    ?>

    <div align="center">
    <form method="post" action="">
    <table border="0"  cellpadding="0" cellspacing="4">
    <tr><td>name</td><td><input name="name" type="text" style="background-color:#F4F4F4; width:190px; color:#646464; font-family: Verdana; font-size: 5; border:0; " ></input></td><br></tr>
    <tr><td>email</td><td><input name="email" type="text" style="background-color:#F4F4F4; color:#646464; font-family: Verdana; font-size: 5; border:0; width:190px;"></input><br></td><br></tr>
    <tr><td>homepage</td><td><input value="http://" name="homepage" type="text" style="background-color:#F4F4F4; width:190px; color:#646464; font-family: Verdana; font-size: 5; border:0"></input></td><br></td></tr>
    <tr><td>icq</td><td><input name="icq" type="text" style="background-color:#F4F4F4; color:#646464; width:190px;  font-family: Verdana; font-size: 3; border:0"></input></td><br><br></tr>
    <tr><td>eintrag</td><td><textarea name="eintrag" type="text" style="background-color:#F4F4F4;  color:#646464; font-family: Verdana; font-size: 5; border:0" wrap="soft" rows=4 cols=30 class=field ></textarea></td><br></tr>
    </form>
    </tr>
    </table><br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="submit" name="add" value="Abschicken" style="background-color:#F4F4F4; color:#646464; font-family: Verdana; font-size: 5; border: 0 solid black"></input>

     <br><br><br>

     <?php

     
    }

     
    ?>



    Da stimmt eigentlich alles nicht. ICh würde es gern so machen. Der besucher trägt ein drückt auf abschicken dann wird die seite neu geladen und sein eintrag steht gleich mit den anderen da. Außerdem wie mach ich des mit Zeit und Datum angabe? Und er soll seine homepageadresse nur angeben wenn er einen eingegeben hat? wie??
    ich weiß ich will ziemlich viel für den ersten eintrag aber hm....

    bitte hilfe

    gruß
    hansi

  • #2
    ganz einfach....

    erst die daten schreiben dann auslesen.

    dein script hat einen einsprungpunkt 'add'. hier schreibst du die daten in die DB. weiter unten gibst du immer die daten aus. ist eigentlich kein problem.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      abraxas sagte es ja schon.

      zuerst mal prüfen, ob die seite durch abschicken des forumlars aufgerufen wurde [ if(!empty($_POST[submit])), wobei submit der name sein muss, den du deinem submitbutton im formular gegeben hast].

      wenn ja, den eintrag in die datenbank schreiben, mail an den user etc.

      das datum machst du am besten als unix-timestamp.
      von der benutzung des mysql-timestampformates rate ich ab, der unix-timestamp ist viel einfacher zu formatieren für die ausgabe.
      also, zeit/datumsfeld in mysql als integer anlegen, und dort den wert reinschreiben, den time() zurückgibt. formatieren der ausgabe dann mit date().

      so, das war der teil, der nur dann ausgeführt wird, wenn der seitenaufruf durch abschicken des formulares erfolgte.


      jetzt kommt die ausgabe der bisherigen einträge, undabhängig davon wie die seite aufgerufen wurde.

      und das formular musst du auch noch irgendwo in der seite unterbringen, ob oben oder unten ist ja letztendlich egal.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar

      Lädt...
      X