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

News....

Status
Für weitere Antworten geschlossen.

WEBI

Neues Mitglied
Hallo,


Mein News - Code schaut so aus:

Code:
<?php
   // Der Name der Gästebuch-Datei lautet:
  $datenbankdatei = 'gaestebuch2.txt';
  $mailempfaenger = '[email protected]';

  // Ü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'] == "")
   {
<Hier dann neuer Inhalt>
   }
   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']."\n";

      // Nun wird die Datei geöffnet. Der Modus 'a' gibt an, dass die Datei zum Schreiben geöffnet wurde und die Daten hinten dran gehängt werden
      // 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);

      // Ausgabe für den user:
      echo '<center><h2>Vielen Dank für deinen Eintrag</h2>Deine Party wurde erfolgreich aufgenommen.


[url="'.$_SERVER["]<<<...Zurück zur Party-Seite...>>>[/url]';


      // eMail wird verschickt:
      @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
  {
    // wenn das Formular nicht ausgefüllt wurde, es also nur einfach angezeigt werden soll, dann führe diesen Teil aus:

    // Anzeige der Einträge aus dem Gästebuch:
    echo '<font color="red"><center><u>[b]<font size="7">Meine Party-Seite:</font></font>



';

    // Öffnen der Datei im Lese-Modus:
    $file = fopen($datenbankdatei, 'r');

    // Solange wiederholen, bis die Datei vollständig ausgelesen wurde
    while (!feof($file))
    {
      // Zeile für Zeile auslesen:
      $zeile  = fgets($file, 5000);
      $daten  = explode(" || ", $zeile);
      $datum  = $daten[0];
      $ip     = $daten[1];
      $name   = $daten[2];
      $email  = $daten[3];
      $eintrag = $daten[4];

      // Ausgabe auf den Bildschirm:
      if($name != "" && $eintrag != "")
        echo '[url="'.$email.'"]'.$name. '[/url]
schrieb am:</u> '.$datum.' 

<u>folgende Party:
</u>'.$eintrag.'

 <hr />';
        
    }
    fclose($file);
        echo '<hr><hr>';

      // Formular für weitere Einträge:
    echo '<h2><u>Hier kannst du deine Party eintragen:</u></h2>

<form method="post" action="'.$_SERVER["PHP_SELF"].'">
Dein Name:   <input type="text" name="name">

Deine Home:  <input type="text" name="email" value="http://www.">



Deine Party: 

<textarea name="eintrag" rows="5" cols="50"></textarea>


<input type="submit" name="button" value="Und ab geht´s...."><input type="reset" name="button" value="Alles löschen....">
</form>';
  }
?>

Dort wo: <Hier dann neuer Inhalt> schätze ich mal, kommt mein Code hin.

Ich möchte nämlich, wenn man auf den Button: " Und ab gehts" klickt, sich, sofern der Benutzer eine fehlende Eingabe gemacht hat, ein Info Fenster kommt, in dem steht: "Es fehlen Angaben".


Könnt ihr mir einen Code senden...???


Wäre euch sehr dankbar......


WEBI

:wink: :D :wink:
 
Werbung:
Werbung:
fuehre mit onClick auf dem submit button eine javascript aus die du oben halt definierst .
dann halt den zwei text feldern ne id geben und ueber getElementById oder so aehnlich die werte pruefen - wenn einer das gleiche wie "" ist dann halt ein fenster oeffnen ;)

(wie kommst du darauf das wir fuer dich deine homepage schreiben??)

wenn du das nicht kannst versuch es mal mit dem PEAR paket QuickForm - das kann dieses und sehr viel mehr und ist ziemlich einfach zu benutzen (einfach ne klasse von quickform erben lassen und mal irgendein tutorial durchlesen)

(und glaube ja nicht das wir nicht mitbekommen das du auf php.de die gleichen threads mit "verzweifelten hilferufen" schreibst )
 
Und wie soll das ausschauen....????

Hab keine Ahnung wie und wo ich das genau alles einfügen muss.
 
nimm' doch die php-brackets, sonst sieht man ja gar nichts...

[php:1:20cb8ff15f]
<?php
// Der Name der Gästebuch-Datei lautet:
$datenbankdatei = 'gaestebuch2.txt';
$mailempfaenger = '[email protected]';

// Ü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'] == "")
{
<Hier dann neuer Inhalt>
}
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']."\n";

// Nun wird die Datei geöffnet. Der Modus 'a' gibt an, dass die Datei zum Schreiben geöffnet wurde und die Daten hinten dran gehängt werden
// 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);

// Ausgabe für den user:
echo '<center><h2>Vielen Dank für deinen Eintrag</h2>Deine Party wurde erfolgreich aufgenommen.


<<<...Zurück zur Party-Seite...>>>';


