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

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

  • #16
    noch eine Frage...

    erstmal Danke für die Antwort, hat super geklappt!

    ..sorry, aber ich habe da noch eine Sache, die ich geren Ändern würde, und zwar ist es ja so, dass im moment noch alle Einträge an das Ende der Txt-Datei geschrieben werden:

    $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";

    kann ich die Textdatei nicht über eine Temporäre Variabele, nachdem ich den neuen Eintrag in die Textdatei (und zwar ganz oben)geschrieben habe wieder hinten anhängen?
    Meine versuche sind bisher immer schief gegeangen (newbie )

    drpepper

    Kommentar


    • #17
      Das würde ich nicht machen. Ist zu Serverlastig. Lese doch einfach die TXT-Datei in umgekehrter Reihenfolge aus.
      *winks*
      Gilbert
      ------------------------------------------------
      Hilfe für eine Vielzahl von Problemen!!!
      http://www.1st-rootserver.de/

      Kommentar


      • #18
        bitte etwas genauer

        das auslesen in umgekehrter Reihenfolge müsste dann wahrscheinlich in der PhP-Datei erfolgen, in der isch die die Txt-Datei anzeige.

        Bisher mache ich dies so:
        <?php
        include("gaestebuch.txt");
        ?>

        kann ich vielleicht einen etwas genaueren Tipp haben, da ich das Gästebuch bald fertig haben muss, (dann werde ich mir die Zeit nehmen ein gescheites PHP Buch zu besorgen!)

        drpepper

        Kommentar


        • #19
          PHP-Code:
          <html>
          <head> 
          <title>Eintragen</title> 
          </head> 
          <body bgcolor="#FFFFFF"> 
          <?php 

          $WhichFile 
          "gaestebuch1.txt";

          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 { 
                  
          $eintrag "$mail||$name||$text||$www"
                  
          $eintrag str_replace("\r","",str_replace("\n","",nl2br($eintrag))); 

                  
          // **** attentione ****        
                  
          @$MyFile fopen($WhichFile,"r"); // File lesend öffnen 
                  
          if ($MyFile) {
                      while (!
          feof($MyFile)) { 
                          
          $backup[] = fgets($MyFile4096);
                      }
                  @
          fclose($MyFile);
                  }
                  
                  
          $MyFile fopen($WhichFile,"w"); // File schreibend öffnen 
                  
          if(!($MyFile)) {
                      echo 
          "Datei $MyFile konnte nicht zum Schreiben geöffnet werden.";
                      exit;
                  } 
                  
          fputs($MyFile,$eintrag."\n");
                  for (
          $i=0;$i<sizeof($backup);$i++) {
                      
          fputs($MyFile,$backup[$i]);
                  }
                  
          fclose($MyFile); 
                  echo 
          "Danke <i>$name</i> für Deinen Eintrag<br>"
                  
          //print "<hr>";
                  //readfile($WhichFile);
                  //print "<hr>";
              

          } else { 
              
          ?> 
              <font face="Verdana" size="1"> 
              <b>Eintragen in mein Gästebuch</b><br> 
              <form action="<?=$PHP_SELF?>?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


          • #20
            versuchs mal mit der method="post" statt get


            grüsse Viper1985
            First: Things get worse under pressure.
            Second: If anything just cannot go wrong, it will anyway
            Third: A falling object will always land where it can do the most damage.

            Kommentar


            • #21
              ich hab mal euer script getestet und es funktioniert bei mir leider nicht

              http://kom4arom4.dyndns.org/www/KOma...aestebuch1.php


              bin leider auch noch newbie

              Kommentar


              • #22
                Ich komm leider nicht auf die Seite hin, aber anstatt
                $PHP_SELF schreib mal $_SERVER["PHP_SELF"]

                Kommentar


                • #23
                  daran lag es leider nicht

                  http://kom4arom4.dyndns.org/www/KOma...aestebuch2.php

                  die fehlermeldung lautet :
                  <code>
                  Undefined variable: action in G:\www\KOmaAroma\php\TMP3hi6580wlt.php on line 10

                  </code>


                  if ($action == "add") { is in Zeile 10, irgendwas stimmt damit nich

                  Kommentar


                  • #24
                    Welche WAMPP Version benutzt du?
                    *winks*
                    Gilbert
                    ------------------------------------------------
                    Hilfe für eine Vielzahl von Problemen!!!
                    http://www.1st-rootserver.de/

                    Kommentar


                    • #25
                      WAMPP ?

                      keine Ahnung

                      aba hier ist die php info von mein php server http://kom4arom4.dyndns.org/www/KOma...hp/phpinfo.php

                      ich benutze PHP Version 4.2.3 und Apache/2.0.43

                      Kommentar


                      • #26
                        Dein Errorhandling ist zu stark eingestellt. Probier das mal auf einen normalen Webspace aus.
                        *winks*
                        Gilbert
                        ------------------------------------------------
                        Hilfe für eine Vielzahl von Problemen!!!
                        http://www.1st-rootserver.de/

                        Kommentar


                        • #27
                          Original geschrieben von Wotan
                          Dein Errorhandling ist zu stark eingestellt. Probier das mal auf einen normalen Webspace aus.
                          Wie und wo stellt man denn das Error-Handling ein ?

                          Kommentar


                          • #28
                            Such mal in der PHP.ini nach folgenden Wörtern:
                            E_ALL & ~ E_NOTICE
                            *winks*
                            Gilbert
                            ------------------------------------------------
                            Hilfe für eine Vielzahl von Problemen!!!
                            http://www.1st-rootserver.de/

                            Kommentar


                            • #29
                              Du kannst die "Empfindlichkeit" auch während der Laufzeit für das Skript selbst verändern. Wenn Du am Anfang Deines Skriptes folgendes Statement schreibst
                              PHP-Code:
                              <?
                              error_reporting(E_ALL & ~E_NOTICE);
                              ?>
                              <html>
                              <head> 
                              <title>Eintragen</title> 
                              </head> 
                              <body bgcolor="#FFFFFF"> 
                              <?php 
                              // ......
                              http://php3.de/manual/de/function.error-reporting.php

                              Kommentar


                              • #30
                                Such in der PHP.ini folgenden Absatz:
                                Code:
                                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                ; Error handling and logging ;
                                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                
                                ; error_reporting is a bit-field.  Or each number up to get desired error
                                ; reporting level
                                ; E_ALL             - All errors and warnings
                                ; E_ERROR           - fatal run-time errors
                                ; E_WARNING         - run-time warnings (non-fatal errors)
                                ; E_PARSE           - compile-time parse errors
                                ; E_NOTICE          - run-time notices (these are warnings which often result
                                ;                     from a bug in your code, but it's possible that it was
                                ;                     intentional (e.g., using an uninitialized variable and
                                ;                     relying on the fact it's automatically initialized to an
                                ;                     empty string)
                                ; E_CORE_ERROR      - fatal errors that occur during PHP's initial startup
                                ; E_CORE_WARNING    - warnings (non-fatal errors) that occur during PHP's
                                ;                     initial startup
                                ; E_COMPILE_ERROR   - fatal compile-time errors
                                ; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
                                ; E_USER_ERROR      - user-generated error message
                                ; E_USER_WARNING    - user-generated warning message
                                ; E_USER_NOTICE     - user-generated notice message
                                ;
                                ; Examples:
                                ;
                                ;   - Show all errors, except for notices
                                ;
                                error_reporting = E_ALL & ~E_NOTICE
                                ;
                                ;   - Show only errors
                                ;
                                ;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
                                ;
                                ;   - Show all errors
                                ;
                                ;error_reporting  =  E_ALL
                                
                                ; Print out errors (as a part of the output).  For production web sites,
                                ; you're strongly encouraged to turn this feature off, and use error logging
                                ; instead (see below).  Keeping display_errors enabled on a production web site
                                ; may reveal security information to end users, such as file paths on your Web
                                ; server, your database schema or other information.
                                display_errors = On
                                Und ändere ihn so wie ich es hier gepostet habe, dann sollten auch die Fehlermeldung weg sein.
                                *winks*
                                Gilbert
                                ------------------------------------------------
                                Hilfe für eine Vielzahl von Problemen!!!
                                http://www.1st-rootserver.de/

                                Kommentar

                                Lädt...
                                X