Willkommen in der Webstatt
User-1 am 22.02.07 20:24

Hallo,
Ich habe eine Reihe von Bedingungen für mein GB. Bis eben hab ich einfach alles mit die() gemacht, doch das geht nicht, denn nach dem eigentlichen php-script kommen noch ein paar wichtige Zeilen html, die mit die() nicht mitgesendet werden.
Wie mach ich das also? Mit if und elseif? oder gibt es eine andere Methode?!

Das sind meine 3 Bedingungen...

<?php
if(!(isset($_POST['homepage']) AND $_POST['homepage'] == ""))
echo "Bitte benutze das Formular aus dem Gästebuch";

if(trim($_POST['gbname']) == "") {
echo "Bitte Namen eintragen";
}

if(trim($_POST['gbtext']) == "") {
echo "Bitte Inhalt eintragen";
}

Nicht verwirren lassen von dem "homepage" das ist ein verstecktes formular feld und dient 1. der Kontrolle, ob das Formular auch benutzt wurde und dient 2. als primitiver Spambot schutz.

netcup.de Warum gibt es hier Werbung?
User-2 am 22.02.07 20:27

was willst du erreichen? das alle ausgegeben werden? dass er nach und nach durchcheckt? ich versteh nicht was du willst :D

User-1 am 22.02.07 20:35

Quote
Original von xyz-161
was willst du erreichen? das alle ausgegeben werden? dass er nach und nach durchcheckt? ich versteh nicht was du willst :D

Oh, sorry^^ wenn die bedingungen true sind soll jeweils der string ausgegben werden und der rest nicht. wenn alle false sind, etwas anderes.

User-2 am 22.02.07 20:39

mh? nicht gerade schön, aber beste möglichkeit :D

if(!(isset($_POST['homepage']) AND $_POST['homepage'] == ""))
$errors[] = "Bitte benutze das Formular aus dem Gästebuch";
}
if(trim($_POST['gbname']) == "") {
$errors[] = "Bitte Namen eintragen";
}
if(trim($_POST['gbtext']) == "") {
$errors[] = "Bitte Inhalt eintragen";
}

if(count($error)) {
foreach($errors as $error) {
print $error."<br />";
}
} else {
print "something else<br />";
}

User-1 am 22.02.07 20:45

Mh... es ist nohnichteinmal notwendig, dass alle "errors" angezeigt werden. Es reicht, wenn nur der angezeigt wird, der bei meiner reihenfolge von bedingungen als erstes auftritt. also elseif?

User-2 am 22.02.07 20:46

jop D
if(!(isset($_POST['homepage']) AND $_POST['homepage'] == ""))
echo "Bitte benutze das Formular aus dem Gästebuch";
} elseif(trim($_POST['gbname']) == "") {
echo "Bitte Namen eintragen";
} elseif(trim($_POST['gbtext']) == "") {
echo "Bitte Inhalt eintragen";
} else {
echo "something else";
}

User-1 am 22.02.07 21:27

Eine Frage: Übergibt eine Textarea nichts, wenn sie nicht ausgefüllt wird? Also nochnichtmal einen leeren String?

Antwort: Nein.

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt