Problem mit dem Gbook Tutorial.

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

  • Problem mit dem Gbook Tutorial.

    Hallao ich habe das geästebucg Tutorial von dieser seite

    link zum tutorial
    http://www.tutorial-project.de/php/t...php?tut_id=215
    nach gebaut,
    nur kommt halt in problem, in dem tut gibt es ja ein absende button, doch bei mir nicht,

    und wie soll dann der gbook eintrag abgeschickt/gespeichert werden ohne bestätigung.

    ich habe auch schon einen button eingefügt doch funkt net.

    also an den chmod rechten kann es doch net liegen da ich noch keine verteilt habe, bin net an meinem pc.

    hier der code von tutorial:

    <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>

  • #2
    Re: Problem mit dem Gbook Tutorial.

    ich habe auch schon einen button eingefügt doch funkt net.
    Und genauer?
    also an den chmod rechten kann es doch net liegen da ich noch keine verteilt habe, bin net an meinem pc.
    Wie soll man das verstehen? "Mein Auto sprint nicht an, aber am Zündschlüssel kann es nicht liegen, den habe ich nicht..."
    Was passiert denn, wenn du einen submit button hinzufügst? Und für alle, die das Tut ohne den häßlichen Frame sehen wollen
    http://www.php-resource.de/tutorials/read/11/1/

    Kommentar


    • #3
      ja in dem tut ist ja nirgendswo ein button eingebunden den man bestätigen muss um den eintrag einzutragen.

      hier ist das wo ich den button eingefügt habe

      <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>

      [COLOR=red]
      <input type="submit" value="add" name="add"> <input type="reset" value="Zurücksetzen" name="zuruecksetzen">
      [/COLOR]

      </form></font>
      <?php
      }
      ?>
      </body>

      </html>

      es passiert halt nichts, wenn man drauf drückt.

      und nur mal so der beispiel mit auto hat net gepasst

      Kommentar


      • #4
        Original geschrieben von Bobik
        und nur mal so der beispiel mit auto hat net gepasst
        .....ohne Worte ....
        mach mal ein hidden Feld dazu und verpass diesem name="action" value="add", aber auch wenn es in dem Tutorial steht... Ich kann dir nur raten das ganze per "post" und nicht mit "get" zu machen...

        Kommentar


        • #5
          das tutorial ist offensichtlich veraltet.
          informiere dich über das stichwort register_gloabls und superglobale arrays wie $_POST und $_GET.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            ok danke, werde mich mal darüber informieren.

            Kommentar


            • #7
              sowas gibst doch nicht,

              da ich habe ich ein problem gelöst aber nun kommt ein anderes

              also ist si eintragen und so geht alles nur wenn man einen neun antrag macht wird der alte übergeschrieben.

              also es sieht das immer so aus damm da nur ein eintrag steht.

              hier koennt ihr das testen,
              http://aobars.cybton.com/php/zeigen.php

              nur halt 2 mal ausprobieren.

              <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 == ""){
              $eintraege = "<a href=\"mailto:$mail\">$name</a><br>$text";
              }
              else{
              $eintraege = "<a href=\"mailto:$mail\">$name</a>

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

              [COLOR=blue]

              //sool dafür sorgen dafür dass beiträge sortiert werden.


              $alteEintraege=file("gaestebuch.txt");
              $AnzahlDerEintraege=count($alteEintraege);
              $eintraege="$eintraege$alteEintraege[0]";


              for ($z=1; $z<$AnzahlDerEintraege; $z++)
              {
              $eintraege="$eintraege$alteEintraege[$z]";
              }
              [/COLOR]

              // was kann man machen das der beitrag den übeschrieben wird.
              oder dass nach jedem neun beitrag der um paar zeilen nach unten veschoben wird.

              [COLOR=red]
              $datei = fopen("gaestebuch.txt","w+");
              fputs($datei,$eintraege);
              fclose($datei);

              [/COLOR]

              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>
              <input type="submit" name="action" value="add">

              </form></font>
              <?php
              }
              ?>
              </body>

              </html>
              Zuletzt geändert von Bobik; 02.06.2005, 13:33.

              Kommentar


              • #8
                Guck erstmal kurz hier
                und dann fopen

                Kommentar


                • #9
                  ja aber dafür ist eigentlich die sortier funktion da, oder kann man das sirgendwie machen dass es nach jedem neun beitrag , der nach unter verschoben wird.

                  oder koennte man es mit arrays einstellen dass, es immer eine neue txt datei erstellt wird, wenn jemand beitrag schreibt, und dort abgespeichert wird und in einen ordner abgelegt wird.

                  Kommentar


                  • #10
                    .... ..... .... Schon mal nach dem Unterschied zwischen 'w+' und 'a+' geguckt?

                    Kommentar


                    • #11
                      ja w setz es oben und dateu auf 0 byte also löscht alles halt, und a setzt es nach unten.

                      besteht eingentlich kein sehr grosser unterschied zwischen a und w, halt bur positions bereich und dass w komplet den inhalt der datei löscht

                      es koennte docha ber auch mit w gehen, wenn alte beiträge in eine temponere variable gespeichert werden koennten und nach dem eintrag eines neus beitrag, dazu hingefügt und dass es sich so immer wiederholt.

                      na ok versuche mal mal mit a.

                      danke.
                      Zuletzt geändert von Bobik; 02.06.2005, 13:47.

                      Kommentar


                      • #12
                        Wenn du mir den Sinn des Zwischenspeicherns nennen kannst?..

                        Kommentar


                        • #13
                          also ich kenne das von c++

                          der sin ist der wenn man z.b ein da ein sortierungs algorythmus erstellen will braucht man den temoponeren speicher.


                          z.b

                          a=2
                          b=3
                          c=1

                          nun will man hier es vlht so machen das es net anch alphabet geht sondern anch höhe der zahlen.

                          also 1,2,3
                          dann kann man ja net sagen das a=c sein soll da dann der ihnalt von a verloren geht, so dazu nutz man die temp variable das heisst bevor a=c wird wird temp=a sein , und nach dem heisst das
                          so temp=a --> a=c ---> c=temp

                          also zu mindestens ist das bei c++ so.

                          und koennte man das jetzt so machen, dass bevor der neu eintrag gespeichert wird , das der inhalt des alten gelsen wird und in eine temponere variabel gespeichert wird, und dann wenn der neu eintrag eingefügt wurde, dass dann zu dem neun eintrag der alte inhalt noch dazu eingefügt wird.

                          Kommentar


                          • #14
                            ich kann mir nicht vorstellen nach welchen Kriterien man bei einem Gästebuch die Einträge sortieren sollte, wenn nicht nach dem datum. Und das erreicht man durch ie Reihenfolge, wie sie in der Datei steht.
                            Ansonsten schau dir
                            fread
                            array_push
                            und ggf. noch
                            explode
                            implode
                            an..

                            Kommentar


                            • #15
                              nein es muss nicht unbedingt sortiert werden, sondern da w+ den inhalt der datei löscht und ersetzt.
                              sollte es bevor das passiert der alte inhalt der datein gelesen werden und in eine variable gespeichert werden und dann wird ja durch w+ der neu beitrag in die datei eingefügt und mit ihm soll dann der alte inhalt der in einer variable gespeichert wurde eingefügt werden.

                              oder geht es so dass es für jeden neun beitrag in gästebuch einen neu datei erstellt wird und z.b bennan t wird mit dem namen und datum des einträgers.

                              Kommentar

                              Lädt...
                              X