php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.10.2005, 00:11  
GN
Erfahrener Benutzer
 
Registriert seit: 17.01.2004
Beiträge: 155
GN zeigte ein beschämendes Verhalten in der Vergangenheit
Standard Affenformular

Hallo,

$error['wert'] = "Dieses Feld darf nicht leer sein.";

Wieso zeigt er mir die Fehlermeldung nicht an, wenn das Feld "wert" leer ist?

PHP-Code:
<?php
 
if (isset ($POST['speichern']))
 {
     if(empty(
$_POST['wert']))
     {
         
$error['wert'] = "Dieses Feld darf nicht leer sein.";
     }
 }

 if (empty(
$error) && isset($_POST['speichern']))
 {
     
// Hier wird DB-eintrag vorgenommen werden
     
echo "Eintrag wurde erfolgreich durch geführt.";
 }
 elseif (isset (
$_POST['auswahl']))
 {
     if(!empty(
$error))
     {
         echo 
"Es ist ein Fehler aufgetreten.";
     }
     echo 
"<form action="$_SERVER['PHP_SELF'] ." method=\"post\">";
     echo 
"  <input type=\"text\" name=\"wert\" />";
     echo 
"  <input type=\"submit\" name=\"speichern\" value=\" speichern \" />";
     echo 
"</form>";
 }
 else
 {
     echo 
"<form action="$_SERVER['PHP_SELF'] ." method=\"post\">";
     echo 
"  <input type=\"submit\" name=\"auswahl\" value=\" ausw&auml;hlen \" />";
     echo 
"</form>";
 }
?>
GN
GN ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.10.2005, 01:50  
Gast
 
Beiträge: n/a
Standard

error_reporting(E_ALL); ini_set('display_errors', true);
an den Anfang des Skripts setzen.
Das zeigt Dir dann schonmal an, dass Du bei $POST ein _ vergessen hast.

Wenn Du Deine Zeichenketten in ' setzt, musst Du " nicht \" schreiben.
PHP-Code:
<?php
echo '  <input type="submit" name="speichern" value=" speichern " />';
// finde ich lesbarer als
echo "  <input type=\"submit\" name=\"speichern\" value=\" speichern \" />";
?>
naja, vermutlich Geschmackssache.

Ohne Debugger hilft meist nur: Kein if ohne else und kein Zweig ohne Ausgabe.
PHP-Code:
<?php
if ($a) {
    echo 
'$a ist wahr';
    if (
$b) {
        echo 
'$b ist wahr';
    }
    else {
        echo 
'$a ist NICHT wahr';
    }
}
else
    echo 
'$a ist NICHT wahr';
?>
Ausserdem mal Anfang mal mit print_r($_POST) anzeigen lassen, mit welchen Daten gearbeitet wird.
 
Alt 06.10.2005, 08:51  
Gast
 
Beiträge: n/a
Standard

Zitat:
Kein if ohne else
display: unnecessary else ????
 
Alt 06.10.2005, 09:05  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard Re: Affenformular

[quote="GN"]Hallo,

$error['wert'] = "Dieses Feld darf nicht leer sein.";

Wieso zeigt er mir die Fehlermeldung nicht an, wenn das Feld "wert" leer ist?

PHP-Code:
<?php
 
if (isset ($POST['speichern']))
 {
     if(empty(
$_POST['wert']))
     {
         
$error['wert'] = "Dieses Feld darf nicht leer sein.";
     }
 }
?>
/quote]

Warum sollte er sowas ausgeben, wenn er gar nicht in die äußere if-Anweisung reinläuft?
Abgesehen von der falschen Variable $POST müssen beide Bedingungen erfüllt sein, damit er da hin kommt.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 06.10.2005, 10:16  
GN
Erfahrener Benutzer
 
Registriert seit: 17.01.2004
Beiträge: 155
GN zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Hallo,

