Gästebuch auf txt-basis - Fehler im Code??

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

  • Gästebuch auf txt-basis - Fehler im Code??

    hi!!

    ich habe mir eben das tutorial für das gästebuch auf txt-basis angesehen. ich habe alles exakt nach anleitung gemacht. auf seite 2 (unten) wird beschrieben, das man die eintragen.php auf einen php-fähigen server laden soll und diese dann zum test ausführen soll. es funtioniert alles wunderbar, bis zu dem punkt wo steht. klicken sie auf abschicken. dieser button existiert aber laut quelltext gar nicht. also wird er auch nicht angezeigt. auch auf folgenden seiten wo die eintragen.php immer weiter aufgebaut wird taucht er nicht auf. somit kann ich das gb nicht nutzen weil die wichtigste funktion fehlt. könnten sie bitte den richtigen endgültigen quelltext der eintragen.php posten, dann wär das problem gelöst.

  • #2
    Wie ein input-Button geschrieben wird solltest du doch wissen, oder?

    PHP-Code:
    <input type="submit" value="Absenden"
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

    Kommentar


    • #3
      ja is klar

      schon klar...bloß an welcher stelle im code füg ich diesen befehl ein?? ich hab schon 1000 verschiedene versucht, aber keiner führt zum gewünschten ergebnis. nämlich das der eintrag wirklich abgeschickt und gespeichert wird oder gegebenfalls eine fehlermeldung erscheint. keins von beiden war bisher der fall.

      Kommentar


      • #4
        Poste mal die eintragen.php
        *winks*
        Gilbert
        ------------------------------------------------
        Hilfe für eine Vielzahl von Problemen!!!
        http://www.1st-rootserver.de/

        Kommentar


        • #5
          Inhalt der Datei eintragen.php <html>
          <head>
          <title>Eintragen</title>
          </head>

          <body bgcolor="#FFFFFF">
          <?php
          if ($action == "add"){

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

          if ($www == ""){
          $eintrag = "<a href=\"mailto:$mail\">$name</a><br>$text";
          }
          else{
          $eintrag = "<a href=\"mailto:$mail\">$name</a>

          <br><a href=\"$www\">$www</a>$text<hr><br><br>";
          }

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

          }

          }
          else{
          ?>
          <font face="Verdana" size="1">
          <b>Eintragen in mein G&auml;stebuch</b><br>
          <form action="eintragen.php?action=add" method="get">
          Dein Name: <input type="text" name="name" size="24"><br>
          E-Mail: <input type="text" name="mail" size="24"><br>
          Homepage: <input type="text" name="www" size="24"><br>
          <br>
          Dein Eintrag:<br>
          <textarea name="text" cols="35" rows="5"></textarea><br>
          </form></font>
          <?php
          }
          ?>
          </body>

          </html>

          Kommentar


          • #6
            irgendwie find ich auch den unteren php-tag schwachsinnig.

            <?php
            {
            ?>

            Kommentar


            • #7
              PHP-Code:
              <head> 
              <title>Eintragen</title> 
              </head> 

              <body bgcolor="#FFFFFF"> 
              <?php 
              if ($action == "add")
                  {
                  if (
              $name == "" || $mail == "" || $text == "")
                      { 
                      echo 
              "<b>Du hast nicht alle Felder ausgefüllt !</b><br>"
                      echo 
              "Klicke auf den Backbutton deines Browsers"
                      } 
                  else
                      { 
                      if (
              $www == "")
                          { 
                          
              $eintrag "<a href=\"mailto:$mail\">$name</a><br>$text"
                          } 
                      else
                          { 
                          
              $eintrag "<a href=\"mailto:$mail\">$name</a> 
                          <br><a href=\"
              $www\">$www</a>$text<hr><br><br>"
                          } 

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

                      } 

                  } 
              else
                  { 
              ?>
              <font face="Verdana" size="1"> 
              <b>Eintragen in mein Gästebuch</b><br> 
              <form action="eintragen.php?action=add" method="get"> 
              Dein Name: <input type="text" name="name" size="24"><br> 
              E-Mail: <input type="text" name="mail" size="24"><br> 
              Homepage: <input type="text" name="www" size="24"><br> 
              <br> 
              Dein Eintrag:<br> 
              <textarea name="text" cols="35" rows="5"></textarea><br> 
              <input type="submit" name="add" value="eintragen">
              </form></font> 
              <?php 
                  

              ?> 
              </body> 
              </html>
              Wenn dir das ganze mal richtig formatierst wirst du sehen das es nicht schwachsinnig ist.
              *winks*
              Gilbert
              ------------------------------------------------
              Hilfe für eine Vielzahl von Problemen!!!
              http://www.1st-rootserver.de/

              Kommentar


              • #8
                hmmm

                okay vielleicht bin ich auch zu bloed für das ganze, aber genu soweit war ich auch. wenn ich jetzt auf eintragen klicke. wird die gleiche seite nochma geladen. egal was da in den feldern steht. davon wird nichts in irgendeiner gaestebuch.txt abgelegt und auch keine fehlermeldung ausgegeben falls ich halt nichts in die felder schreib. was mach ich falsch??? ich hab das 100% nach dem tutorial gemacht. es funzt weder auf meinem lokalen php/sql fähigen webserver noch auf anderen.

                Kommentar


                • #9
                  Willst du das jetzt mit einer Text-Datei machen oder mit einer Datenbank?

                  Eigentlich sind alle Tuts geprüft und sollten funktionieren.
                  Es gibt aber manchmal Kleinigkeiten die Übersehen werden, bzw, auf das Wissen von PHP-Bücher aufbaut. Ich kann das jetzt leider nicht Testen woran es nun liegt.
                  Aber mach dir doch ein Gästebuch selber mit einer MySQL-Datenbank.

                  Ein Formular Hast du ja schon.
                  Ein Script was die Einträge in die Datenbank schreibt.
                  Und ein Script was die Einträge aus der Datenbank wieder raus liest.

                  Ist eigentlich ganz Einfach. War auch mein erstes eigenes Script, was ich geschrieben habe.
                  *winks*
                  Gilbert
                  ------------------------------------------------
                  Hilfe für eine Vielzahl von Problemen!!!
                  http://www.1st-rootserver.de/

                  Kommentar


                  • #10
                    nein das tutorial basiert nicht auf einer datenbank. es befindet sich genau auf dieser seite!! unter tutorials. der eintrag soll in der gaestebuch.txt gespeichert werden. das funktioniert aber nicht, da wenn man auf den button klickt absolut nichts passiert

                    Kommentar


                    • #11
                      Original geschrieben von defcon
                      nein das tutorial basiert nicht auf einer datenbank. es befindet sich genau auf dieser seite!! unter tutorials.
                      Das weiß ich. Hast du meine Frage nicht richtig gelesen?

                      der eintrag soll in der gaestebuch.txt gespeichert werden. das funktioniert aber nicht, da wenn man auf den button klickt absolut nichts passiert
                      Darum ging ja meine Frage weil du in deinem einen Post folgendes geschrieben hast:
                      es funzt weder auf meinem lokalen php/sql fähigen webserver noch auf anderen.
                      Jetzt noch mal meine Frage: Willst du oder musst du es unbedingt mit einer TXT-Datei machen oder kannst du es auch mit einer DB machen?
                      *winks*
                      Gilbert
                      ------------------------------------------------
                      Hilfe für eine Vielzahl von Problemen!!!
                      http://www.1st-rootserver.de/

                      Kommentar


                      • #12
                        Habe jetzt mal das Script einwenig abgeändert:
                        PHP-Code:
                        <head> 
                        <title>Eintragen</title> 
                        </head> 
                        <body bgcolor="#FFFFFF"> 
                        <?php 
                        if ($add == "Eintragen")
                            { 
                            if (
                        $name == "" || $mail == "" || $text == "")
                                { 
                                echo 
                        "<b>Du hast nicht alle Felder ausgefüllt !</b><br>"
                                echo 
                        "Klicke auf den Backbutton deines Browsers"
                                } 
                            else
                                { 
                                if (
                        $www == "")
                                    { 
                                    
                        $eintrag "$mail||$name||$text||"
                                    } 
                                else
                                    { 
                                    
                        $eintrag "$mail||$name||$text||$www"
                                    } 
                                
                        $MyFile fopen("gaestebuch.txt","a");
                                if(!(
                        $MyFile))
                                    {
                                    print(
                        "Datei $MyFile konnte nicht zum schreiben geöffnet werden.");
                                    exit;
                                    } 
                                
                        fwrite($MyFile,$eintrag."\n"); 
                                
                        fclose($MyFile); 
                                echo 
                        "Danke <i>$name</i> für deinen Eintrag"
                                } 
                            }
                        else
                            { 
                        ?> 
                        <font face="Verdana" size="1"> 
                        <b>Eintragen in mein Gästebuch</b><br> 
                        <form action="eintragen.php" method="get"> 
                        Dein Name: <input type="text" name="name" size="24"><br> 
                        E-Mail: <input type="text" name="mail" size="24"><br> 
                        Homepage: <input type="text" name="www" size="24"><br> 
                        <br> 
                        Dein Eintrag:<br> 
                        <textarea name="text" cols="35" rows="5"></textarea><br>
                        <input type="submit" value="Eintragen" name="add"> 
                        </form></font> 
                        <?php 
                            

                        ?> 
                        </body> 
                        </html>
                        Hier noch eine Zweite Variante die geht:
                        PHP-Code:
                        <head> 
                        <title>Eintragen</title> 
                        </head> 
                        <body bgcolor="#FFFFFF"> 
                        <?php 
                        if ($action == "add")
                            { 
                            if (
                        $name == "" || $mail == "" || $text == "")
                                { 
                                echo 
                        "<b>Du hast nicht alle Felder ausgefüllt !</b><br>"
                                echo 
                        "Klicke auf den Backbutton deines Browsers"
                                } 
                            else
                                { 
                                if (
                        $www == "")
                                    { 
                                    
                        $eintrag "$mail||$name||$text||"
                                    } 
                                else
                                    { 
                                    
                        $eintrag "$mail||$name||$text||$www"
                                    } 
                                
                        $MyFile fopen("gaestebuch.txt","a");
                                if(!(
                        $MyFile))
                                    {
                                    print(
                        "Datei $MyFile konnte nicht zum schreiben geöffnet werden.");
                                    exit;
                                    } 
                                
                        fwrite($MyFile,$eintrag."\n"); 
                                
                        fclose($MyFile); 
                                echo 
                        "Danke <i>$name</i> für deinen Eintrag"
                                } 
                            }
                        else
                            { 
                        ?> 
                        <font face="Verdana" size="1"> 
                        <b>Eintragen in mein Gästebuch</b><br> 
                        <form action="eintragen.php?action=add" method="post"> 
                        Dein Name: <input type="text" name="name" size="24"><br> 
                        E-Mail: <input type="text" name="mail" size="24"><br> 
                        Homepage: <input type="text" name="www" size="24"><br> 
                        <br> 
                        Dein Eintrag:<br> 
                        <textarea name="text" cols="35" rows="5"></textarea><br>
                        <input type="submit" value="Eintragen"> 
                        </form></font> 
                        <?php 
                            

                        ?> 
                        </body> 
                        </html>
                        Und jetzt geht es!!! Habe es auch getestet!!!
                        *winks*
                        Gilbert
                        ------------------------------------------------
                        Hilfe für eine Vielzahl von Problemen!!!
                        http://www.1st-rootserver.de/

                        Kommentar


                        • #13
                          oh klingt, gut
                          Design und Art Forum unter www.DesignerArea.de :] # Your place for creativity #

                          Kommentar


                          • #14
                            Zeilenumbrüche darstellen

                            Hallo,

                            bin absolut neu im php-Bereich (also bitte nachsicht!). Ich habe dieses Gästebuch nachgebaut und würde gerne Zeilenumbrüche damit darstelle, da dies bei mir nicht geschieht.
                            Dies müsste doch eigentlich mit nl2br funktionieren, wenn mir jetzt noch jemand weiterhelfen könnte z.B. wo wäre dies wirklich super.

                            drpepper

                            P.S.ies ist zwar ein anderes Thema, aber da der Quelltext noch oben steht...

                            Kommentar


                            • #15
                              PHP-Code:
                              <head> 
                              <title>Eintragen</title> 
                              </head> 
                              <body bgcolor="#FFFFFF"> 
                              <?php 
                              if ($action == "add") { 
                                  if (
                              $name == "" || $mail == "" || $text == "") { 
                                      echo 
                              "<b>Du hast nicht alle Felder ausgefüllt !</b><br>"
                                      echo 
                              "Klicke auf den Backbutton Deines Browsers"
                                  } else { 
                                      
                              // **** attentione ****
                                      
                              $eintrag str_replace("\r","",str_replace("\n","",nl2br($eintrag))); 

                                      
                              $MyFile fopen("gaestebuch.txt","a");
                                      if(!(
                              $MyFile)) {
                                          echo 
                              "Datei $MyFile konnte nicht zum Schreiben geöffnet werden.";
                                          exit;
                                      } 
                                      
                              fwrite($MyFile,$eintrag."\n"); 
                                      
                              fclose($MyFile); 
                                      echo 
                              "Danke <i>$name</i> für Deinen Eintrag"
                                  } 
                              } else { 
                                  
                              ?> 
                                  <font face="Verdana" size="1"> 
                                  <b>Eintragen in mein Gästebuch</b><br> 
                                  <form action="a.php?action=add" method="post"> 
                                  Dein Name: <input type="text" name="name" size="24"><br> 
                                  E-Mail: <input type="text" name="mail" size="24"><br> 
                                  Homepage: <input type="text" name="www" size="24"><br> 
                                  <br> 
                                  Dein Eintrag:<br> 
                                  <textarea name="text" cols="35" rows="5"></textarea><br>
                                  <input type="submit" value="Eintragen"> 
                                  </form></font> 
                                  <?php 

                              ?> 
                              </body> 
                              </html>

                              Kommentar

                              Lädt...
                              X