Noch nicht viel geschrieben
hallo ich habe eine frage da ich im moment nicht weiter komme vielleicht kann mir jemand von euch helfen
ich habe ein textdateibasierendes gästebuch den code hier:
ich bekomme folgende meldungen:
Notice: Undefined offset: 1 in C:\xampp\htdocs\web\gaestebuch_textd\gaestebuchtest.php on line xxx
Notice: Undefined offset: 2 in C:\xampp\htdocs\web\gaestebuch_textd\gaestebuchtest.php on line xxx
Notice: Undefined offset: 3 in C:\xampp\htdocs\web\gaestebuch_textd\gaestebuchtest.php on line xxx
Notice: Undefined offset: 4 in C:\xampp\htdocs\web\gaestebuch_textd\gaestebuchtest.php on line xxx
er zeigt alles richtig an alle inhalte der textdate doch habe ich das gefühl beim auslesen des arrays kommt es zu einem problem.
natürlich könnte ich sagen ok es funktioniert ja aber ich hätte es schon gern soweit sauber, da ich noch ein paar zusäte wie anti spam usw dazu programmieren möchte.
ich habe ein textdateibasierendes gästebuch den code hier:
PHP:
error_reporting(E_ALL);
$datenbankdatei = 'gaestebuch.txt';
$mailempfaenger = 'postfach@domain.tld';
if(!file_exists($datenbankdatei))
if(!@touch($datenbankdatei))
die("Fehler: Die Datenbank ist nicht erreichbar.");
if(isset($_POST['button']))
{
if($_POST['name'] == "" || $_POST['eintrag'] == "")
{
echo 'Es fehlen Angaben. Bitte vollständig ausfüllen';
}
else
{
$eintrag = date('d.m.Y - H:i:s').' || '.$_SERVER["REMOTE_ADDR"].' || '.$_POST['name'].' || '.$_POST['email'].' || '.$_POST['eintrag']."\n";
if(!$file = @fopen($datenbankdatei,"a"))
die("Fehler: Die Datenbank ist nicht erreichbar.");
flock($file,LOCK_EX) or die();
if(!@fwrite($file, $eintrag))
die("Fehler: Die Datenbank ist nicht erreichbar.");
flock($file,LOCK_UN) or die();
fclose($file);
echo '<h2>Danke für deinen Eintrag</h2>Die Daten wurden erfolgreich aufgenommen.<br /><a href="'.$_SERVER["PHP_SELF"].'">Zurück zum Gästebuch</a>';
@mail($mailempfaenger, "Gästebucheintrag", "Folgender Eintrag wurde hinterlassen:\n\nName: ".$_POST['name']."\nAbsender: ".$_POST['email']."\nText: ".$_POST['eintrag']."\n\nIP: ".$_SERVER["REMOTE_ADDR"]."\n".date('d.m.Y - H:i:s'), "From: ".$_POST['email']."\r\nX-Mailer: PHP/" . phpversion());
}
}
else
{
echo '<h2>mein Gästebuch</h2>';
$file = fopen($datenbankdatei, 'r');
while (!feof($file))
{
$zeile = fgets($file, 5000);
$daten = explode(" || ", $zeile);
$datum = $daten[0];
$ip = $daten[1]; //--- Undefined offset: 1
$name = $daten[2]; //---- Undefined offset: 2
$email = $daten[3]; //---Undefined offset: 3
$eintrag = $daten[4]; //--- Undefined offset: 4
if($name != "" && $eintrag != "")
echo '<a href="mailto:'.$email.'">'.$name.'</a> schrieb am '.$datum.' folgendes:<br />'.$eintrag.'<br /><br />';
}
fclose($file);
echo '<hr />';
}
Notice: Undefined offset: 1 in C:\xampp\htdocs\web\gaestebuch_textd\gaestebuchtest.php on line xxx
Notice: Undefined offset: 2 in C:\xampp\htdocs\web\gaestebuch_textd\gaestebuchtest.php on line xxx
Notice: Undefined offset: 3 in C:\xampp\htdocs\web\gaestebuch_textd\gaestebuchtest.php on line xxx
Notice: Undefined offset: 4 in C:\xampp\htdocs\web\gaestebuch_textd\gaestebuchtest.php on line xxx
er zeigt alles richtig an alle inhalte der textdate doch habe ich das gefühl beim auslesen des arrays kommt es zu einem problem.
natürlich könnte ich sagen ok es funktioniert ja aber ich hätte es schon gern soweit sauber, da ich noch ein paar zusäte wie anti spam usw dazu programmieren möchte.
Zuletzt bearbeitet: