• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Kleines Problem mit Script...

Status
Für weitere Antworten geschlossen.

WEBI

Neues Mitglied
Hallo,

könnte mir jemand von euch sagen, ob die Umsetzung meiner Idee so richtig ist...???

Code:

PHP:
<html>
<head>
<title>T E R M I N E</title>
</head>
<body>
<body bgcolor="yellow">
<?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' <script>alert(" Bitte alle Felder vollständig ausfüllen, Danke ...!!! ")</script>';
   echo' Klicke <a href="http://localhost/termine.php">hier</a> um zurück auf das Eingabeformular zu kommen....<p>';
   } 
   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. '<br>Wann (Uhrzeit): '.zeit.'<br>Wichtig: nein<br>Wo und nähers: '.$eintrag.'<br /><br /> <hr />';
}
   if($_POST['check'] != "")
{
echo 'Termin am: '.email.' den '.$name. '<br>Wann (Uhrzeit): '.zeit.'<br>Wichtig: ja<br>Wo und nähers: '.$eintrag.'<br /><br /> <hr />';

} 


// Formular für weitere Einträge:
    echo '<h2><u>Hier kannst du deine Party eintragen:</u></h2><br><form method="post" action="'.$_SERVER["PHP_SELF"].'">';
?>  
Termin am:   <input type="text" name="email"> den <input type="text" name="name"><br />
Wann (Uhrzeit): <input type="text" name="zeit">
Wichtig: <input type="radiobutton" name="check">
Wo und weiters: <p><textarea name="eintrag" rows="5" cols="90"></textarea><p> 
<input type="submit" name="button" value="Und ab geht´s...."><input type="reset" name="button" value="Alles löschen...."> 
</form> 
</body>
</html>



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
 
Werbung:
ändern mal $eintrag in das:
PHP:
$eintrag = date('d.m.Y - H:i:s').' || '.$_SERVER["REMOTE_ADDR"].' || '.$_POST['name'].' || '.$_POST['email'].' || '.$_POST['eintrag'].' || '.$_POST['check'].' || '.$_POST['zeit'].' \n';
 
Aha, danke

jetzt kommt das hier:


Parse error: parse error, unexpected $end in C:\Programme\Apache Group\Apache2\htdocs\termine.php on line 106
 
Werbung:
Tip zu unausgefüllten Felder.

Anstatt so:
PHP:
   if($_POST['name'] == "" || $_POST['eintrag'] == "")  
   {  
   echo' <script>alert(" Bitte alle Felder vollständig ausfüllen, Danke ...!!! ")</script>'; 
   echo' Klicke <a href="http://localhost/termine.php">hier</a> um zurück auf das Eingabeformular zu kommen....<p>'; 
   }

So:
PHP:
if(empty($_POST['name']) || empty($_POST['eintrag']))
{
print"Bitte gehen Sie <a href=\"javascript:history.back()\">zurück</a>, füllen Sie alle Felder aus.";
}
//Rest

Oder eben ein Script bei unausgefüllten Feldern
 
Danke für die Tipps.

Wo soll die geschweifte Klammer fehlen..??

Ich wüsste nich wo..??

Gruß

webi
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben