Hilfe bei Gäastebuch

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

  • Hilfe bei Gäastebuch

    ich weis ist ein oft behandeltes thema aber ich komme nicht weiter auch nciht durch tutorials usw..

    Bin in sachen PHP ein laie und hab keine ahnung von programmieren und durch viel zeit alles alleine gemacht (meine HP usw...)

    jetzt möchte ich ein GB einfügen das auf der Hauptseite (bei mir; Gaestebuch.html.) das formular ist und auch die ausgabe stattfindet.

    Gespreichert soll es normal in der gaestebuch.txt werden.

    hier mal die ganze Gaetebuch.html

    PHP-Code:
     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Anmeldeformular</title>
    <style type="text/css">
    <!--
    body table tr th table tr td div {
     font-family: "Book Antiqua";
     font-size: 24px;
    }
    body {
     background-color: #903;
    }
    a:link {
     color: #000;
     text-decoration: none;
    }
    a:visited {
     text-decoration: none;
     color: #000;
    }
    a:hover {
     text-decoration: none;
     color: #FFF;
    }
    a:active {
     text-decoration: none;
     color: #FFF;
    }
    .Heading1.style1 strong {
     font-size: 36px;
     color: #FFF;
     font-family: Dragonfly;
    }
    .style26 { font-family: "Book Antiqua";
     font-size: 24px;
    }
    .style27 { font-family: Dragonfly;
     font-size: 36px;
     color: #FFFFFF;
    }
    .Textfield tr td div {
     font-family: Book Antiqua;
     font-size: 24px;
     font-weight: bold;
    }
    .Textfield tr td div p label {
     font-size: 16px;
    }
    .Textfield tr td div #form1 label {
     font-size: 16px;
    }
    #EMail {
     display: none;
    }
    input {
    }
    -->
    </style>
    </head>
    <body>
    <div style="width:1024px; text-align: center;" align="center">
      <table width="100%" height="198" border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
          <th scope="row"><table width="100%" height="42" border="0" cellpadding="0" cellspacing="0">
            <tr>
              <th width="25%" scope="row">&nbsp;</th>
              <td width="100%"><a href="Home.html"><img src="../Bilder/Sensnes_2.jpg" alt="" width="647" height="152s" border="0" /></a></td>
            </tr>
          </table>
            <table width="100%" height="30" border="0" cellpadding="0" cellspacing="0">
              <tr>
                <th width="20%" scope="row">&nbsp;</th>
                <td width="80%"><div align="center">G&auml;stebuch</div></td>
              </tr>
            </table>
            <a href="../Home1.html"></a></th>
        </tr>
      </table>
      <table width="1024" height="386" border="0">
        <tr valign="top">
          <td width="200" height="382"><table width="100%">
            <tr>
              <td><a href="Home.html"><img src="../Bilder/Buttons/Button1.jpg" alt="" width="190" height="45" border="0" /></a></td>
            </tr>
            <tr>
              <td><a href="Ueber uns.html"><img src="../Bilder/Buttons/Button2.jpg" alt="" width="190" height="45" border="0"  /></a></td>
            </tr>
            <tr>
              <td><a href="Sensnes Dance.html"><img src="../Bilder/Buttons/Button3.jpg" alt="" width="190" height="45" border="0" /></a></td>
            </tr>
            <tr>
              <td><a href="Galerie.html"><img src="../Bilder/Buttons/Button4.jpg" alt="" width="190" height="45" border="0" /></a></td>
            </tr>
            <tr>
              <td><a href="Links.html"><img src="../Bilder/Buttons/Button5.jpg" alt="" width="190" height="45" border="0" /></a></td>
            </tr>
            <tr>
              <td><a href="News.html"><img src="../Bilder/Buttons/Button6.jpg" alt="" width="190" height="45" border="0" /></a></td>
            </tr>
            <tr>
              <td><a href="Kontakt.html"><img src="../Bilder/Buttons/Button7.jpg" alt="" width="190" height="45" border="0" /></a></td>
            </tr>
            <tr>
              <td><a href="Gaestebuch.html"><img src="../Bilder/Buttons/Button8.jpg" alt="" width="190" height="45" border="0" /></a></td>
            </tr>
            <tr>
              <td><a href="TrainerInnenausbildung.html"><img src="../Bilder/Buttons/Button9.jpg" alt="" width="190" height="45" border="0" /></a></td>
            </tr>
          </table>        <p><a href="Schnuppeworkshops.html"><img src="../Bilder/Buttons/Button_Schnupper.jpg" alt="" width="190" height="120" border="0" /></a></p></td>
          <td width="800"><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="Textfield">
            <tr>
              <th width="4%" scope="row">&nbsp;</th>
              <td width="92%" valign="middle"><p>&nbsp;</p></td>
              <td width="4%">&nbsp;</td>
            </tr>
            <tr>
              <th scope="row">&nbsp;</th>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <th scope="row">&nbsp;</th>
              <td align="center" valign="middle"><strong class="style26">WIRD &Uuml;BERARBEITET!!</strong></td>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <th height="394" scope="row">&nbsp;</th>
              <td>
              <form action="neuerbeitrag.php" method="post">
                <div align="center">Ihr Name:<br>
      <input name="Name" size="40" /> <label for="name"></label><br>
      <?php
             
    if (isset($_POST['sent']))
             {
          if (
    $bln_Name_Empty == TRUE)
          {
              echo 
    "<span style=\"color:red\">Name darf nicht leer sein!</span>"
          }
          if (
    $bln_Name_Error == TRUE)
          {
              echo 
    "<span style=\"color:red\">Name darf nur aus Buchstaben bestehen! (mind. 2)</span>"
          }
             }
             
    ?>
      <br>
      <input name="EMail" size="40" id="EMail" type="text">
      <input style="display:none" />
    <?php
     
      
    if(strpos($text"http://") !== false ||
    ereg("(www.[a-zA-Z0-9_-]+)\.([a-zA-Z0-9.]+)",$text)){
        echo 
    "Bitte keine URLs posten";
    } else {
    //Beitrag speichern
    ?>
    <br>              
                  Inhalt:<br>
     
      <textarea name="inhalt" cols="40" rows="12"
    wrap="physical"></textarea>
      <br>
      <input type="submit" value="Absenden">
                </div>
              </form>
     
    <?php 
       $beitrag 
    file("gaestebuch.txt"); 
       
    krsort($beitrag); 
       foreach(
    $beitrag as $ausgabe
        { 
          
    $ausgabe stripslashes($ausgabe); 
          
    $zerlegen explode("|"$ausgabe); 
          echo 
    "<table align='center' border='1' cellspacing='0' cellpadding='5' width='50%'> 
     <tr> 
      <td> 
       Von 
    $zerlegen[1] Geschrieben am: $zerlegen[2] 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <b> 
    $zerlegen[0] </b> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       
    $zerlegen[3] 
      </td> 
     </tr> 
    </table><br>"

        } 
      
    ?> 
     
              <div align="center">&nbsp;</div></td>
              <td>&nbsp;</td>
            </tr>
          </table></td>
        </tr>
      </table>
      <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
        <div id="footer">
          <p align="center" class="style16"></p>
          <tr>
            <th width="67%" scope="row">&nbsp;</th>
            <td width="10%"><div align="center"><a href="AGB.html">AGB</a></div></td>
            <td width="11%"><div align="center"><a href="Impressum.html">Impressum</a></div></td>
            <td width="12%"><div align="center">&copy; Adi Tamir  2009 </div></td>
          </tr>
        </div>
        <p></p>
      </table>
      </td>
      </tr>
      <p>&nbsp;</p>
    </div>
    </body>
    </html>
    So hier das Probelm wenn ich die Seite aufrufen will kommt FEHLER AUF LINE 253. Soweit geht es aber gar nicht. Wo liegt mein Fehler was muss ich ändern??

    UNd wie kann ich die nicht sichtbare Zeile als "SPAMSCHUTZ" einrichten. Muss ja eine "IF" rein geben dass wenn diese doch ausgefühlt ist bzw wird der Beitrag nciht gespeichert werden soll. Hilft das genug gegen Spam bots???

    Ich bitte um HILFE
    Danke im voraus
    lg
    Showav

  • #2
    Da unten in deinem Code wo das hier kommt:
    PHP-Code:
    </tr
     <
    tr
      <
    td
       
    $zerlegen[3
      </
    td
     </
    tr
    </
    table><br>"; 
        } 
      ?> 
    fehlt eine schließende geschweifte Klammer. Müsste also so aussehen:
    PHP-Code:
      </td
     </
    tr
     <
    tr
      <
    td
       
    $zerlegen[3
      </
    td
     </
    tr
    </
    table><br>"; 
        } 
      }
      ?> 
    Vielleicht solltest du auch nochmal ein paar Tutorials durcharbeiten, grade in Bezug auf eine bessere Formatierung des Codes. Und eventuell auch die Styleangaben, sowie die PHP Überprüfungen in externe Dateien auslagern.
    Ist alles recht unübersichtlich wie ich finde.

    Kommentar


    • #3
      hab einige tutorials durch gemacht und immer das gleiche Problem.

      Das mit der Klammer hat schon mal super geklappt zumindest sieht mann jetzt was aber es kommt eine Fehlermeldung auf den Zeilen 172,173 und 175

      welche diese sind

      PHP-Code:
        $beitrag file("gaestebuch.txt");  
         
      krsort($beitrag);  
         foreach(
      $beitrag as $ausgabe
      Diese Zeilen sind aber in jedem Tutorial genau gleich ohne abweichungen!

      Wie schon gesagt bin ich ein Laie und hab mir durch tutorials und eigene Tests das zustande gebracht das meine HP "gut" (für mich halt) aussieht und alles past.

      Nur halt das GB sollte noch bei zeiten drauf kommen! ALso danke vielmals für deine HIlfe. (hoffe auf weitere )
      danke im Voraus
      Lg

      Kommentar


      • #4
        Welche Fehlermeldung kommt denn da die diese beiden Zeilen betrifft? Erraten kann die hier niemand

        Kommentar


        • #5
          das ist es ja

          einfach nur fehler auf den obigen zeilen! sonst würde ich es ja posten

          Kommentar


          • #6
            Setz mal:
            Code:
            error_reporting(E_ALL | E_STRICT);
            ini_set("display_errors", 1);
            an den anfang deines scripts.

            Kommentar


            • #7
              Also hat schon mal was geklappt!

              Die Fehler sind folgende!

              Undefined variable in Gaestebuch.php on line 158 und 159 welche diese sind
              HTML-Code:
                <textarea name="inhalt" cols="40" rows="12" wrap="physical" id="Inhalt"></textarea><br>
                <input type="submit" value="Absenden">
              sind noch im Formular!

              nach dem Absenden kommt dann das

              Code:
              [B]Warning[/B]: fopen() expects at least 2 parameters, 1 given in [B]/home/adi/www.sensnes-dance.com/Seiten/neuerbeitrag.php[/B] on line [B]29[/B]
               
              [B]Warning[/B]: fwrite(): supplied argument is not a valid stream resource in [B]/home/adi/www.sensnes-dance.com/Seiten/neuerbeitrag.php[/B] on line [B]30[/B]
               
              [B]Warning[/B]: fclose(): supplied argument is not a valid stream resource in [B]/home/adi/www.sensnes-dance.com/Seiten/neuerbeitrag.php[/B] on line [B]31[/B]
              Ihr Eintrag wurde erfolgreich gespeichert
              hier die ganze Neuerbietrag.php

              PHP-Code:
              <html>
              <head>
              <title>Gästebuch - Speichere Beitrag</title>
              </head>
              <body>
              <?
              $user = $_POST["Name"];
              $user = htmlentities($user);
              $inhalt = $_POST["inhalt"];
              $inhalt = htmlentities($inhalt);
              $inhalt = str_replace("\n", "<br>", $inhalt);
              $email = $_POST["EMail"];
              $email = htmlentities($email);
              if ($inhalt == "" or $user == "")
                 {
                 echo "Sie müssen das Feld \"Namen\"
                 und \"Inhalt\" ausfüllen";
                 }
              else
                 {
               $datum= date("d.m.Y H:i:s");
                 $eintrag="$email|$user|$datum|$inhalt";
                 $datei = fopen("gaestebuch.txt");
                 fwrite($datei, "\n".$eintrag);
                 fclose($datei);
                 echo "Ihr Eintrag wurde erfolgreich gespeichert";
                 }
               
                 $beitrag = file("gaestebuch.txt");  
                 krsort($beitrag);  
                 foreach($beitrag as $ausgabe)  
                  {  
                    $ausgabe = stripslashes($ausgabe);  
                    $zerlegen = explode("|", $ausgabe);  
                    echo '<table align="center" border="1" cellspacing="0" cellpadding="5" width="50%">  
               <tr>  
                <td>  
                 Von '.$zerlegen[1].' Geschrieben am: '.$zerlegen[2].'  
                </td>  
               </tr>  
               <tr>  
                <td>  
                 <b> '.$zerlegen[0].' </b>  
                </td>  
               </tr>  
               <tr>  
                <td>  
                 '.$zerlegen[3].'  
                </td>  
               </tr>  
              </table><br>';  
                   } 
              ?>
              <br>
              <a href="gaestebuch.php">Zurück zum Gästebuch</a>
              </body>
              </html>
              Ich spüre aber bin kurz vor dem Ziel

              Kommentar


              • #8
                Hänge bitte auch mal deine gaestebuch.php Datei an.
                Und existiert bei dir die Text Datei: "gaestebuch.txt" ? Wenn nicht lege diese einmal mit deinem Texteditor mit leerem Inhalt an und speichere sie unter "gaestebuch.txt" in dem ordner wo deine Gästebuch Dateien liegen.

                Kommentar


                • #9
                  hier die gaestebuch.php komplett

                  Code:
                  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[URL]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/URL]">
                  <html xmlns="[url=http://www.w3.org/1999/xhtml]XHTML namespace[/url]">
                  <head>
                  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                  <title>Anmeldeformular</title>
                  <style type="text/css">
                  <!--
                  body table tr th table tr td div {
                   font-family: "Book Antiqua";
                   font-size: 24px;
                  }
                  body {
                   background-color: #903;
                  }
                  a:link {
                   color: #000;
                   text-decoration: none;
                  }
                  a:visited {
                   text-decoration: none;
                   color: #000;
                  }
                  a:hover {
                   text-decoration: none;
                   color: #FFF;
                  }
                  a:active {
                   text-decoration: none;
                   color: #FFF;
                  }
                  .Heading1.style1 strong {
                   font-size: 36px;
                   color: #FFF;
                   font-family: Dragonfly;
                  }
                  .style26 { font-family: "Book Antiqua";
                   font-size: 24px;
                  }
                  .style27 { font-family: Dragonfly;
                   font-size: 36px;
                   color: #FFFFFF;
                  }
                  .Textfield tr td div {
                   font-family: Book Antiqua;
                   font-size: 24px;
                   font-weight: bold;
                  }
                  .Textfield tr td div p label {
                   font-size: 16px;
                  }
                  .Textfield tr td div #form1 label {
                   font-size: 16px;
                  }
                  #EMail {
                   display: none;
                  }
                  input {
                  }
                  -->
                  </style>
                  </head>
                  <body>
                  <div style="width:1024px; text-align: center;" align="center">
                    <table width="100%" height="198" border="0" align="center" cellpadding="0" cellspacing="0">
                      <tr>
                        <th scope="row"><table width="100%" height="42" border="0" cellpadding="0" cellspacing="0">
                          <tr>
                            <th width="25%" scope="row">&nbsp;</th>
                            <td width="100%"><a href="Home.html"><img src="../Bilder/Sensnes_2.jpg" alt="" width="647" height="152s" border="0" /></a></td>
                          </tr>
                        </table>
                          <table width="100%" height="30" border="0" cellpadding="0" cellspacing="0">
                            <tr>
                              <th width="20%" scope="row">&nbsp;</th>
                              <td width="80%"><div align="center">G&auml;stebuch</div></td>
                            </tr>
                          </table>
                          <a href="../Home1.html"></a></th>
                      </tr>
                    </table>
                    <table width="1024" height="386" border="0">
                      <tr valign="top">
                        <td width="200" height="382"><table width="100%">
                          <tr>
                            <td><a href="Home.html"><img src="../Bilder/Buttons/Button1.jpg" alt="" width="190" height="45" border="0" /></a></td>
                          </tr>
                          <tr>
                            <td><a href="Ueber uns.html"><img src="../Bilder/Buttons/Button2.jpg" alt="" width="190" height="45" border="0"  /></a></td>
                          </tr>
                          <tr>
                            <td><a href="Sensnes Dance.html"><img src="../Bilder/Buttons/Button3.jpg" alt="" width="190" height="45" border="0" /></a></td>
                          </tr>
                          <tr>
                            <td><a href="Galerie.html"><img src="../Bilder/Buttons/Button4.jpg" alt="" width="190" height="45" border="0" /></a></td>
                          </tr>
                          <tr>
                            <td><a href="Links.html"><img src="../Bilder/Buttons/Button5.jpg" alt="" width="190" height="45" border="0" /></a></td>
                          </tr>
                          <tr>
                            <td><a href="News.html"><img src="../Bilder/Buttons/Button6.jpg" alt="" width="190" height="45" border="0" /></a></td>
                          </tr>
                          <tr>
                            <td><a href="Kontakt.html"><img src="../Bilder/Buttons/Button7.jpg" alt="" width="190" height="45" border="0" /></a></td>
                          </tr>
                          <tr>
                            <td><a href="Gaestebuch.html"><img src="../Bilder/Buttons/Button8.jpg" alt="" width="190" height="45" border="0" /></a></td>
                          </tr>
                          <tr>
                            <td><a href="TrainerInnenausbildung.html"><img src="../Bilder/Buttons/Button9.jpg" alt="" width="190" height="45" border="0" /></a></td>
                          </tr>
                        </table>        <p><a href="Schnuppeworkshops.html"><img src="../Bilder/Buttons/Button_Schnupper.jpg" alt="" width="190" height="120" border="0" /></a></p></td>
                        <td width="800"><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="Textfield">
                          <tr>
                            <th width="4%" scope="row">&nbsp;</th>
                            <td width="92%" valign="middle"><p>&nbsp;</p></td>
                            <td width="4%">&nbsp;</td>
                          </tr>
                          <tr>
                            <th scope="row">&nbsp;</th>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                          </tr>
                          <tr>
                            <th scope="row">&nbsp;</th>
                            <td align="center" valign="middle"><strong class="style26">WIRD &Uuml;BERARBEITET!!</strong></td>
                            <td>&nbsp;</td>
                          </tr>
                          <tr>
                            <th height="394" scope="row">&nbsp;</th>
                            <td>
                            <form action="neuerbeitrag.php" method="post">
                              <div align="center">Ihr Name:<br>
                    <input name="Name" size="40" /> <label for="name"></label><br>
                    <?php
                    
                    error_reporting(E_ALL | E_STRICT);
                  ini_set("display_errors", 1);
                           if (isset($_POST['Name']))
                           {
                        if ($bln_Name_Empty == TRUE)
                        {
                            echo "<span style=\"color:red\">Name darf nicht leer sein!</span>"; 
                        }
                        if ($bln_Name_Error == TRUE)
                        {
                            echo "<span style=\"color:red\">Name darf nur aus Buchstaben bestehen! (mind. 2)</span>"; 
                        }
                           }
                           ?>
                    <br>
                    <input name="EMail" size="40" id="EMail" type="text">
                    <input style="display:none" />
                  <?php
                    
                    if(strpos($text, "http://") !== false ||
                  ereg("([URL="http://www.[a-zA-Z0-9_-]+)\.([a-zA-Z0-9.]+)",$text"]www.[a-zA-Z0-9_-]+)\.([a-zA-Z0-9.]+)",$text[/URL])){
                      echo "Bitte keine URLs posten";
                  } else {
                  //Beitrag speichern
                  ?>
                  <br>              
                                Inhalt:<br>
                                
                    <textarea name="inhalt" cols="40" rows="12"
                  wrap="physical"></textarea>
                    <br>
                    <input type="submit" value="Absenden">
                              </div>
                            </form>
                            
                  <?php  
                     $beitrag = file("gaestebuch.txt");  
                     krsort($beitrag);  
                     foreach($beitrag as $ausgabe)  
                      {  
                        $ausgabe = stripslashes($ausgabe);  
                        $zerlegen = explode("|", $ausgabe);  
                        echo '<table align="center" border="1" cellspacing="0" cellpadding="5" width="50%">  
                   <tr>  
                    <td>  
                     Von '.$zerlegen[1].' Geschrieben am: '.$zerlegen[2].'  
                    </td>  
                   </tr>  
                   <tr>  
                    <td>  
                     <b> '.$zerlegen[0].' </b>  
                    </td>  
                   </tr>  
                   <tr>  
                    <td>  
                     '.$zerlegen[3].'  
                    </td>  
                   </tr>  
                  </table><br>';  
                       } 
                  }
                    ?>  
                           
                            <div align="center">&nbsp;</div></td>
                            <td>&nbsp;</td>
                          </tr>
                        </table></td>
                      </tr>
                    </table>
                    <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
                      <div id="footer">
                        <p align="center" class="style16"></p>
                        <tr>
                          <th width="67%" scope="row">&nbsp;</th>
                          <td width="10%"><div align="center"><a href="AGB.html">AGB</a></div></td>
                          <td width="11%"><div align="center"><a href="Impressum.html">Impressum</a></div></td>
                          <td width="12%"><div align="center">&copy; Adi Tamir  2009 </div></td>
                        </tr>
                      </div>
                      <p></p>
                    </table>
                    </td>
                    </tr>
                    <p>&nbsp;</p>
                  </div>
                  und die geastebuch.txt ist vorhanden ja mit 666 berechtigung

                  Kommentar


                  • #10
                    Hier mal die korrigierte Version, auch wenn ich sagen muss dass ich dein Script für großen Mist halte, sorry.
                    Zudem sind die ereg Funktionen veraltet und man sollte die preg funktionen verwenden.
                    Nichts desto trotz dein Script mal im Anhang.
                    Angehängte Dateien

                    Kommentar


                    • #11
                      vielen vielen dank!

                      Ja dachte mir schon das es so ist. Aber zumindest geht es jetzt. Hoffe ich werde nicht von Spam bots überfallen aber wird shcon werden. Danke dir echt viel mals für deine Hilfe.

                      Wenn du verbesserungs vorschläge hast immer gerne willkommen :P bin ja ein Ultra Laie was dieses gebiet angeht.

                      Nochmals Danke
                      Lg
                      showav

                      Kommentar

                      Lädt...
                      X