Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Problem mit Gästebuch“

mondbine

Noch nicht viel geschrieben

huhu,
kann mir vielleicht jemand sagen, wo hier der fehler liegt?
Gstebuch


Code:
<?php
//$_POST['flag']==1, wenn das Formular abgeschickt wurde
if($_POST['flag']==1)
{
//Leerstellen entfernen
$_POST['absender']=trim($_POST['absender']); 
$_POST['mail']=trim($_POST['mail']);
$_POST['hp']=trim($_POST['hp']);
$_POST['text']=trim($_POST['text']);
//evtl. vorhandene HTML-Codes entfernen
$_POST['absender']=strip_tags($_POST['absender']);
$_POST['mail']=strip_tags($_POST['mail']);
$_POST['hp']=strip_tags($_POST['hp']); 
$_POST['hp']=strip_tags($_POST['text']); 
//testen, ob alle Felder ausgefüllt sind
if(!$_POST['absender']){$fehler="Bitte gib Deinen Namen an! <br>";}
if(!$_POST['text']){$fehler="Bitte gib eine Nachricht ein! <br>";}
/*
Wenn Fehler vorhanden, die Textausgabe formatieren und $_POST['flag'] zurücksetzen, damit das Formular erneut angezeigt wird
*/
if($fehler)
{
$meldung="".$fehler."";
unset($_POST['flag']);
}
else //wenn alles ok ist, geht es weiter
{
//Zugangsdaten includen
include ("config.inc.php");
//Zeit und Datum ermitteln
$date = date("d.m.Y");
$time = date("H:i");
//sql-String zusammenbauen
$tabellenname="gb";
$sql="INSERT INTO `gb` ( `id` , `date` , `time` , `name` , `mail` , `hp` , `text` )VALUES ('', '$date', '$time', '".$_POST['absender']."', '".$_POST['mail']."', '".$_POST['hp']."', '".$_POST['text']."');" ;
//Verbindung zur Datenbank
$link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd");
mysql_select_db("$db", $link);
mysql_query($sql, $link);
$meldung="Ihre Angaben wurden aufgenommen und werden im Gästebuch eingetragen. <a href=\"gb.php\" target=_self>Weiter</a>";
}
//Ausgeben der Meldung
echo $meldung;
}//Ende $_POST['flag']==1
if(!$_POST['flag'])
{
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>    
<title>Gästebuch</title>
<link rel="stylesheet" href="style.css"> 
</head>
<body background="grafiken/HG.jpg">
<h1>Gästebuch</h1>
Ich freu mich immer über einen netten Gästebucheintrag.<br />
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="guestbook">
<input type="hidden" name="flag" value="1">
<table>
 <tr>
  <td>Dein Name:</td>
  <td><input type="text" name="absender" value="<?php echo $_POST['absender']; ?>"></td>
 </tr>                                                                                                            
 <tr>
  <td>Deine E-mailadrese:</td> 
  <td><input type="text" name="mail" value="<?php echo $_POST['mail']; ?>"></td>
 </tr>                                                                                                
 <tr>
  <td>URL zu deiner Homepage:</td>
  <td><input type="text" name="hp" value="<?php echo $_POST['hp']; ?>"></td>
 </tr>                                                                                            
 <tr>
  <td>Dein Text:</td>
  <td><textarea name="text" style="height: 150px; width: 429px;"><?php echo $_POST['text']; ?></textarea>
 </td>
 </tr>
</table>
<input type="submit" value="Eintragen">
</form>
<?php
}
?>


<?php    

//Zugangsdaten includen
include ("config.inc.php");   

$anzeigen=5; //Anzahl der Datensätze, die auf einer Seite angezeigt werden sollen
if($_GET['vor']){$start=$_GET['limit']+$anzeigen;}
if($_GET['back']){$start=$_GET['limit']-$anzeigen;}
if(!$start){$start=0;}  

//Auslesen der Einträge
$tabellenname="gb";
$sql="SELECT id, date, time, name, mail, hp, text FROM $tabellenname ORDER BY id DESC LIMIT ".$start.", ".$anzeigen;
$link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd");
mysql_select_db("$db", $link);
$result = mysql_query($sql, $link);
for($i=0;$i<mysql_num_rows($result);$i++)
{
$ergebnis[$i]=mysql_fetch_array($result);
}     
         
//Ermitteln, wie viele Einträge vorliegen
$sql1="SELECT COUNT(*) FROM $tabellenname ";
$result1 = mysql_query($sql1, $link);
$max= mysql_result($result1,0,0); 

//Ausgeben der Einträge   
for($i=0;$i<count($ergebnis);$i++)
{   
$text=nl2br($ergebnis[$i]['text']);

echo ("
<br /><br /><table>
  <tr>
    <td>".$ergebnis[$i]['name']." (<a href=\"mailto:".$ergebnis[$i]['mail']."\">Mail</a> | <a href=\"".$ergebnis[$i]['hp']."\" target=_blank>WWW</a>) schrieb am ".$ergebnis[$i]['date']." um ".$ergebnis[$i]['time']." Uhr: </td>
  </tr>
  <tr>
    <td>".$text."</td>
  </tr></table>");
  }   
  
  //Ausgeben der Links vor und zurück     
  echo "<table border=\"0\" width=\"100%\"><tr><td align=\"left\">";
  if($start>=$anzeigen){echo "<a href=\"".$_SERVER['PHP_SELF']."?limit=".$start."&back=1\">Zurück</a>";}
echo "</td><td align=\"right\">";
if($start+$anzeigen<$max-1){echo "<a href=\"".$SERVER['PHP_SELF']."?limit=".$start."&vor=1\">Weiter</a>";}
echo "</tr></table>";     
  
?> 
</body>
</html>

ich habe es strikt nach der anweisung gemacht.

ich bin für jede hilfe sehr dankbar.


liebe grüße
bine
 

CIX88

Aktives Mitglied

AW: Problem mit Gästebuch

> $link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd");
Warum schreibst du Variablen in Anführungszeichen ?
Sieht das cool aus, oder hat es eine besondere Bedeutung ?
Ne kannst du einfach nur schreiben:
$link = mysql_connect($dbhost, $dbuser, $dbpasswd);

Deine Fehlermeldung sieht so aus, als ob dein MySQL-Query nicht stimmt, weshalb mysql_num_rows keine Ausgabe liefert.
Bitte befasse dich mit PHP und MySQL etwas intensiver.
Dein Quellcode sieht aus, als ob du einfach nur etwas zusammen getippt hast, ohne dabei zu verstehen was dort eigentlich passiert :)
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
174.480
Beiträge
2.578.015
Mitglieder
65.973
Neuestes Mitglied
Agilmar
Oben