Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[TEST de zones dans un formulaire]

4 réponses
Avatar
Vincent BENNER - PERSO
Bonjour,

Je suis en train de tester le contenu d'un
formulaire contenant 3 zones ztCLIENT,
ztPN, ztSN.

Les zones doivent être obligatoires. Sur
le formulaire, je ne PEUX PAS utiliser de
javascript.

Mon formulaire branche sur VALIDE.PHP
contenant les lignes suivantes :


if (!isset($_POST["ztCLIENT"])){
echo 'LE <B>CLIENT</B> EST OBLIGATOIRE...';
break;
}

if (!isset($_POST["ztPN"])){
echo 'LE <B>PN</B> EST OBLIGATOIRE...<BR>';
break;
}

if (!isset($_POST["ztSN"])){
echo 'LE <B>SN</B> EST OBLIGATOIRE...<BR>';
break;
}

J'ai mis un print_r à l'entrée

Array ( [ztCLIENT] => [ztPN] => [ztSN] => [btnOK] => VALIDER )

Et là, ça n'affiche pas de message d'erreur en cas d'oubli
d'une zone !!

Des idées ?

Vincent

4 réponses

Avatar
Olivier Miakinen

if (!isset($_POST["ztCLIENT"])){
echo 'LE <B>CLIENT</B> EST OBLIGATOIRE...';
break;
}

[...]

J'ai mis un print_r à l'entrée

Array ( [ztCLIENT] => [ztPN] => [ztSN] => [btnOK] => VALIDER )

Et là, ça n'affiche pas de message d'erreur en cas d'oubli
d'une zone !!


Parce que le navigateur n'oublie pas d'envoyer les zones que tu lui a
demandées, même si l'utilisateur a oublié de les remplir. La variable
existe donc, même si elle vaut "" (chaîne vide).

Essaye :

if (!isset($_POST["ztCLIENT"]) || ($_POST["ztCLIENT"] == "")) {
echo 'LE <B>CLIENT</B> EST OBLIGATOIRE...';
break;
}

Avatar
Antoun
Vincent BENNER - PERSO wrote:

if (!isset($_POST["ztCLIENT"])){
echo 'LE <B>CLIENT</B> EST OBLIGATOIRE...';
break;
}


Une variable peut être initialisée et être nulle ou chaîne vide. Teste
donc plutôt NULL ou "".

Avatar
Laurent Seguin
Olivier Miakinen <om+, le 13 déc. 2004 22:39:50, écrivait
ceci:

Essaye :

if (!isset($_POST["ztCLIENT"]) || ($_POST["ztCLIENT"] == "")) {
echo 'LE <B>CLIENT</B> EST OBLIGATOIRE...';
break;
}


Perso je préfère : if(empty($_REQUEST["ztCLIENT"])) { ... }
Mais bon c'est une question de gouts.

Avatar
John Gallet
Bonjour,

Perso je préfère : if(empty($_REQUEST["ztCLIENT"])) { ... }
Mais bon c'est une question de gouts.


Non pas seulement. Si tu gères un drop down où la valeur zéro est
autorisée, empty(0) te renverra TRUE alors que tu as bien reçu zéro.

Pour vérifier qu'une variable est définie, c'est bien isset(). Mais ceci
ne présume en rien de sa valeur. Donc ensuite on vérifie, par rapport à
son type, si toute définie qu'elle soit, elle a été ou non correctement
remplie.

a++
JG

PS : non, je ne me lancerai pas dans l'habituel couplet sur le filtrage
des variables, ça me fatiqgue, gardez vos passoires.