Champ vide avec isset

Répondre
Mr.White
le 30/04/2004 à 12:50
Mr.White
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 !
XTremTourist
le 30/04/2004 à 12:58
XTremTourist
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]
XTremTourist
le 30/04/2004 à 12:59
XTremTourist
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;

?>
Mr.White
le 30/04/2004 à 13:13
Mr.White
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 !
XTremTourist
le 30/04/2004 à 13:34
XTremTourist
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]
XTremTourist
le 30/04/2004 à 13:35
XTremTourist
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];
zebden
le 30/04/2004 à 13:36
zebden
isset test l'exstence d'une variable.
empty test si la variable est vide.
zebdinou pour les intimes / Blog : http://www.zebden.fr
XTremTourist
le 30/04/2004 à 13:37
XTremTourist
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]
LA GLOBULE
le 30/04/2004 à 13:38
LA GLOBULE
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.
Mr.White
le 30/04/2004 à 13:48
Mr.White
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 !
Répondre
LoadingChargement en cours