Précédent   Forum des professionnels en informatique > PHP > Scripts
Scripts Forum d'entraide sur les scripts PHP téléchargés. Les meilleurs scripts PHP, la FAQ scripts PHP, toutes les FAQ PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/01/2007, 20h05   #1
Membre régulier
 
Avatar de carelha
 
Inscription : mars 2006
Messages : 168
Détails du profil
Informations personnelles :
Localisation : France, Yvelines (Île de France)

Informations forums :
Inscription : mars 2006
Messages : 168
Points : 74
Points : 74
Par défaut Vérification avec empty

Bonsoir, voici un problème de grand grand débutant, je ne comprends même pas où est le problème ! Je cherche juste à vérifier si X variables d'un formulaire sont toutes vides :
Code :
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
if (
	empty($_POST['public'])
	&&
	empty($_POST['activite'])
	&&
	empty($_POST['lieu'])
	&&
	empty($_POST['description'])
	&& 
	empty($_POST['intervenants'])
	&& 
	empty($_POST['tarifs'])
	&&
	empty($_POST['ad1'])
	&&
	empty($_POST['ad2'])
	&&
	empty($_POST['ville'])
	&&
	empty($_POST['cp'])
	&& 
	empty($_POST['civ'])
	&& 
	empty($_POST['contact'])
	&&
	empty($_POST['telephone'])
	&&
	empty($_POST['email'])
	)
{echo 'toutes les variables sont vides';}
le problème, c'est que quand j'envoie le formulaire, sans remplir aucun de ces champs, il est considéré qu'un champ au moins est rempli, puisque c'est le ELSE qui est pris en compte :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
else
{echo 'voici les variables';
echo $_POST['email']; 
echo $_POST['telephone']; 
echo $_POST['contact'];
echo $_POST['civ']; 
echo $_POST['cp']; 
echo $_POST['ville'];
echo $_POST['ad2'];
echo $_POST['ad1'];
echo $_POST['tarifs'];
echo $_POST['intervenants'];  
echo $_POST['description'];
echo $_POST['lieu'];
echo $_POST['activite'];
echo $_POST['public'];     
 }
en envoyant le formulaire vide s'affiche donc 'voici les variables' et rien après, puisqu'il n'y a pas de variables...

C'est le B. A. BA, mais parfois, plus c'est gros, moins on le voit... Merci de votre aide.
__________________
En essayant continuellement on finit par réussir. Donc : plus ca rate, plus on a des chances que ca marche. Shadocks.

un seul header par page, et pour les autres redirections : echo "<script language='javascript'>window.location.href='XXX.php'</script>";
carelha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2007, 20h11   #2
Membre expérimenté
 
Inscription : mai 2002
Messages : 673
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 673
Points : 532
Points : 532
Et avec isset(), ça donne quoi ?

Code :
1
2
3
4
5
6
7
$t = 0;
foreach($_POST as $val)
{
    if(isset($val)) $t++;
}
 
echo 'Il y a '.$t.' variables remplies !';
gloubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2007, 20h23   #3
Membre régulier
 
Avatar de carelha
 
Inscription : mars 2006
Messages : 168
Détails du profil
Informations personnelles :
Localisation : France, Yvelines (Île de France)

Informations forums :
Inscription : mars 2006
Messages : 168
Points : 74
Points : 74
merci de ton passage. la réponse est "Il y a 16 variables remplies ! " soit toutes mes variables alors que je n'ai fait que poster le formulaire sans rien remplir
__________________
En essayant continuellement on finit par réussir. Donc : plus ca rate, plus on a des chances que ca marche. Shadocks.

un seul header par page, et pour les autres redirections : echo "<script language='javascript'>window.location.href='XXX.php'</script>";
carelha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2007, 20h33   #4
Membre du Club
 
Inscription : janvier 2007
Messages : 132
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 132
Points : 60
Points : 60
Le probleme des formulaires, c'est que meme si les valeurs sont égales a "" (rien), pour le script, elles sont attribuées. La solution consiste donc a faire :

Code :
1
2
3
4
if ($tavariable != "")
{
...
}
Et ca devrait marcher
Marc31boss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2007, 20h48   #5
Membre régulier
 