// eMail wird verschickt:
@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
{
// wenn das Formular nicht ausgefüllt wurde, es also nur einfach angezeigt werden soll, dann führe diesen Teil aus:

// Anzeige der Einträge aus dem Gästebuch:
echo '<font color="red"><center><u><font size="7">Meine Party-Seite:</font></font>



';

// Öffnen der Datei im Lese-Modus:
$file = fopen($datenbankdatei, 'r');

// Solange wiederholen, bis die Datei vollständig ausgelesen wurde
while (!feof($file))
{
// Zeile für Zeile auslesen:
$zeile = fgets($file, 5000);
$daten = explode(" || ", $zeile);
$datum = $daten[0];
$ip = $daten[1];
$name = $daten[2];
$email = $daten[3];
$eintrag = $daten[4];

// Ausgabe auf den Bildschirm:
if($name != "" && $eintrag != "")
echo ''.$name. '
schrieb am:</u> '.$datum.'

<u>folgende Party:
</u>'.$eintrag.'

<hr />';

}
fclose($file);
echo '<hr><hr>';

// Formular für weitere Einträge:
echo '<h2><u>Hier kannst du deine Party eintragen:</u></h2>

<form method="post" action="'.$_SERVER["PHP_SELF"].'">
Dein Name: <input type="text" name="name">

Deine Home: <input type="text" name="email" value="http://www.">



Deine Party:

<textarea name="eintrag" rows="5" cols="50"></textarea>


<input type="submit" name="button" value="Und ab geht´s...."><input type="reset" name="button" value="Alles löschen....">
</form>';
}
?>
[/php:1:20cb8ff15f]

Nils aka XraYSoLo
 
Werbung:
nur leider sieht man jetzt gar nichts mehr weil der bbc parser totaler schrott ist :)
 
Wollte jetzt noch eine E-mail Adresse einfügen.

Code jetzt:

<html>
<body bgcolor="yellow">
<?php
// Der Name der Gästebuch-Datei lautet:
$datenbankdatei = 'gaestebuch2.txt';
$mailempfaenger = '[email protected]';

// Ü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 'Auweia, da fehlt noch was. Bitte vollständig ausfüllen.

';
echo 'zurück';
}
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['adresse'].' "\n";

// Nun wird die Datei geöffnet. Der Modus 'a' gibt an, dass die Datei zum Schreiben geöffnet wurde und die Daten hinten dran gehängt werden
// 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);

// Ausgabe für den user:
echo '<center><h2>Vielen Dank für deinen Eintrag</h2>Deine Party wurde erfolgreich aufgenommen.


<<<...Zurück zur Party-Seite...>>>';


// eMail wird verschickt:
@mail($mailempfaenger, "Gästebucheintrag", "Folgender Eintrag wurde hinterlassen:\n\nName: ".$_POST['name']."\nAbsender: ".$_POST['adresse']."\nAdresse: ".$_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
{
// wenn das Formular nicht ausgefüllt wurde, es also nur einfach angezeigt werden soll, dann führe diesen Teil aus:

// Anzeige der Einträge aus dem Gästebuch:
echo '<font color="red"><center><u><font size="7">Meine Party-Seite:</font></font>



';

// Öffnen der Datei im Lese-Modus:
$file = fopen($datenbankdatei, 'r');

// Solange wiederholen, bis die Datei vollständig ausgelesen wurde
while (!feof($file))
{
// Zeile für Zeile auslesen:
$zeile = fgets($file, 5000);
$daten = explode(" || ", $zeile);
$datum = $daten[0];
$ip = $daten[1];
$name = $daten[2];
$adresse= $daten[3]
$email = $daten[4];
$eintrag = $daten[5];


// Ausgabe auf den Bildschirm:
if($name != "" && $eintrag != "")
echo '<a href="'.$email.'">'.$name. '

E-mail: '
schrieb am:</u> '.$datum.'

<u>folgende Party:
</u>'.$eintrag.'

<hr />';

}
fclose($file);
echo '<hr><hr>';

// Formular für weitere Einträge:
echo '<h2><u>Hier kannst du deine Party eintragen:</u></h2>

<form method="post" action="'.$_SERVER["PHP_SELF"].'">
Dein Name: <input type="text" name="name">

Deine Home: <input type="text" name="email" value="http://www.">



Deine E-mail: <input type="text" name="adresse">

Deine Party:

<textarea name="eintrag" rows="5" cols="50"></textarea>


<input type="submit" name="button" value="Und ab geht´s...."><input type="reset" name="button" value="Alles löschen....">
</form>';
}
?>

</html>





Doch leider kommt jetzt die Fehlermeldung:


Parse error: parse error, unexpected T_STRING in C:\Programme\Apache Group\Apache2\htdocs\news.php on line 33


Könnt ihr mir sagen wie ich den Code zu verändern habe....??


PS: wie kann ich den <Hier dann neuer Inhalt> so wie es oben steht (mein erster Beitrag, einfügen, das ich auf die Seite: auswertung.php komme....???


WEBI

:D :lol: :D
 
ich habe dir je bereits auf php.de geantwortet - der thread sieht ja genauso aus
wie gesagt denke ich mal das du in der lage sein solltest bist 33 zu zaehlen
(und mal die sytax zu highlighten)
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben