Gästebuch Adminoberfläche

MalcolmX1

Mitglied
Naja nich unbedingt ein PC Problem aber egal:P
Ich hoffe mal dass hier liest demnächst mal einer, der AHnung von php hat unr mir helfen kann^^

Ich e an nem Gästebuch rum und hab bald keine Ahnung mehr wo mein Fehler liegt;) Funktioniert soweit alles, nur wenn ich einen Beitrag mittels Formular bearbeiten will gibt er mir einen Fehler aus.

Parse error: syntax error, unexpected T_STRING in /mnt/web3/11/52/51409052/htdocs/test/gb/edit.php on line 15

Ich hopste mal die Quelltexte und hoffe ihr könnt mir helfen;)

gbbuch.php
PHP:
<?php
 
 echo "<h2>Gästebuch</h2><br>";



 echo "



 <table>

  <tr>  

   <td>    

    <div>  

     <form name=\"guestbook\" action=\"gbauswertung.php\"    

              method=\"post\">                  
     
        <table>

          <tr>  
            
            <img src=\"smilies/1.gif\" onClick=\"document.guestbook.beitrag.value += ':)'\">
            <img src=\"smilies/2.gif\" onClick=\"document.guestbook.beitrag.value += ':('\">
            <img src=\"smilies/4.gif\" onClick=\"document.guestbook.beitrag.value += ':cool:'\">
            <img src=\"smilies/5.gif\" onClick=\"document.guestbook.beitrag.value += ':biggrin:'\">
            <img src=\"smilies/6.gif\" onClick=\"document.guestbook.beitrag.value += ':P'\">
            <img src=\"smilies/7.gif\" onClick=\"document.guestbook.beitrag.value += ':['\">
            <img src=\"smilies/8.gif\" onClick=\"document.guestbook.beitrag.value += ':ko:'\">
            <img src=\"smilies/9.gif\" onClick=\"document.guestbook.beitrag.value += ':laugh:'\">
            <img src=\"smilies/10.gif\" onClick=\"document.guestbook.beitrag.value += 'Oo'\">
            <img src=\"smilies/11.gif\" onClick=\"document.guestbook.beitrag.value += ':engel:'\">
            <img src=\"smilies/13.gif\" onClick=\"document.guestbook.beitrag.value += '?('\">
            <img src=\"smilies/17w.gif\" onClick=\"document.guestbook.beitrag.value += ':gähn:'\">
            <img src=\"smilies/14.gif\" onClick=\"document.guestbook.beitrag.value += ':sign:'\">
            <img src=\"smilies/15.gif\" onClick=\"document.guestbook.beitrag.value += ':nick:'\"><br />
            <img src=\"smilies/16.gif\" onClick=\"document.guestbook.beitrag.value += ':nope:'\">
            <img src=\"smilies/19.gif\" onClick=\"document.guestbook.beitrag.value += ':lieb:'\">
            <img src=\"smilies/21.gif\" onClick=\"document.guestbook.beitrag.value += 'XD'\">
            <img src=\"smilies/22.gif\" onClick=\"document.guestbook.beitrag.value += ':Oo'\">
            <img src=\"smilies/23.gif\" onClick=\"document.guestbook.beitrag.value += ':tongue:'\">
            <img src=\"smilies/24.gif\" onClick=\"document.guestbook.beitrag.value += 'OO'\">
            
            <img src=\"smilies/18w.gif\" onClick=\"document.guestbook.beitrag.value += ':angry:'\">
            <img src=\"smilies/13w.gif\" onClick=\"document.guestbook.beitrag.value += ':traurig:'\"><br /><br />
           
          
          </tr> 

          <tr>   

            <td><label>Name:</label></td>        

            <td><input type=\"text\"

                       name=\"name\"/></td>

          </tr>    

          <tr>

            <td><label>Email:</label></td>

            <td><input type=\"text\"

                       name=\"email\"/></td>

          </tr>

          <tr>

            <td><label>Homepage:</label></td>

            <td><input type=\"text\"

                       name=\"homepage\"/

                       value=\"http://\"></td>

          </tr>

          <tr>

            <td><label>Beitrag:</label></td>

            <td><textarea name=\"beitrag\" cols=\"40\"

                       rows=\"8\"></textarea></td>

          </tr>

          <tr>

            <td><input type=\"submit\"

                       value=\"Abschicken\"></td>

          </tr>

       </table>

     </form>

    </div>

   </td>

  </tr>

  <tr>

   <td>

    <div>";

     include "gbdarstellung.php";

 echo "

    </div>

   </td>

  </tr>

 </table>";

    

 ?>

