Kurt Cobain
Erfahrenes Mitglied
hallo
hab mit einem gästebuch script ein problem.
das script:
gb3.php:
eintragen.php
das problem ist, dass au eintragen.php die meldung kommt ob ein feld nicht ausgefüllt wurde. kann man es auch machen, das gleich auf gb3.php überprüft wird ob alles ausgefüllt wurde, also dass man dann erst garnicht zu eintragen.php weitergeleitet wird?
danke für jede hilfe
hab mit einem gästebuch script ein problem.
das script:
gb3.php:
PHP:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title></title>
<meta name="author" content="Manuel">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
</head>
<body text="#FFFFFF" bgcolor="#000000" link="#FF0000" alink="#FF0000" vlink="#FF0000">
Wollen Sie einen Beitrag hinzufügen?<br>
<form action="eintragen.php" Method="post">
Ihr Name:<br>
<input name="name" size="40"><br><br>
Ihr hp:<br>
<input name="hp" size="40"><br><br>
E-Mail:<br>
<input name="email" size="40"><br><br>
Inhalt:<br>
<textarea name="inhalt" cols="40"
rows="12" wrap="physical"></textarea><br>
<input type="submit" value="Absenden">
</form>
<hr>
<?php
//Verbindung zu Datenbank aufbauen
$link = mysql_connect() or die ("Keine Verbindung moeglich");
mysql_select_db("manuel") or die ("Die Datenbank existiert nicht");
$abfrage = "SELECT * FROM gbdatum order by id desc";
$ergebnis = mysql_query($abfrage) or die (mysql_error());
while($row = mysql_fetch_object($ergebnis))
{
$inhalt = $row->inhalt;
$inhalt = htmlentities($inhalt);
$inhalt = nl2br($inhalt);
$datum = date("d.m.Y H:i", $row->datum);
//Der Besucher hat keine E-Mail Adresse angegeben:
if($row->email == "")
{
echo "
<table align=\"center\" border=\"1\" cellspacing=\"0\" cellpadding=\"5\" bordercolorlight=\"black\" bordercolordark=\"black\" width=\"50%\">
<tr>
<td>
Von <b>$row->name</b> am $datum
</td>
</tr>
<tr>
<td>
$inhalt
</td>
</tr>
</table><br> ";
}
//Der User hat eine Email-Adress angegeben:
else
{
echo "
<table align=\"center\" border=\"1\" cellspacing=\"0\" cellpadding=\"5\" bordercolorlight=\"black\" bordercolordark=\"black\" width=\"50%\">
<tr>
<td>
Von <a href=\"mailto:$row->email\">$row->name</a> am $datum
</td>
</tr>
<tr>
<td>
$inhalt
</td>
</tr>
</table><br> ";
}
}
//Jetzt kommt das "Inhaltsverzeichnis",
//sprich dort steht jetzt: Seite: 1 2 3 4 5
//Wieviele Einträge gibt es überhaupt
//Wichtig! Hier muss die gleiche Abfrage sein, wie bei der Ausgabe der Daten
//also der gleiche Text wie in der Variable $abfrage, bloß das hier das LIMIT fehlt
//Sonst funktioniert die Blätterfunktion nicht richtig,
//und hier kann nur 1 Feld abgefragt werden, also id
//Errechnen wieviele Seiten es geben wird
//Ausgabe der Seitenlinks:
?>
</body>
</html>
eintragen.php
PHP:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title></title>
<meta name="author" content="Manuel">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
<meta http-equiv="refresh" content="0; URL=http://localhost/manuel/gbtutorial/mitdatum/gb3.php">
</head>
<body text="#FFFFFF" bgcolor="#000000" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<?php
$link = mysql_connect() or die ("Keine Verbindung moeglich");
mysql_select_db("manuel") or die ("Die Datenbank existiert nicht");
$name = $_POST["name"];
$email = $_POST["email"];
$hp = $_POST["hp"];
$inhalt = $_POST["inhalt"];
$datum = time();
//Wurden die benötigten Felder ausgefüllt?
if($name == "" or $hp =="" or $email == "" or $inhalt == "" )
{
echo "Bitte die Felder<blink> \"<b>Name</b>\" </blink>ausfüllen<br><a href=\"gb3.php\">Zurück</a>";
exit; //Script Ablauf wird unterbrochen, Eintrag wird nicht gespeichert
}
$eintrag = "INSERT INTO gbdatum (name, email, hp, inhalt, datum) VALUES ('$name', '$email', '$hp', '$inhalt', '$datum')";
$eintragen = mysql_query($eintrag);
//Wurde der Eintrag erfolgreich gespeichert?
if($eintragen == true)
{
echo "Beitrag hinzugefügt";
}
else
{
echo "Fehler versuchs nochmal";
}
?>
<br><a href="gb3.php">Zurück</a>
</body>
</html>
das problem ist, dass au eintragen.php die meldung kommt ob ein feld nicht ausgefüllt wurde. kann man es auch machen, das gleich auf gb3.php überprüft wird ob alles ausgefüllt wurde, also dass man dann erst garnicht zu eintragen.php weitergeleitet wird?
danke für jede hilfe