Hallo Leute!
Ich habe ein Gästebuch geschrieben und das script oder keine Ahnung wo der fehler liegt! Auf jeden Fall werden immer zwei einträge gemacht!!!
Ich habe es auch mit phpMyAdmin ausprobiert, und selbst der macht mir immer zwei einträge!!!
Hier ist der code: (Eintragsformular)
PHP
$database = "e_experienceatdb1"; // MySQL database name
$gb_table = "guestbook"; // MySQl table prefix (freely selectable)
$db_connect = mysql_connect("localhost", "flomll", "test");
// IP bestimmen
$ip = getenv('REMOTE_ADDR');
// IP auflösen und Host bestimmen
$host = gethostbyaddr($ip);
$email=strip_tags(trim($_POST['email'])); // Bereinigung von String ~ und HTML Tags und Leerstellen
$homepagetemp=strip_tags(trim($_POST['homepage'])); // Bereinigung von String ~ und HTML Tags und Leerstellen
$message=strip_tags(trim($_POST['message'])); // Bereinigung von String ~ und HTML Tags und Leerstellen
$namen=strip_tags(trim($_POST['namen'])); // Bereinigung von String ~ und HTML Tags und Leerstellen
$t1="\r"; // so müsste das einwandrei funktionieren...
$t2="\n";
$t3="\r\n"; // für windows-standard...
$message=str_replace($t3, '
', $message); // diese zeichenkette unbedingt als erste!!!
$message=str_replace($t1, '
', $message);
$message=str_replace($t2, '
', $message);
if(!$_POST['homepage']) // mit dieser if Funktion wird festgestellt ob etwas eingegeben wurde oder nicht! (für Anzeige!)
{
unset ($homepage);
}
else
{
$homepage="http://";
$homepage.=$homepagetemp;
}
$bw_localvar=$message;
include("../badword/badword_incl.php");
$message=$bw_localvar;
if ($_POST['sent']==1) //Kontrolle für die Felder (Ausgefüllt JA/NEIN)
{
if (!$_POST['namen']) {$fehler="Bitte geben Sie Ihren Namen ein!
";}
if (!$_POST['email']) {$fehler.="Bitte geben Sie Ihre e-mail Adresse ein!
";}
if (!$_POST['message']) {$fehler.="Bitte geben Sie Ihre Nachricht ein!
";}
}
if ($namen AND $email AND $message AND $_POST['sent']) // kontrolliet ob alle Felder ausgefüllt wurden
{
$sql= "INSERT INTO $gb_table (name, datetime, email, homepage, message, ip)
values ('".$namen."', now(), '".$email."', '".$homepage."', '".$message."', '".$ip."')";
mysql_select_db($database, $db_connect);
mysql_query($sql, $db_connect);
unset ($_POST['namen']);
unset ($_POST['email']); // löscht die var
unset ($_POST['message']);
unset ($_POST['homepage']);
//header("Location: guestbook_out.php");
if(!mysql_query($sql, $db_connect))
{
$db_fehler="Datenbankfehler! Die Daten wurden nicht übermittelt.";
}
mysql_close($db_connect);
}
?>
<html>
<head>
<title>Neuer Gästebucheintrag
</title>
</head>
<link rel="stylesheet" type="text/css" href="css/style.css">
<body background="../img/grafik/bg.gif">
<table height="100%" width="95%" cellpadding="0" cellspacing="0" align="center">
<tr align="center" valign="top"><td>
<table height="19" width="100%" cellpadding="0" cellspacing="0" class="top">
<td height="25" align="left" width="100%"><a name="tp1"></a>Kontakt
<hr align="left" width="150" height="2" color="B34B4D"></td><tr>
<td height="25" aling="left" width="100%"></td><tr>
<td width="100%" class="titel" align="center">[b]Gästebucheintrag[/b]</td>
</table>
<table width="350" align="center" border="0" bordercolor="B34B4D">
<form action="<?php echo $SERVER['PHP_SELF']; ?>" method="post">
<td width="100" class="normtext" align="left">Your Name:</td>
<td align="right"><input type="text" name="namen" size="40" value="<?php if (!$_POST['email'] OR !$_POST['homepage'] OR !$_POST['message']) {echo $_POST['namen'];} ?>"></td><tr>
<td width="100" class="normtext" align="left">Your e-mail:</td>
<td align="right"><input type="text" name="email" size="40" value="<?php if (!$_POST['name'] OR !$_POST['homepage'] OR !$_POST['message']) {echo $_POST['email'];} ?>"></td><tr>
<td width="100" class="normtext" align="left">Homepage:</td>
<td align="right"><input type="text" name="homepage" maxlength="25" size="40" value="<?php if (!$_POST['name'] OR !$_POST['email'] OR !$_POST['message']) {echo $_POST['homepage'];} ?>"></td><tr>
<td class="normtext" align="left" valign="top">Message:</td>
<td align="right"><textarea type="text" cols="30" rows="6" maxlength="231" name="message"><?php if (!$_POST['name'] OR !$_POST['homepage'] OR !$_POST['email']) {echo $_POST['message'];} ?></textarea></td><tr>
<td width="100%"></td>
<td width="300" class="normtext" align="center"><input type="submit" name="submit" value="Abschicken"></td><tr>
<td><input type="hidden" name="sent" value=1></td>
</form>
</table>
<table width="100%">
<tr><td class="fehler" align="center">
<?php echo $fehler;
echo $db_fehler;
?>
</td></tr>
<tr><td><?php
include("../emotions/emotions.php");
include("../emotions/emotions_out.php");
?>
</td></tr>
</table>
<table width="100%">
<td width="100%" align="left"><hr color="B34B4D" height="2" width="100%"></td><tr>
<td width="100%" align="center">[url='#tp1'][img]img/grafik/balken_top.gif[/img][/url]</td>
</table>
</tr></td>
</table>
</body>[b][/b]
Alles anzeigen