gbdarstellung.php

PHP:
 <?php
 include "verbindungmysql.php";


 list($gesamt) = mysql_fetch_row(mysql_query("SELECT COUNT(*)              
                                              FROM gbuch"));
    $num_sites = ceil($gesamt/10);
 echo "Name und Beitrag sind Pflichtfelder. Danke<br>";


 while ($i<=$num_sites)
       {
          echo "<a href=\"URL der Datei
                gbuch.php?seite=".$i."\">".$i."</a> ";
          $i+=1;
       }
  
  $seite=$_GET['seite'];
  
  if ($seite=='')
  {
   $seite=1;
  }
  
 $start=($seite-1)*10;
  
 $sql="Select
        Name,Email,Homepage,Beitrag,Zeit,ID
      
       From
        gbuch
       order by
        Zeit DESC
        LIMIT
        ".$start.",10";
        
   $empfang=mysql_query($sql) or die(mysql_error());
  


 echo "Anzahl an Gästebucheinträgen: ".$gesamt."<br>";


 while ($row=mysql_fetch_assoc($empfang))
 {


 echo "
   <table border=2>
    <tr>
     <td>";
        if ($row['Email']!='')
          {
            if ($row['Homepage']!='' and
                $row['Homepage']!='http://')
               {
                echo "
                 <a href=\"mailto:"
                 .$row['Email'].
                 "\">"
                 .$row['Name'].
                 "</a> (<a href="
                 .$row['Homepage'].
                 " target=_blank>Homepage</a>) schrieb um "
                 .$row['Zeit'].":";
               }
             else
               {
                echo "
                 <a href=\"mailto:"
                 .$row['Email'].
                 "\">"
                 .$row['Name'].
                 "</a> schrieb um "
                 .$row['Zeit'].":";
               }
            }
         else
            {
             if ($row['Homepage']!='' and
                 $row['Homepage']!='http://')
              {
               echo  
                  $row['Name'].
                  " (<a href="
                  .$row['Homepage'].
                  " target=_blank>Homepage</a>)
                  schrieb um "
                  .$row['Zeit'].":";
               }
             else
               {
                echo    
                   $row['Name'].
                   " schrieb um "
                   .$row['Zeit'].":";
               }
              }
 echo "
    </td>
   </tr>
   <tr>
    <td>";

$search  = array(
            ':)',
            ':(',
            ':cool:',
            ':biggrin:',
            ':P',
            ':[',
            ':ko:',
            ':laugh:',
            'Oo',
            ':engel:',
            '?(',
            ':sign:',
            ':nick:',
            ':nope:',
            ':gähn:',
            ':lieb:',
            'XD',
            ':Oo',
            ':tongue:',
            'OO',
            ':[',
            ':angry:',
            ':traurig:');


                 $replace = array('<img src="smilies/1.gif"/>',
                                  '<img src="smilies/2.gif"/>',
                                  '<img src="smilies/4.gif"/>',
                                  '<img src="smilies/5.gif"/>',
                                  '<img src="smilies/6.gif"/>',
                                  '<img src="smilies/7.gif"/>',
                                  '<img src="smilies/8.gif"/>',
                                  '<img src="smilies/9.gif"/>',
                                  '<img src="smilies/22.gif"/>',
                                  '<img src="smilies/11.gif"/>',
                                  '<img src="smilies/13.gif"/>',                            
                                  '<img src="smilies/14.gif"/>',
                                  '<img src="smilies/15.gif"/>',
                                  '<img src="smilies/16.gif"/>',
                                  '<img src="smilies/17w.gif"/>',
                                  '<img src="smilies/19.gif"/>',
                                  '<img src="smilies/21.gif"/>',
                                  '<img src="smilies/22.gif"/>',
                                  '<img src="smilies/23.gif"/>',
                                  '<img src="smilies/24.gif"/>',
                                  '<img src="smilies/18w.gif"/>',                                 
                                  '<img src="smilies/18w.gif"/>',
                                  '<img src="smilies/14w.gif"/>');



                 $eintrag = str_replace($search, $replace, $row['Beitrag']);

 echo "Beitrag:<br>";
 echo $eintrag;
 echo "
    </td>
   </tr>
   <tr>
    <td>";
echo "<a href=\"edit.php?id=". $row['ID'] ."\">Edit</a>

  </table>";
 }


 ?>

gbauswertung.php

PHP:
<?php
 include "verbindungmysql.php";


 if(trim($_POST['name']) !== "" and  
    trim($_POST['beitrag'])!=="") {        





 $sql1="INSERT INTO gbuch
            (Name,
            Email,
            Homepage,
            Beitrag,
            Zeit)
      VALUES
           ('".$_POST['name']."',
            '".$_POST['email']."',
            '".$_POST['homepage']."',
            '".$_POST['beitrag']."',
            now())";


 $senden=mysql_query($sql1) or die(mysql_error());
 }
 header("Location: gbuch.php");
 ?>

edit.php

PHP:
<?php
 include "verbindungmysql.php";

$sql = "SELECT Name,Email,Homepage,Beitrag,Zeit,ID FROM gbuch WHERE ID = '". mysql_escape_string( $_GET['id'] ) .'";
$res = mysql_query( $sql ) or die( "Fehler: " . mysql_error() );
$data = mysql_fetch_assoc( $res );

echo "

<form action=\"update.php\" method=\"post\" name=\"formularname\">
   <fieldset>
      <legend>Bearbeiten</legend>

      ID:<br>
      <input type=\"text\" name=\"id\" value=\"= $data['ID'] \"><br>
      
      Name:<br>
      <input type=\"text\" name=\"name\" value=\"= $data['Name'] \"><br>
      
      Email:<br>
      <input type=\"text\" name=\"email\" value=\"= $data['Email'] \"><br>

      Homepage:<br>
      <input type=\"text\" name=\"homepage\" value=\"= $data['Homepage'] \"><br>

      Beitrag:<br>
      <textarea name=\"beitrag\" cols=\"40\"

                       rows=\"8\" value=\"= $data['Beitrag'] \"></textarea><br>
      
      <button type=\"submit\">abschicken</button>
   </fieldset>
</form>";

 ?>

update.php

PHP:
<?php
 include "verbindungmysql.php";


 if(trim($_POST['name']) !== "" and  
    trim($_POST['beitrag'])!=="") {        





 $sql1="UPDATE gbuch
            SET
    Name = '".$_POST['name']."',
    Email= '".$_POST['email']."',
    Homepage='".$_POST['homepage']."',
    Beitrag='".$_POST['beitrag']."',



WHERE
    ID = '".$_POST['id']."';
     


 $senden=mysql_query($sql1) or die(mysql_error());
 }
 header("Location: gbuch.php");
 ?>

zu Testzwecken hab ich das Gästebuch auf folgende Seite hochgeladen: http://www.ankert.de/test/gb/gbuch.php

Zusätzlich suche ich noch nach einer Möglichkeiteit, in der gbdarstellung.php nach einer bestimmten Wortanzahl der Beiträge einen automatischen Zeilenumbruch einzufügen.

Wäre euch sehr dankbar wenn ihr mir helfen könntet.

Liebe Grüße

Euer MalcolmX
 
Ich würd sagen das liegt an deinem echo string.
Mach dir selbst einen gefallfen und schreib lange hmtl befehle nicht in einem echo rein sonderen schließe die php tags.

PHP:
?>
<form action="update.php" method="post" name="formularname"> 
   <fieldset> 
      <legend>Bearbeiten</legend> 

      ID:<br> 
      <input type="text" name="id" value="<?=$data['ID'];?>"><br> 
       
      Name:<br> 
      <input type="text" name="name" value="<?=$data['Name'];?>"><br> 
       
      Email:<br> 
      <input type="text" name="email" value="<?=$data['Email'];?>"><br> 

      Homepage:<br> 
      <input type="text" name="homepage" value="<?=$data['Homepage'];?>"><br> 

      Beitrag:<br> 
      <textarea name="beitrag" cols="40" 

                       rows="8" value="<?=$data['Beitrag'];?>"></textarea><br> 
       
      <button type="submit">abschicken</button> 
   </fieldset> 
</form>
<?

Mfg Splasch
 
und oben:

Code:
$sql = "SELECT Name,Email,Homepage,Beitrag,Zeit,ID FROM gbuch WHERE ID = '". mysql_escape_string( $_GET['id'] ) ."'";

Das das da in komplett rot ist, sollte nicht sein.
 
Ja genau oben haste noch die " Zeichen falsch gesetzt das kommt davon wenn man mit sovielen " und ' rumhandiert.

Richtig were es so wenn man schon die " Zeichen verwendet
PHP:
$sql = "SELECT Name,Email,Homepage,Beitrag,Zeit,ID FROM gbuch WHERE ID = '". mysql_escape_string( $_GET['id'] ) ."'"; 
$res = mysql_query( $sql ) or die( "Fehler: " . mysql_error() ); 
$data = mysql_fetch_assoc( $res );
 
Zuerst einmal vielen lieben Dank der Fehler ist nun behoben.
Nun ist aber der nächste aufgetaucht ich weiß, wahrscheinlich ein Anfängerfehler:(

wenn ich dann die geänderten Daten abschicken möchte erscheint folgendes:

Parse error: syntax error, unexpected T_STRING in /mnt/web3/11/52/51409052/htdocs/test/gb/update.php on line 28
 
"-Zeichen kontrollieren

Code:
<?php
 include "verbindungmysql.php";


 if(trim($_POST['name']) !== "" and
    trim($_POST['beitrag'])!=="") {





 $sql1="UPDATE gbuch SET Name = '".$_POST['name']."', Email= '".$_POST['email']."', Homepage='".$_POST['homepage']."', Beitrag='".$_POST['beitrag']."' WHERE ID = '".$_POST['id']."'";



 $senden=mysql_query($sql1) or die(mysql_error());
 }
 header("Location:gbuch.php");
 
 ?>
 
Also: Bevor weitere Sachen folgen (was durchaus passieren wird, sehe ich oben gerade):

HTML-Ausgaben, die mit echo realisiert sind - wech. Sie Aussage:

Ich würd sagen das liegt an deinem echo string.
Mach dir selbst einen gefallfen und schreib lange hmtl befehle nicht in einem echo rein sonderen schließe die php tags.

Alle Anführungszeichen etc prüfen, ob sie geschlossen sind. Und zwar korrekt.
 
Vielen lieben Dank nochmal, soweit funktioniert das jetzt alles. Nun habe ich noch die Frage, bei der gbdarstellung, wie kann ich da automatische Zeilenumbrüche einfügen, sodass die Tabelle IMMER die breite von 400px hat?
Ich habs mit wordwrap probiert, aber das funktioniert nicht, da er mir dann auch den html Befehl für die Smilies trennt-.-
 
HTML:
<?php

$text = "Der Text, der sich in seiner Enddarstellung dem Layout anpassen soll.";
$search = "";

$eintrag = str_replace($search, $replace, $text);
$gewrapt = wordwrap($eintrag, 7, "<br />\n" );
echo $gewrapt;

?>

Wobei der Wert "7" das Wann des Umbruches definiert.

Näheres kannst du nachlesen -> google.de -> Keywords = wordwrap

Hier mal eine Beispiel-Seite:

http://www.phpcenter.de/de-html-manual/function.wordwrap.html

Anstelle von $text musst du natürlich dein $row['..'] angeben und weitere Anpassungen an dein Script ..

Ansonsten schau mal nach, wie man einer Internetseite ne feste Breite gibt. -> "selfHTML"
 
Zuletzt bearbeitet:
Zurück