Probleme un script

Résolu
Signaler
Messages postés
476
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
2 juin 2012
-
Messages postés
476
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
2 juin 2012
-
Bonsoir tout le monde

J'ai un probleme avec mon scripte , c'est les boutons radio de mon formulaire qui posent probleme.

En effet, je selection un bouton, et je rempli les champs, comme reponse il me donne "ERREUR : Quel est votre titre"

Voici mon code:

<?


if (isset($civilite)==false) die ("ERREUR : Quel est votre titre");

if (empty($nom)==false || empty($prenom)==false || empty($email)==false || empty($objet)==false || empty($message)==false)


{
echo "aucun champs ne doit être vide. Retour";


}


else


{


$liendb = mysql_connect("sql.free.fr","login","mot de passe");


mysql_select_db('v_debailleul') or die(mysql_error());

mysql_query("INSERT INTO tbl_message_recu (civilite,nom,prenom,objet,email,message) VALUES ('".$_POST['civilite']."','".$_POST['nom']."','".$_post['prenom']."','".$_POST['email']."','".$_POST['objet']."','".$_POST['message']."')") or die(mysql_error());


mysql_close();


}


?>

Si vous voulez, je pourrais afficher le code de mon formulaire.

Y a t'il une erreur

Mercie de votre aide

Cordialement

A bientôt

24 réponses

Messages postés
476
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
2 juin 2012
1
Bonjour tout le monde

ca fonction, l'erreur etait dans la table.

J'avais mi é au lieu de e dans civilite

Merci

Cordialement

A bientôt
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
salut!

euh... et si tu mets des accolades autour de die ("ERREUR : Quel est votre titre"); ça va pas mieux?
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
quand on ne met pas d'accolades, alors c'est comme si on les mettais autour d'une seule instruction !


pour récupèrer une valeur d'un formulaire, on utilises get ou post, pas le nom du champ tout seul...



ainsi, ton isset vérifie une variable non définie !


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
476
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
2 juin 2012
1
Bonjour tout le monde

J'ai fais les modifications est ca ne fonctionne pas il me dit toujour "ERREUR : Quel est votre titre"

Je vous es remi le code du script + le code de la form.

Voici le code du scripte:

<?


if (isset($_post['civilite'])==false) die ("ERREUR : Quel est votre titre");



if (empty($_post['nom'])==false || empty($_post['prenom'])==false || empty($_post['email'])==false || empty($_post['objet'])==false || empty($_post['message'])==false)


{



echo "aucun champs ne doit être vide. Retour";


}


else


{


$liendb = mysql_connect("sql.free.fr","login","mot de passe");


mysql_select_db('v_debailleul') or die(mysql_error());

mysql_query("INSERT INTO tbl_message_recu (civilite,nom,prenom,objet,email,message) VALUES ('".$_POST['civilite']."','".$_POST['nom']."','".$_post['prenom']."','".$_POST['email']."','".$_POST['objet']."','".$_POST['message']."')") or die(mysql_error());


mysql_close();


}


?>

Voici le code de mon formulair:

<form method="post" action="message recu.php" enctype="text/plain">


Mlle
Mme
M.


Prénom:


Nom:


Email:


Objet:



Question:


<textarea name="message" rows="5" wrap="virtual" cols="50"></textarea>

</form>

Je voudrais bien savoir où est mon erreur.

Mercie d'avance de votre aide

Cordialement

A bientôt
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,



j'ai lu a la va vite, mais if empty $var) == false veut dire :

si $var n'est pas vide...

donc si UN de tes champs n'est PAS vide, tu affiches un message
d'erreur comme quoi l'un d'eux est vide. Ce n'est pas le but recherche
il me semble.
Messages postés
476
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
2 juin 2012
1
Bonjour tout le monde

Donc, je deverais intervertir le true au lieu de false alors.

Cordialement

A bientôt
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
NON, l'erreur n'est pas la !

l'erreur vient de la différence entre $_POST et $_post !!!!

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
476
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
2 juin 2012
1
Bonsoir tout le monde

Je dois mêttre $_post en minuscule ou en majuscule?

Mercie

