Flashhilfe.de - Flash Community

Formularprüfung Fehler: Errormeldung kommt direkt beim ersten Laden

 


AntwortenRegistrieren Seite1  

tvtotal#1
Benutzerbild von tvtotal
Beiträge: 32
Registriert: Mar 2006

03.10.2009, 11:19

Hallo zusammen,

ich habe das Problem, dass bei einer Formularprüfung mit Radiobuttons und Checkboxen die Fehlermeldung sofort beim ersten Laden angezeigt wird.

Ich prüfe Textfelder auf die gleiche Weise und hier kommt dieser Fehler nicht, d.h. hier erscheint der Fehlertext erst nach dem Absenden.

Wie kann ich das beheben ?

Danke für alle Hinweise.

Grüße

tvtotal



PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php //Pruefung

if("" ==  $_POST['gender'])
{
   
$errField['gender'] = checkForm($_POST['gender'], "gender");
    if(!empty(
$errField['gender'])) $validForm FALSE;
?>

<?php //Fehlertext

case("gender"):
         
$errMsg "<-bitte angeben.";
      break;

// Buttons
?>
<?php
echo '<input name="gender" type="radio" value="frau1"'.(($_POST['gender']==frau1)?" checked":"").'>';
?>
          Frau /
          <?php
echo '<input name="gender" type="radio" value="herr1"'.(($_POST['gender']==herr1)?" checked":"").'>';
?>

//Fehlerausgabe
<?php
       
if(!empty($errField['gender']))
            echo 
"<span style=\"color:#F00\">".$errField['gender']."</span>";
       
?>
Geändert von tvtotal am 03.10.09 um 11:22 Uhr
Wolle54#2
Benutzerbild von Wolle54
Beiträge: 1
Registriert: Jan 2010

04.01.2010, 14:37

$_POST['gender'] wird von PHP von Haus aus als leer (eigentlich NULL) erkannt, wenn da kein Wert vorhanden ist.

Am besten, du prüfst vorher, ob das Formular abgeschickt wurde mit einem Wert der existiert, z.B. einem input-Feld (type: hidden) und erst danach weiter.
Basiii#3
Benutzerbild von Basiii
Beiträge: 8
Wohnort: Neumünster
Registriert: Jan 2010

05.01.2010, 17:06

Huhu,

also ich prüfe meine Formulare immer so:

Mein Submitbutton heisst einfach "send" und da steht "Absenden" drin,

dann einfach:

PHP:
1
2
3
4
5
6
7
8
9
10
11
<?php
@$send $_GET['send'];

if(
"Absenden" == $send) {
// auswertung
}
else {
// formularanzeige
}
?>


Klappt immer ganz gut, und dank dem @ wird kein Fehler ausgegeben wenn noch nichts abgeschickt ist .
Du + Ich = Wir : )
Dieser Satz kein Verb!
Geändert von Basiii am 05.01.10 um 17:07 Uhr
Onimon#4
Benutzerbild von Onimon
Beiträge: 13
Wohnort: Bremerhaven
Registriert: Jan 2010

28.01.2010, 12:12

Ich würde aus 'Ordnungsgründen' die '@'-Geschichten nicht machen, sondern lieber mit isset prüfen. Denn der @-Operator wird bei einigen php.ini-Warning-Settings dennoch zum knacken führen. Ausserdem ist der Code immernoch fehlerhaft, die Meldung wird nur unterdrückt ;)

Mal davon ab, dass es bei solchen Dingen zu kritischen Folgefehlern führen kann

Ich würde es so machen:

PHP:
1
2
3
4
5
6
7
8
9
<?php //Pruefung

if(!issset($_POST['gender']))
{
   
$errField['gender'] = checkForm($_POST['gender'], "gender");
    if(!empty(
$errField['gender'])) $validForm FALSE;
?>
....



MfG
Geändert von Onimon am 28.01.10 um 12:14 Uhr

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2021 Sebastian Wichmann - Flashhilfe.de