KD-one: Nächste Runde - Gästebuchscript

Beitrag lesen

Hi Andreas-Lindig,

#wenn kein druckbares Zeichen gefunden wird, sondern allenfalls whitespaces oder nichts
if(!preg_match("/\S/", $antwort))

Nun, ich hab das mal eingebaut, aber die Prüfung wird entweder nicht durchgeführt, oder aber das Ergebnis einfach übergangen.

if (!isset($_POST['name']) || !isset($_POST['nachricht'])) {
 @readfile("guestbook/speicher.txt");
} else if (!empty($POST['name']) || !empty($POST['nachricht'])) {
 if(!preg_match("/\S/",$name)) {
  echo "<p>Der Name darf nicht nur aus Leerzeichen bestehen!</p>";
        @readfile("guestbook/speicher.txt");
        exit;
 } else if(!preg_match("/\S/",$nachricht)) {
  echo "<p>Die Nachricht sollte etwas mehr als nur Leerzeichen enthalten!</p>";
        @readfile("guestbook/speicher.txt");
        exit;
 }
} else if ((isset($_POST['name']) && $_POST['name'] == "") || (isset($_POST['nachricht']) && $_POST['nachricht'] == "")) {
 echo "<p>Name und Kommentar müssen ausgefüllt werden!<br>Bitte geben sie diese Daten korrekt ein!</p>";
 @readfile("guestbook/speicher.txt");
} else if (isset.......

Es ist nach wie vor möglich Posts mit nur Leerzeichen in den Feldern Name und Nachricht abzuschicken. Das komplette Script kann man hier besichtigen:
http://faq.united-web.at/guestbook/gaestebuch.phps

Und wie sieht es mit neuladen nach dem Abschicken eines Postings aus? Vermehren sich da die Einträge?

Jep, leider.
Wie könnte man das vermeiden, ohne gleich mit Sessions zu arbeiten?
(Hab noch nie damit was gemacht, kenn mich also null damit aus).

Brauchst Du auch nicht. Trenne auslesen und schreiben der Datei. Wenn die Datei geschrieben wurde, leite wieder zum Ausgangsscript (lesen und ausgeben) weiter. Dann existiert die POST-Anfrage nicht mehr.

Spätestens hier wird leider eine völlige Umstrukturierung des Scriptes nötig. *seufz*
Das wird aber eine Weile dauern. Trotzdem Danke für den Tip, jetzt weiss ich wenigstens, wie ich es angehen sollte.

Gruß

Kurt

--
Nein, ich beantworte keine Anfragen per e-mail.
ss:( zu:) ls:[ fo:) de:] va:| ch:| sh:( n4:° rl:( br:? js:| ie:% fl:( mo:?
"Tadele nicht den Fluss, wenn du ins Wasser faellst."  (ind. Sprichwort)
http://elektro-dunzinger.at
http://shop.elektro-dunzinger.at
0 50

Nächste Runde - Gästebuchscript

KD-one
  • php
  1. 0
    ichen
    1. 0
      KD-one
  2. 0
    Andreas-Lindig
    1. 0
      KD-one
      1. 0
        ichen
        1. 0
          KD-one
      2. 0
        Andreas-Lindig
        1. 0
          KD-one
          1. 0
            Badboy46
            1. 0
              KD-one
              1. 0
                Badboy46
        2. 0

          Kommando zurück

          KD-one
  3. 0

    Nächste Runde - E-Mailprüfung mit RegEx

    KD-one
    1. 0
      Badboy46
      1. 0
        KD-one
        1. 0
          Badboy46
          1. 0
            KD-one
            1. 0
              Badboy46
              1. 0

                Nachtrag

                Badboy46
              2. 0
                KD-one
                1. 0
                  Badboy46
                  1. 0
                    KD-one
                    1. 0
                      Badboy46
                      1. 0
                        KD-one
              3. 0
                KD-one
          2. 0
            KD-one
            1. 0
              Badboy46
              1. 0
                KD-one
    2. 0
      Andreas-Lindig
    3. 0
      Cybaer
      1. 0
        KD-one
  4. 0

    vorläufig fertiges Script

    KD-one
    1. 0
      Andreas-Lindig
      1. 0
        KD-one
      2. 0

        Bitte nochmals um Hilfe :-)

        KD-one
        1. 0

          Danke, bereits erledigt! ;-)

          KD-one
    2. 0
      Badboy46
      1. 0
        KD-one
        1. 0
          Badboy46
          1. 0
            KD-one
            1. 0
              Badboy46
              1. 0
                KD-one
      2. 0
        KD-one
        1. 0
          Badboy46
          1. 0
            KD-one
          2. 0
            KD-one
            1. 0
              Badboy46
              1. 0
                KD-one
                1. 0
                  Badboy46