Folgendes Konstrukt:
gbook.php wird über ein include in die index geladen. die action für das insert liegt in der gb.php, dort mach ich auch die abfrage...
wo kann der fehler liegen?
- Code: Alles auswählen
index.php
<?
session_start();
function encrypt($string, $key) {
$result = '';
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)+ord($keychar));
$result.=$char;
}
return base64_encode($result);
}
$sicherheits_eingabe = encrypt($_POST["sicherheitscode"], "7e34a7s1a");
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
if(isset($_SESSION['captcha_spam']) AND $sicherheits_eingabe == $_SESSION['captcha_spam']){
unset($_SESSION['captcha_spam']);}
$s = $_GET['s'];
$keys = array_keys($_GET);
foreach ($keys as $key) {
$$key = $_GET[$key];
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<a name="top"></a>
......
<table width="96%" border="0" cellpadding="0" cellspacing="0" background="images/tura.gif" >
<tr>
<td valign="top" class="text" background="images/infbg.jpg">
<div align="center">
<?
if (!isset($s) || empty($s)) $s = "main";
include "inc/".$s.".php";
?>
</div>
</td>
...
</html>
- Code: Alles auswählen
gbook.php
<?php
$s = $_GET['s'];
if(isset($_GET['show_entries'])) $entries = (int)$_GET['entries'];
else $show_entries = 1;
require("inc/gb/sql.php");
// Einträge pro Seite
$max_einträge = 10;
$abfrage_gb = "SELECT name,datum,zeit,eintrag FROM $table ORDER BY datum DESC, zeit DESC LIMIT ".(($show_entries-1) * $max_einträge).", $max_einträge";
$erg_gb = mysql_db_query($database,$abfrage_gb,$verbindung);
?>
<p align="left"><b><span class="topic"><br>
<font color="#1149e9">Gästebuch</font></span></b><br>
<a href="#eintrag">Hinterlassen sie ihr Feedback</a><br><br>
<?php
// Anzahl aller Datensätze ermitteln
$anzahl_alle = mysql_fetch_row(mysql_query("SELECT count(*) as 'anzahl_alle' FROM $table"));
echo "Insgesamt: ".$anzahl_alle[0]. " Einträge vorhanden <br><br>---------------------------------------------------";
?>
</p>
<table align="left" class="text" width="100%">
<?php
while (list($name,$datum,$zeit,$eintrag) = mysql_fetch_row($erg_gb))
{
echo "<tr><td align=left>";
echo "<b><span class=gbtopic><u>".$name."</u></span></b><br><br>";
echo "$eintrag <br><br>";
echo "<font size=1> <i>geschrieben am ".date('d.m.Y',strtotime($datum) )." um ".$zeit." Uhr:</i></font></b><br>";
echo "---------------------------------------------------<br><br> ";
echo "</td></tr>";
}
echo "<tr><td align=left class=text>Seite";
$seitenzahl = ceil($anzahl_alle[0] / $max_einträge);
if ($show_entries > 1) echo "<a href='?s=gb/gbook&show_entries=".($show_entries-1)."'>«</a>";
for ($i = 1;$i <= $seitenzahl; $i++){
if($i != $show_entries) echo " <a href='?s=gb/gbook&show_entries=$i'>$i</a>";
else echo " <b><u>$i</u></b>";
}
if($show_entries < $seitenzahl) echo " <a href='?s=gbook&show_entries=".($show_entries+1)."'>»</a>";
?>
</td>
</tr></td>
<?php
mysql_close($verbindung);
?>
</td>
<tr>
<td align="left" class="text">
<a name="eintrag"></a>
<p class="text">
Hier können sie ihren Eintrag hinterlassen (IP wird gespeichert!)<br/>
<form class="text" action="?s=gb/gb" method="post">
Dein Name:<br/>
<input class="text" name="name" type="text" size="30" maxlength="30"><br/>
Dein Eintrag:<br/>
<textarea class="text" name="eintrag" cols="50" rows="8"></textarea><br/><br/>
<img src="inc/gb/captcha/captcha.php" border="0" title="Sicherheitscode"><br/>
<input type="text" name="sicherheitscode" size="4"><br/><br/>
<input type="submit" value="Absenden " class="button">
<input type="reset" value="Abbrechen" class="button">
</form>
</p>
</td>
</tr>
</table>
- Code: Alles auswählen
gb.php
<?php
require("sql.php");
$name = $_POST['name'];
$datum = date("Y.m.d");
$zeit = date("H:i:s");
$eintrag = nl2br(htmlentities($_POST['eintrag']));
$ip = getenv("REMOTE_ADDR");
if ($_POST['sicherheitscode']==$sicherheits_eingabe)
{
if(empty($name) || empty($eintrag))
{
echo "<br><br><br><table align=center class=text><tr><td><b>! Hinweis : bitte alle Felder ausfüllen !</b><br>";
echo "<a href=javascript:history.back()>Zurück</a></div></td></tr></table>";
}
else
{
$abfrage = "INSERT INTO $table (name,datum,zeit,eintrag, ip) VALUES ('$name','$datum','$zeit','$eintrag', '$ip')" ;
$sql = mysql_query($abfrage,$verbindung) or die (mysql_error());
echo "<br><br><br><table align=center class=text><tr><td>Eintrag Erfolgreich. IP wurde gespeichert<br><br><a href =?s=gb/gbook>Eintrag ansehen</a></td></tr></table>";
}
mysql_close($verbindung);
}
else echo "Bitte Sicherheitseingabe wiederholen";
?>