Zitat:
dass Du bei $POST ein _ vergessen hast
habe ich geändert.
Meine Frage ist, wie kann man die Sache umbauen, das erst $_POST['auswahl'] verarbeitet wird und wenn da kein Fehler vorhanden ist $_POST['speichern'] verarbeitet wird?

PHP-Code:
<?php
 error_reporting 
(E_ALL);
 
 if (isset (
$_POST['auswahl']))
 {
     if(empty(
$_POST['test']))
     {
         
$error['test'] = "Dieses Feld darf nicht leer sein.";
     }
 }
 if (isset (
$_POST['speichern']))
 {
     if(empty(
$_POST['wert']))
     {
         
$error['wert'] = "Dieses Feld darf nicht leer sein.";
     }
 }

 if (empty(
$error) && isset($_POST['speichern']))
 {
     
// Hier wird DB-eintrag vorgenommen werden
     
echo "Eintrag wurde erfolgreich durch geführt.";
 }
 elseif (isset (
$_POST['auswahl']))
 {
     if(!empty(
$error))
     {
         echo 
"Es ist ein Fehler aufgetreten.";
     }
     echo 
"<form action="$_SERVER['PHP_SELF'] ." method=\"post\">";
     echo 
"  <input type=\"text\" name=\"wert\" />";
     echo @
$error['wert'];
     echo 
"  <input type=\"submit\" name=\"speichern\" value=\" speichern \" />";
     echo 
"</form>";
 }
 else
 {
     if(!empty(
$error))
     {
         echo 
"Es ist ein Fehler aufgetreten.";
     }
     echo 
"<form action="$_SERVER['PHP_SELF'] ." method=\"post\">";
     echo 
"  <input type=\"text\" name=\"test\" />";
     echo 
"  <input type=\"submit\" name=\"auswahl\" value=\" ausw&auml;hlen \" />";
     echo @
$error['test'];
     echo 
"</form>";
 }
?>
GN
GN ist offline  
Alt 06.10.2005, 10:50  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von GN
Meine Frage ist, wie kann man die Sache umbauen, das erst $_POST['auswahl'] verarbeitet wird und wenn da kein Fehler vorhanden ist $_POST['speichern'] verarbeitet wird?

mit elseif statt if?
 
Alt 06.10.2005, 11:47  
GN
Erfahrener Benutzer
 
Registriert seit: 17.01.2004
Beiträge: 155
GN zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Hi,

ich verwende doch elseif...?

GN
GN ist offline  
Alt 06.10.2005, 12:17  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von J33d3X
Zitat:
Kein if ohne else
display: unnecessary else ????
ähm, bestimmt.
Wie meinen?
 
Alt 06.10.2005, 12:49  
GN
Erfahrener Benutzer
 
Registriert seit: 17.01.2004
Beiträge: 155
GN zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Hi,

ich habe aus
Code:
elseif (isset ($_POST['auswahl']))
PHP-Code:
elseif (empty($error) && isset($_POST['auswahl'])) 
gemacht.
Das einzige Problem was ich nun noch habe ist, wenn im elseif-Teil das Feld "wert" leer bleibt springt er wieder in den else-Teil.

Was muss ich ändern, das er mir im elseif-Teil die Fehlermeldung anzeigt.

GN
GN ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Affenformular + Textarea (sowie option value) geht nicht rainyday PHP Tipps 2008 28 30.09.2009 23:07
Probleme beim Affenformular Nicki28 PHP Tipps 2008 2 23.12.2007 10:47

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
affenformular php, php affenformular, formular variable value = $post affenformular, php affenformular submit, php affenformular fehlerausgabe, affenformular action, affenformular ohne value, affenformular error messages, action post affenformular, php submit speichern wenn nicht leer, unnecessary else clause style, value in php speichern und kein name, affenformular php post, php affenformular url, affenformular name speichern, datum auswahl als affenformular, php wenn form blank fehlermeldung, if ohne else, http://www.php.de/php-tipps-2005-2/31955-affenformular.html, php if speicher nicht leer

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:51 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.