Hallo,
könnte mir jemand von euch sagen, ob die Umsetzung meiner Idee so richtig ist…???
Code:
[php]
T E R M I N E <?php // Der Name der Termin - Datei lautet: $datenbankdatei = 'termine.txt';// Ü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‘]))
{
// wenn das Formular abgeschickt wurde, dann führe das hier aus (Daten in die Datei eintragen)
// ÜBerprüfe, ob Name und Text angegeben wurde - sonst kein Eintrag
if($_POST[‚name‘] == „“ || $_POST[‚eintrag‘] == „“)
{
echo’ ‚;
echo‘ Klicke hier um zurück auf das Eingabeformular zu kommen…
‚;
}
else
{
// als erstes werden die Daten zu einem langen string zusammengefasst. Damit die einzelnen Variablen später wieder getrennt werden können setzen wir ein Trennzeichen. In diesem Fall habe ich mich für || entschieden.
// das \n am Ende sorgt dafür, dass ein Zeilenumbruch in der Textdatei gemacht wird. Das ist für das Auslesen wichtig!
$eintrag = date(‚d.m.Y - H:i:s‘).‘ || ‚.$_SERVER[„REMOTE_ADDR“].‘ || ‚.$_POST[‚name‘].‘ || ‚.$_POST[‚email‘].‘ || ‚.$_POST[‚eintrag‘].‘ || ‚.$_POST[‚check‘].‘ || ‚.$_POST[‚zeit‘].‘ „\n“;
// Wenn die Datei nicht geöffnet werden kann: Abbruch
if(!$file = @fopen($datenbankdatei,"a"))
die("Fehler: Die Datenbank ist nicht erreichbar.");
// Datei für andere sperren
flock($file,LOCK_EX) or die();
// mit fwrite werden nun die Daten, welche wir vorher zu einer Variable zusammengefasst haben hineingeschrieben
// Wenn die Datei nicht beschrieben werden kann: Abbruch
if(!@fwrite($file, $eintrag))
die("Fehler: Die Datenbank ist nicht erreichbar.");
// Sperre der Datei wieder aufheben
flock($file,LOCK_UN) or die();
// Datei schliessen
fclose($file);
}
}
else
{
// wenn das Formular nicht ausgefüllt wurde, es also nur einfach angezeigt werden soll, dann führe diesen Teil aus:
$file = fopen($datenbankdatei, ‚r‘) ;
// Solange wiederholen, bis die Datei vollständig ausgelesen wurde
while (!feof($file))
{
// Zeile auslesen
$zeile = fgets($file, 4096);
// Zeile für Zeile auslesen:
$daten = explode(" || ", $zeile);
$zeile = fgets($file, 5000);
$datum = $daten[0];
$ip = $daten[1];
$name = $daten[2];
$email = $daten[3];
$eintrag = $daten[4];
$check = $daten[5];
$zeit = $daten[6];
//…
}
// Ausgabe auf den Bildschirm:
if($_POST[‚check‘] == „“)
{
echo 'Termin am: ‚.email.‘ den '.$name. ‚
Wann (Uhrzeit): ‚.zeit.‘
Wichtig: nein
Wo und nähers: ‚.$eintrag.‘
‘;
}
if($_POST[‚check‘] != „“)
{
echo 'Termin am: ‚.email.‘ den '.$name. ‚
Wann (Uhrzeit): ‚.zeit.‘
Wichtig: ja
Wo und nähers: ‚.$eintrag.‘
‘;
}
// Formular für weitere Einträge:
echo ‚
Hier kannst du deine Party eintragen:
<form method=„post“ action="‘.$_SERVER[„PHP_SELF“].‚">‘;
?>
Termin am: den
Wann (Uhrzeit):
Wichtig:
Wo und weiters:
Ich bekomme nämlich folgende Fehlermeldung:
Parse error: parse error, unexpected T_STRING in C:\Programme\Apache Group\Apache2\htdocs\termine.php on line 63
Zeile 63:
// wenn das Formular nicht ausgefüllt wurde, es also nur einfach angezeigt werden soll, dann führe diesen Teil aus:
$file = fopen($datenbankdatei, 'r') ;
Was is daran schon falsch…??
Gruß
webi