gästebuch problem

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

  • gästebuch problem

    servus,

    ich habe ein gästebuch gebastelt, es greift auf eine textdatei zu.
    ich habe jetzt das problem:

    ich möchte das script auf meinem rechner zu hause laufen lassen, es funktioniert bis zu dem zeitpunkt, wo er die daten schicken soll, ich bekomme dann diverse fehlermeldungen, wie "undifined variable"
    kein plan wieso,

    habe mir zum vergelich andere scripte gedownloaded, aber da ist es auch so.

    muss an meiner software liegen, jemand nen vorschlag was ich machen soll?



    vielen dank im vorraus

  • #2
    Salut

    poste doch mal etwas von deinem Code. Ohne diesen wird es schwierig.

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      #die Startseite#


      <HTML>
      <HEAD>
      <TITLE>Gästebuch</TITLE>
      </HEAD>
      <BODY>
      <a href="eintrag.php">eintragen</a><br><br>
      <?php
      include("gbuch.txt");
      ?>
      </BODY>
      </HTML>


      #########################

      <HTML>
      <HEAD>
      <TITLE>Eintrag ins Gästebuch</TITLE>
      </HEAD>
      <BODY>
      <FORM action="auswertung.php" method="post"><br>
      Name: <input type="text" name="nname" size="35"><br>
      Email: <input type="text" name="email" size="35"><br>
      Homepage: <input type="text" name="hpage" size="35"><br>
      Kommentar: <textarea name="kommentar" rows="6" cols="56"></textarea><br>
      <input type="submit" name="FERT" value="eintragen"><br>
      <INPUT type="RESET" value=" löschen "><br>
      </FORM>
      </BODY>
      </HTML>

      ###########################

      <HTML>
      <HEAD>
      <TITLE>Senden der Daten</TITLE>
      </HEAD>
      <BODY>
      <?php


      $kommentar = stripslashes ($kommentar);
      $kommentar = trim ($kommentar);
      $nname = stripslashes ($nname);
      $nname = trim ($nname);
      $hpage = stripslashes ($hpage);
      $hpage = trim ($hpage);
      $email = stripslashes ($email);
      $email = trim ($email);

      if (empty($kommentar))
      { echo "Sie keinen Kommentar eingegeben.<br>";
      echo "Klicken Sie <a href=\"javascript:history.back()\">hier</a>, um zum Formular zurückzukehren und die Fehler zu beheben."; }

      else
      if(!ereg(".+@.+\..+", $email)&& !empty($email)) {
      echo "Die Email-Adresse ist falsch.<br>";
      echo "Klicken Sie <a href=\"javascript:history.back()\">hier</a>, um zum Formular zurückzukehren und die Fehler zu beheben."; }

      else
      if (empty($nname))
      { echo "Sie haben Ihren Namen nicht eingegeben.<br>";
      echo "Klicken Sie <a href=\"javascript:history.back()\">hier</a>, um zum Formular zurückzukehren und die Fehler zu beheben."; }




      {
      $i=1;
      $gbfile=fopen("gbuch.txt","r");
      while (!feof($gbfile)) {
      $zeile[$i]=fgets($gbfile,10000);
      $i++;
      }
      fclose($gbfile);

      $nname2="Name: ".$nname."<br>";
      if (!empty($email)) {
      $email2="Email: <a href=\"mailto:".$email."\">".$email."</a><br>"; }
      else {
      $email2=""; }
      if (!empty($hpage)) {
      $hpage2="Homepage: <a href=\"".$hpage."\">".$hpage."</a><br>";
      } else {
      $hpage2=""; }


      $j=1;
      $gbfile=fopen("gbuch.txt","w");
      fputs ($gbfile,"$nname2$email2$hpage2$kommentar<hr>\n");
      while ($j<$i) {
      fputs ($gbfile,"$zeile[$j]");
      $j++;
      }
      fclose($gbfile);

      echo "Die Daten wurden gesendet.<br><a href=\"gaestebuch.php\">Gästebuch erneut anschauen</a>";
      }
      ?>
      </BODY>
      </HTML>

      #####################

      die textdatei ist im selben ordner


      #########


      bitt schön

      Kommentar


      • #4
        PHP-Code:
        $kommentar stripslashes ($kommentar); 
        Du solltest nicht direkt auf die Variabeln zugreifen, die der User per Form schickt.

        PHP-Code:
        $kommentar $_POST["kommentar"
        ist der sichere Weg (v.a. dort wo der Provider php mit register_globals Off kompiliert hat.

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          also du sagt ich soll das bei allen variablen ändern, ok ich versuchs

          Kommentar


          • #6
            Notice: Undefined index: kommentar in C:\Dokumente und Einstellungen\weisserAdler\Desktop\HP\gaestebuch_1\gaestebuch_1\php2A7.tmp on line 9

            Notice: Undefined index: nname in C:\Dokumente und Einstellungen\weisserAdler\Desktop\HP\gaestebuch_1\gaestebuch_1\php2A7.tmp on line 11

            Notice: Undefined index: hpage in C:\Dokumente und Einstellungen\weisserAdler\Desktop\HP\gaestebuch_1\gaestebuch_1\php2A7.tmp on line 13

            Notice: Undefined index: email in C:\Dokumente und Einstellungen\weisserAdler\Desktop\HP\gaestebuch_1\gaestebuch_1\php2A7.tmp on line 15


            ###################

            die neuen fehlermeldungen :-)

            ####################

            ich geh kaputt, fehlt mir etwas was ich für die scriptausführung brauche?

            Kommentar


            • #7
              Salut

              ich bin zwar auch noch nicht so lange mit PHP unterwegs, aber müsste
              C:\Dokumente und Einstellungen\weisserAdler\Desktop\HP\gaestebuch_1\gaestebuch_1\php2A7.tmp
              nicht mit *.php enden ??

              Gruss

              tobi
              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

              Kommentar


              • #8
                schon, das witzige ist, das macht der von alleine, ich kenn die datei nicht. ich denke mal der legt sie für die fehlerausgaben an, ich habe keinen plan

                Kommentar


                • #9
                  Salut

                  mach mal
                  PHP-Code:
                  print "$kommentar"
                  Gibt er etwas aus oder ist die Var leer ??

                  Gruss

                  tobi
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar


                  • #10
                    sorry ich hab im moment kein plan wie das geht? bin auch erst 2 wochen dabei, er sagt dann einmal syntax error und wenn ich bissl rumbastel mal wieder undefinierte variable

                    Kommentar


                    • #11
                      Salut

                      tja da geht's dir gleich wie mir

                      Ein Ansatz beim Fehlersuchen ist immer alle Variabeln mal zu printen, damit du sofort siehst ob eine allenfalls nicht gesetzt ist.
                      sorry ich hab im moment kein plan wie das geht?
                      Ganz einfach:

                      Du schicktst die Daten ja an auswertung.php Dann gibt den print einfach am Ende dieser PHP-Datei an. Am besten printest du alle Vars damit du sicher sein kannst, dass Sie gesetzt sind.

                      Gruss

                      tobi
                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar


                      • #12
                        Der Errorlevel Deiner PHP-Interpreter-Installation ist auf E_NOTICE gesetzt. Das ist gut, damit gewöhnt man sich guten Programmierstil an. Auf einem Live-Webserver sollte das allerdings nicht angeschaltet sein. Aber dem Pfad

                        C:\Dokumente und Einstellungen\weisserAdler\Desktop\HP
                        entnehme ich, daß das auch nicht der Fall ist

                        Kommentar

                        Lädt...
                        X