Cordialement

A bientôt
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
si tu essayais les deux, tu perdrais moins de temps...



en majuscule...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
476
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
2 juin 2012
1
Bonjour tout le monde

Pour la ligne ci-dessous il me fait plus de message d'erreur.

if (isset($_POST['civilite'])==true) die ("ERREUR : Quel est votre titre");

Mais pour cette ligne ci il m'envoi ce message d'erreur "aucun champs ne doit être vide"

if (empty($_POST['nom'])==true || empty($_POST['prenom'])==true || empty($_POST['email'])==true || empty($_POST['objet'])==true || empty($_POST['message'])==true)
{



echo "aucun champs ne doit être vide. Retour";


}


else


{


$liendb = mysql_connect("sql.free.fr","login","mot de passe");


mysql_select_db('v_debailleul') or die(mysql_error());

mysql_query("INSERT INTO tbl_message_recu (civilite,nom,prenom,objet,email,message) VALUES ('".$_POST['civilite']."','".$_POST['nom']."','".$_POST['prenom']."','".$_POST['email']."','".$_POST['objet']."','".$_POST['message']."')") or die(mysql_error());


mysql_close();


}

Pouvez vous me dire pourquoi il me repond celà, mes champs de sont pas vident.

Merci

Cordialement

A bientôt
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
if (empty($_POST['nom'])==true || empty($_POST['prenom'])==true ||
empty($_POST['email'])==true || empty($_POST['objet'])==true ||
empty($_POST['message'])==true)

{




en fait, c'est : si la varibale $_POST['nom'] est vide, ou si $_POST['prenom'] l'est ...



if (empty($_POST['nom']) || empty($_POST['prenom']) ||
empty($_POST['email']) || empty($_POST['objet']) ||
empty($_POST['message']))


{



c'est un peu plus corect comme ça... Mais l'erreur ne vient pas de la... envoi le code du formulaire


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
=>

NON, l'erreur n'est pas la !



Puis quoi encore lol? C'est bien une erreur. S'il a tjrs le message
affiche comme quoi un champ est vide, c'est normal avec ce qu'il avait.
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
Juste comme ça, relis mon post, j'ai coreigé sa ligne, en lui disant que l'erreur n'était pas la...

je lui ai demandé le code de son formulaire...

donc, mon post était justifié, puisque je lui ai corigé une ligne, elle ne produisait pas de bug, mais était mal codée !


je crois que l'erreur vient du formulaire qui ne doit pas envoyer les champs avec le même nom...


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Je suis d'accord, mais le empty machin == false ne pouvait pas donner le resultat espere.

Mais s'il a tjrs une erreur, en effet, c'est que les variables ne correspondent pas. Faut voir le formulaire, oui.
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
j'ai dit que l'erreur ne vennait pas de la ! ça voulait bien dire qu'il n'aurai pas le résultat espéré !

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
476
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
2 juin 2012
1
Bonsoir tout le monde

Voici le code de mon formulaire

<form method="post" action="message recu.php" enctype="text/plain">


Mlle
Mme
M.


Prénom:


Nom:


Email:


Objet:



Question:


<textarea name="message" rows="5" wrap="virtual" cols="50"></textarea>

</form>

Avez vous trouvé des erreures?

Mercie

Cordialement

A bientôt
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
<form method="post" action="2.php">



il ne faut pas mettre d'encttype, laisser celui par défaut, en tout cas pas text/plain...

pour le savoir, il fallait faire :

print_r($_POST);

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
476
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
2 juin 2012
1
Bonjour

J'ai pas de chance, maintenant c'est la ligne ci dessou qui pose probleme

if (isset($_POST['civilite'])) die ("ERREUR : Quel est votre titre");

il me repond "Quel est votre titre"

pourquoi fait il ca, où est l'erreur?

Cordialement

A bientôt
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
if (!isset($_POST['civilite'])) die ("ERREUR : Quel est votre titre");
ou

if (empty($_POST['civilite'])) die ("ERREUR : Quel est votre titre");


isset dit si la variable est remplie ou non....





In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Decidement, tu as du mal avec les conditions lol ;-)