Champ vide avec isset
Bonjour à tous,
Bon , je suis persuadé que cette question à déjà était posée mais je ne suis pas parvenu à trouver ma réponse.
Mon problème est que j'utilise un formulaire et je vérifier si les variable sont bien définie à leur récéption. Cependant, avec la méthode isset un champ vide est bien défini alors que c'est ce que je voulai repérer.
Alors, que feriez vous dans mon cas?
Mon idé était d'abendonner le isset (d'ailleur à quoi sert-il?) et je compté tout simplemet tester si mes variable sont différente d'un ' ' (RIEN) .
Je pense que c'est une bonne solution mais peut-être pas la meilleur, donc si vous avez mieux : ca m'interresse.
Et si vous savez à quoi sert la méthode isset, je suis preneur.
Cultivons la bonne vibs !
pour verifier des variables il y a 2 solution
[color=blue]isset[/color] qui verifie que la variable et NON NULL
comment l utiliser
<?php
$var1 = '';
$var2 = 'aze';
//on verifie si les variable sont Non Null
//on retourne oui si ce n est pas null
print isset($var1) ? oui:non;
print '<br>';
print isset($var2) ? oui:non;
//on peux aussi utiliser la negation
//on retourne oui si la valeur et null
print !isset($var1) ? oui:non;
print '<br>';
print !isset($var2) ? oui:non;
?>|/code]
ou
[color=blue]empty[/color] qui berifie que la variable et dit NULL
comment l utiliser
[code]<?php
$var1 = '';
$var2 = 'aze';
//on verifie si les variable sont Non Null
//on retourne oui si la valeur et null
print empty($var1) ? oui:non;
print '<br>';
print empty($var2) ? oui:non;
//on peux aussi utiliser la negation
//on retourne oui si la valeur n est pas null
print !empty($var1) ? oui:non;
print '<br>';
print !empty($var2) ? oui:non;
?>|/code]
pour verifier des variables il y a 2 solution
isset qui verifie que la variable et NON NULL
comment l utiliser
<?php
$var1 = '';
$var2 = 'aze';
//on verifie si les variable sont Non Null
//on retourne oui si ce n est pas null
print isset($var1) ? oui:non;
print '<br>';
print isset($var2) ? oui:non;
//on peux aussi utiliser la negation
//on retourne oui si la valeur et null
print !isset($var1) ? oui:non;
print '<br>';
print !isset($var2) ? oui:non;
?>
ou
empty qui berifie que la variable et dit NULL
comment l utiliser
<?php
$var1 = '';
$var2 = 'aze';
//on verifie si les variable sont Non Null
//on retourne oui si la valeur et null
print empty($var1) ? oui:non;
print '<br>';
print empty($var2) ? oui:non;
//on peux aussi utiliser la negation
//on retourne oui si la valeur n est pas null
print !empty($var1) ? oui:non;
print '<br>';
print !empty($var2) ? oui:non;
?>
J'ai l'impression que dans ce que tu dis, NON NULL signifi différent de vide or quand j'utilise isset, les variable NULL ne sont pas détecté.
Peut-être ai-je mal compris et peut-être que je me suis mal fait comprendre. Ce que je souhaite c'est quand je récupère les variable de mon formulaire, je vérifie que l'utilisateur n'a pas laissait de champ vide qui se concrétise par un champ vide ( '' ) dans la variable.
Je ne suis pas sûr d'avoir était plus explicite, alors si je ne suis pas assez claire demande moi des précision.
Sinon, la fonction empty est identique à la fonction isset mais à l'inverse elle retourne vrai si la variable est vide. c'est bien cela?
Cultivons la bonne vibs !
si tu a des doute sur
isset utilise
empty
sur la page de verification de ton forumulaire fait un
print_r
comme cela
[/code]<?php
print_r($_POST); // si tu passe le formulaire en post
?>[/code]
sa te retournera l array du formulaire sous cette forme
'nom_champ_1'=>'valeur', 'nom_champ_2'=>'valeur', ...
pour prendre un champ on le sort a la maniaire d un tableau
[color=green]echo[/color] [color=blue]$_POST[/color][color=green][[/color]nom_champ[color=green]];[/color]
si tu a des doute sur
isset utilise
empty
sur la page de verification de ton forumulaire fait un
print_r
comme cela
<?php
print_r($_POST); // si tu passe le formulaire en post
?>
sa te retournera l array du formulaire sous cette forme
'nom_champ_1'=>'valeur', 'nom_champ_2'=>'valeur', ...
pour prendre un champ on le sort a la maniaire d un tableau
echo $_POST[nom_champ];
isset test l'exstence d'une variable.
empty test si la variable est vide.
zebdinou pour les intimes / Blog : http://www.zebden.fr
si tu a des doute sur
isset utilise
empty
sur la page de verification de ton forumulaire fait un
print_r
comme cela
<?php
print_r($_POST); // si tu passe le formulaire en post
?>
sa te retournera l array du formulaire sous cette forme
'nom_champ_1'=>'valeur', 'nom_champ_2'=>'valeur', ...
pour prendre un champ on le sort a la maniaire d un tableau
[color=green]echo [/color][color=blue]$_POST[/color][color=green][[/color]nom_champ[color=green]];[/color]
Si tu veux tester si le champ est vide ou non, utilise empty.
Attention, si le champ contient la valeur '0', empty retournera FALSE.
isset sert a tester si les variables sont définies.
Merci, empty() est tout à fait se que je recherché.
Je suppose que maintenant ca fonction. Je suppose car mes message d'alert ne s'affiche pas.
Mes redirection fonctionne mais pas mes message d'alert, voici comment je procéde :
echo '<body onLoad="alert(\'Le Message.\')">';
Alors, où est l'erreur. Je penser tout d'abord que le faite que je soit dans un code purement php (sans html) ne permettai pas d'utiliser cette balise (et c'est peut-être le cas).
Mais ma balise de rdirection que voici fonctionne :
echo '<meta http-equiv="refresh" content="0;URL=../../index.php">';
Donc je ne sais pas.
Ce que je veut c'est que s'il y a une problème on revienne à une page du site (l'accueil ou la page d'inscription qui n'a pas était bien remplie) en affichant une fenêtre d'alert indiquant le problème rencontré.
Cultivons la bonne vibs !