if / else

01/13/2016 22:24 .Traze™#1
Ahoi Community,

wie ist es möglich, dass, wenn ich ein Formular habe und noch nicht auf abschicken gedrückt habe, dass dort dan nichts steht.

Wenn ich aber abschicken drücke und ein Feld vergessen habe, dass dort dan "Bitte füllen Sie alle Felder aus!" steht.

Wenn alle Felder ausgefüllt wurden und abschicken gedruckt wurde, dass dort dann "Alle Datensätze wurden erfolgreich eingetragen.".

Hier mal den Code, den ich geschrieben habe, er aber immer "Bitte füllen Sie alle Felder aus!" ausgibt...

Danke im Voraus!

PHP Code:
<?php
    
    
if(!empty($_POST['button'])) 
    {
        if (empty(
$_POST['bname']) or empty($_POST['email']) or empty($_POST['code']) or empty($_POST['date']) or !empty($_POST['ersteller']))
        {
            echo (
"Bitte füllen Sie alle Felder aus!");
        }
        else
        {
                echo(
"ok!");
        }    
    }
?>
01/13/2016 22:43 Icetea#2
Um abzufragen ob der Button gedrückt wurde, solltest du einfach isset nehmen. Du hast in deinem zweiten if-Konstrukt einmal ein !empty(), d.h. "enthält einen Wert" gehabt, wobei es hätte empty() sein müssen. Ob du nun || oder OR nimmst ist dir überlassen, ich persönlich nehme nicht so gerne AND und OR sondern lieber die Operatoren && sowie ||, aber da hat jeder seinen ganz eigenen Stil.

Schau dir mal folgende Links an:
Das Snippet hier sollte funktionieren.

PHP Code:
<?php
    
if(isset($_POST['button'])) {
        if(empty(
$_POST['bname']) || empty($_POST['email']) || empty($_POST['code']) || empty($_POST['date']) || empty($_POST['ersteller'])) {
            echo 
'Bitte füllen Sie alle Felder aus!';
        } else {
            echo 
'Erfolgreich abgesendet / eingetragen';
        }
    }
?>
Ich denke soweit sollte dann alles geklärt sein. Sollten Rückfragen bestehen, einfach melden. :P

Liebe Grüße,
Icetea'
01/13/2016 23:13 .Traze™#3
Danke dir.

Ich werde auf das Angebot zurückkommen :D
01/14/2016 08:10 LekoArts#4
Ich würde noch erwähnen wollen, dass du auch schon einen Schritt vorher überprüfen kannst ob alles ausgefüllt ist - nämlich im HTML Code. Wenn du dem Input im form Element einen "required" Tag hinzufügst kommt dann automatisch eine Nachricht.

Bsp.:
Code:
<input type="text" pattern="{3,}" required></input>
Ein Textinput, der mindestens 3 Buchstaben haben muss und ausgefüllt werden muss.
01/14/2016 09:02 .Traze™#5
Ah, auch gut zu wissen.
Danke dir!
01/14/2016 17:00 Icetea#6
Quote:
Originally Posted by LeKoArts View Post
Ich würde noch erwähnen wollen, dass du auch schon einen Schritt vorher überprüfen kannst ob alles ausgefüllt ist - nämlich im HTML Code. Wenn du dem Input im form Element einen "required" Tag hinzufügst kommt dann automatisch eine Nachricht.

Bsp.:
Code:
<input type="text" pattern="{3,}" required></input>
Ein Textinput, der mindestens 3 Buchstaben haben muss und ausgefüllt werden muss.
Man sollte es HTML seitig und PHP seitig überprüfen, da es nicht gerade eine Kunst ist, mit einem Browseraddon den HTML Code zu bearbeiten & das required Attribute zu entfernen. Und den <input> tag musst du nicht so schließen. :)

Code:
<input type="text" pattern="{3,]" required>
Das reicht vollkommen.

Liebe Grüße,
Icetea'