Fonction $_POST mal interpretée

Mammouth du PHP | 686 Messages

21 avr. 2007, 23:33

bonsoir,
j'ai ce code

Code : Tout sélectionner

$_POST['nom']=trim($_POST['nom']); $_POST['mots']=trim($_POST['mots']); $_POST['dossier']=trim($_POST['dossier']); $_POST['titre']=trim($_POST['titre']); if(empty($_POST['nom']) || empty($_POST['mots']) || empty($_POST['titre'])) { echo "<meta http-equiv=\"refresh\" content=\"0;url=ajout.php?result=error&rubrique=$rub\">\n "; } else if($_POST['dossier'] == NULL) { echo "<meta http-equiv=\"refresh\" content=\"0;url=ajout.php?result=error&rubrique=$rub\">\n "; }
Lorsque ma valeur dossier est NULL ma boucle else if n'est pas prise en compte et le script continue.
D'ou ca peut venir j'ai tout essayé

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

21 avr. 2007, 23:40

Bonsoir,

Qu'entends tu par la valeur de la variable dossier est NULL?
Si c'est toi qui indique NULL en paramètre alors il faut que tu utilises les guillemets:
else if($_POST['dossier'] == "NULL") 
Sinon essaye la fonction isset:
else if(!isset($_POST['dossier'])) 
http://fr.php.net/isset
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 686 Messages

21 avr. 2007, 23:45

bien en fait ya rien a faire, même si à la place de NULL en valeur de mon champ de formulaire je met "rien" et que dans mon code je met

Code : Tout sélectionner

else if($_POST['dossier']== "rien") { echo "<meta http-equiv=\"refresh\" content=\"0;url=ajout.php?result=error&rubrique=$rub\">\n "; }
ca marche pas non plus
J'y pige rien ! lol

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

21 avr. 2007, 23:55

Et tu es sûr que ta première condition est fausse (c'est à dire que nom, mots et titre sont tous les 3 renseignés) ?
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 686 Messages

22 avr. 2007, 00:10

oui j'ai même essayer de faire ceci

Code : Tout sélectionner

if(empty($_POST['nom']) || empty($_POST['mots']) || empty($_POST['titre']) || $_POST['nom'] == "rien") { echo "<meta http-equiv=\"refresh\" content=\"0;url=ajout.php?result=error&rubrique=$rub\">\n "; }
mais rien n'y fait non plus

Avatar du membre
ViPHP
ViPHP | 3008 Messages

22 avr. 2007, 00:12

Quel est le résultat d'un echo $_POST['dossier']; ?

Mammouth du PHP | 686 Messages

22 avr. 2007, 00:16

NULL

Avatar du membre
ViPHP
ViPHP | 3008 Messages

22 avr. 2007, 00:18

Il te met null alors que tu as affecté la valeur "rien" ?

Quel est le type de ton champ ?

Mammouth du PHP | 686 Messages

22 avr. 2007, 00:19

ok c'es bon ca marche c'est que en fait, lorsque le formulaire possede un menu deroulat ou un item ne possede pas de nom et que par contre il possede une valeur ; il envoie tout le temps NULL pour ce champ
Merci d'avoir eclairci ce sujet !