Avatar de carelha
 
Inscription : mars 2006
Messages : 168
Détails du profil
Informations personnelles :
Localisation : France, Yvelines (Île de France)

Informations forums :
Inscription : mars 2006
Messages : 168
Points : 74
Points : 74
merci, marc, mais sur le même principe si je fais
Code :
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
31
32
	if 
	(
	$_POST['public']==""
	&&
	$_POST['activite']==""
	&&
	$_POST['lieu']==""
	&&
	$_POST['description']==""
	&& 
	$_POST['intervenants']==""
	&& 
	$_POST['tarifs']==""
	&&
	$_POST['ad1']==""
	&&
	$_POST['ad2']==""
	&&
	$_POST['ville']==""
	&&
	$_POST['cp']==""
	&& 
	$_POST['civ']==""
	&& 
	$_POST['contact']==""
	&&
	$_POST['telephone']==""
	&&
	$_POST['email']==""
	)
 
{echo 'toutes les variables sont vides';}
il devrait comprendre que mes variables sont vides, or ce n'est pas le cas, il considère toujours que j'ai 16 variables définies.
__________________
En essayant continuellement on finit par réussir. Donc : plus ca rate, plus on a des chances que ca marche. Shadocks.

un seul header par page, et pour les autres redirections : echo "<script language='javascript'>window.location.href='XXX.php'</script>";
carelha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2007, 21h08   #6
Membre du Club
 
Inscription : janvier 2007
Messages : 132
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 132
Points : 60
Points : 60
Je ne comprends pas ce que tu veux dire dans ton dernier message... Ca marche ou non la solution que je t'ai proposée ?
Marc31boss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2007, 22h46   #7
Membre régulier
 
Avatar de carelha
 
Inscription : mars 2006
Messages : 168
Détails du profil
Informations personnelles :
Localisation : France, Yvelines (Île de France)

Informations forums :
Inscription : mars 2006
Messages : 168
Points : 74
Points : 74
j'ai utilisé if ($_POST['variable']=="") pour toutes les variables, et le problème reste le même, les 16 sont définies. La nuit porte conseil, merci à toi.
__________________
En essayant continuellement on finit par réussir. Donc : plus ca rate, plus on a des chances que ca marche. Shadocks.

un seul header par page, et pour les autres redirections : echo "<script language='javascript'>window.location.href='XXX.php'</script>";
carelha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2007, 23h39   #8
Membre expérimenté
 
Inscription : mai 2002
Messages : 673
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 673
Points : 532
Points : 532
moi, j'aurais bien vu le test inverse :

if( !$_POST['var1'] && !$_POST['var2'] && ...)
echo 'Toutes les variables sont vides !';
gloubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2007, 01h06   #9
Membre émérite
 
Inscription : juin 2002
Messages : 1 013
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 1 013
Points : 959
Points : 959
es-tu sûr que dans ton formulaire tu n'envoies que des vides ?

pour débugger, au lieu de faire des echo $_POST['email']; , fais des
Code :
1
2
echo 'email---', $_POST['email'], '---', strlen($_POST['email']), '---';
etc
le texte 'email' c'est pour savoir ou tu es
les --- c'est pour mieux voir, par exemple s'il y a un espace
et le strlen c'est pour voir la longueur de chaque post
francis m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2007, 09h52   #10
Membre régulier
 
Avatar de carelha
 
Inscription : mars 2006
Messages : 168
Détails du profil
Informations personnelles :
Localisation : France, Yvelines (Île de France)

Informations forums :
Inscription : mars 2006
Messages : 168
Points : 74
Points : 74
Merci à vous !!!

le problème était dans mon formulaire, j'avais
Code :
  <option value=" " selected>Choisir</option>
au lieu de

Code :
  <option value="" selected>Choisir</option>
merci bcp Francis pour le strlen, je note ca précieusement !
__________________
En essayant continuellement on finit par réussir. Donc : plus ca rate, plus on a des chances que ca marche. Shadocks.

un seul header par page, et pour les autres redirections : echo "<script language='javascript'>window.location.href='XXX.php'</script>";
carelha est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h12.


 
 
 
 
Partenaires

Hébergement Web