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:
PHP-Code:
ich bekomme folgende meldungen:
Notice: Undefined offset: 1 in C:\xampp\htdocs\web\gaestebuch_textd\gaestebuchtes t.php on line xxx
Notice: Undefined offset: 2 in C:\xampp\htdocs\web\gaestebuch_textd\gaestebuchtes t.php on line xxx
Notice: Undefined offset: 3 in C:\xampp\htdocs\web\gaestebuch_textd\gaestebuchtes t.php on line xxx
Notice: Undefined offset: 4 in C:\xampp\htdocs\web\gaestebuch_textd\gaestebuchtes t.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-Code:
PHP-Code:
error_reporting(E_ALL);
// Der Name der Gästebuch-Datei lautet:
$datenbankdatei = 'gaestebuch.txt';
$mailempfaenger = 'postfach@domain.tld';
// Überprüfung, ob die Datei vorhanden ist.
// wenn nicht vorhanden, dann versuche diese zu erstellen
// wenn das Erstellen nicht erfolgreich war (mangelnde Rechte), dann Skript abbrechen
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]; hier entsteht fehler1
$name = $daten[2]; hier fehler 2
$email = $daten[3]; hier fehler 3
$eintrag = $daten[4]; hier fehler 4 ( da die zeilenangabe der fehler ja nicht passte)
if($name != "" && $eintrag != "")
echo '<a href="mailto:'.$email.'">'.$name.'</a> schrieb am '.$datum.' folgendes:<br />'.$eintrag.'<br /><br />';
}
fclose($file);
echo '<hr />';
}
ich bekomme folgende meldungen:
Notice: Undefined offset: 1 in C:\xampp\htdocs\web\gaestebuch_textd\gaestebuchtes t.php on line xxx
Notice: Undefined offset: 2 in C:\xampp\htdocs\web\gaestebuch_textd\gaestebuchtes t.php on line xxx
Notice: Undefined offset: 3 in C:\xampp\htdocs\web\gaestebuch_textd\gaestebuchtes t.php on line xxx
Notice: Undefined offset: 4 in C:\xampp\htdocs\web\gaestebuch_textd\gaestebuchtes t.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.
Kommentar