Formulaire PHP - Petit Pb code
Résolu
supportinfo58
Messages postés
40
Date d'inscription
Statut
Membre
Dernière intervention
-
supportinfo58 Messages postés 40 Date d'inscription Statut Membre Dernière intervention -
supportinfo58 Messages postés 40 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
A tous
je vais poster un message relatif à un formulaire php. oui encore un !!!;-) oups
Je sais que ca fait pester - voire pire - sourire - les habitués du php mais j'aurai besoin dun petit coup de pouce et un regard sur ce qui cloche sur mon envoi de formulaire
qui me renvoie inexorablement la même erreur - "veuillez remplir tous les champs"
ca doit etre bête et je vous prie de m'en excuser par avance mais quand on sait pas ben on sait pas - sourire
j'ai debute un site il ya 2 mois et je n'avais aucune notion HTML ou autre outils web !
merci de votre comprehension
je vous donne le code pour le formulaire html et le fichier php lié
jespere que quelqu un pourra juste jeter un petit coup d'oeil pour voir ce qui ne va pas!
Merci sincerement par avance!!
Code form HTML :
<form action="send.php""" method="post" enctype="text/plain" name="contact" id="contact"maito:supportinfo58@neuf.fr>
<table width="100%" border="0" cellpadding="0" cellspacing="5" class="texte">
<tr>
<td width="19%">Nom ou pseudo : </td>
<td width="81%"><input name="nom" type="text" id="nom"></td>
</tr>
<tr>
<td>Lieu</td>
<td><input name="lieu" type="text" id="lieu"></td>
</tr>
<tr>
<td>Votre email : </td>
<td><input name="email" type="text" id="email"></td>
</tr>
<tr>
<td>Sujet du message : </td>
<td><textarea name="message" cols="60" id="message"></textarea></td>
</tr>
<tr>
<td><img src="images/tortue.gif" width="120" height="60" align="top"></td>
<td><input name="Submit" type="submit" onClick="MM_validateForm('nom','','R','email','','RisEmail','msg','','R');return document.MM_returnValue" value="Envoyer">
-
<input type="reset" name="Submit" value="Réinitialiser"></td>
</tr>
</table>
</form>
Et le code du fichier PHP :
<?php
/*
*/
$nom = $_POST['nom'];
$lieu = $_POST['lieu'];
$email = $_POST['email'];
$message = $_POST['message'];
if ($_COOKIE['sent']) $already = true;
elseif(($nom!=NULL)&&($prenom!=NULL)&&($msg!=NULL))
{
$to = "supportinfo58@neuf.fr";
//The sent message's subject
//Sujet du message envoyé
$subject = "Contact - Support Info";
$message = "Nom : $nom
Lieu : $lieu
Email : $email
Message : $message";
$ok = mail ($to,$subject,$message);
if ($ok)
{
$sent = true;
$expire = time() + 3600;
setcookie('sent',1,$expire);
}
else
{
$error = true;
}
}
else
$fill = true;
?><html>
<head>
<title>
Nous contacter
</title>
</head>
<body>
<link href="file:///C|/Documents%20and%20Settings/Utilisateur/Bureau/style.css" rel="stylesheet" type="text/css">
<center>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<table width="400" border="1" cellpadding="0" cellspacing="0" bordercolor="#FF9933" style="border-collapse:collapse;">
<tr>
<td height="62" class="texte"><center>
<?php
if ($already) echo "Vous avez déja envoyé le formulaire";
elseif ($sent) echo "Message envoyé";
elseif ($error) echo "Erreur lors de l'envoi";
elseif ($fill) echo "Veuillez remplir tous les champs";
?>
</center>
</td>
</tr>
</table>
</center>
</body>
</html>
Merci par avance
Amicalement
Bonne journee a toutes et tous!
A tous
je vais poster un message relatif à un formulaire php. oui encore un !!!;-) oups
Je sais que ca fait pester - voire pire - sourire - les habitués du php mais j'aurai besoin dun petit coup de pouce et un regard sur ce qui cloche sur mon envoi de formulaire
qui me renvoie inexorablement la même erreur - "veuillez remplir tous les champs"
ca doit etre bête et je vous prie de m'en excuser par avance mais quand on sait pas ben on sait pas - sourire
j'ai debute un site il ya 2 mois et je n'avais aucune notion HTML ou autre outils web !
merci de votre comprehension
je vous donne le code pour le formulaire html et le fichier php lié
jespere que quelqu un pourra juste jeter un petit coup d'oeil pour voir ce qui ne va pas!
Merci sincerement par avance!!
Code form HTML :
<form action="send.php""" method="post" enctype="text/plain" name="contact" id="contact"maito:supportinfo58@neuf.fr>
<table width="100%" border="0" cellpadding="0" cellspacing="5" class="texte">
<tr>
<td width="19%">Nom ou pseudo : </td>
<td width="81%"><input name="nom" type="text" id="nom"></td>
</tr>
<tr>
<td>Lieu</td>
<td><input name="lieu" type="text" id="lieu"></td>
</tr>
<tr>
<td>Votre email : </td>
<td><input name="email" type="text" id="email"></td>
</tr>
<tr>
<td>Sujet du message : </td>
<td><textarea name="message" cols="60" id="message"></textarea></td>
</tr>
<tr>
<td><img src="images/tortue.gif" width="120" height="60" align="top"></td>
<td><input name="Submit" type="submit" onClick="MM_validateForm('nom','','R','email','','RisEmail','msg','','R');return document.MM_returnValue" value="Envoyer">
-
<input type="reset" name="Submit" value="Réinitialiser"></td>
</tr>
</table>
</form>
Et le code du fichier PHP :
<?php
/*
*/
$nom = $_POST['nom'];
$lieu = $_POST['lieu'];
$email = $_POST['email'];
$message = $_POST['message'];
if ($_COOKIE['sent']) $already = true;
elseif(($nom!=NULL)&&($prenom!=NULL)&&($msg!=NULL))
{
$to = "supportinfo58@neuf.fr";
//The sent message's subject
//Sujet du message envoyé
$subject = "Contact - Support Info";
$message = "Nom : $nom
Lieu : $lieu
Email : $email
Message : $message";
$ok = mail ($to,$subject,$message);
if ($ok)
{
$sent = true;
$expire = time() + 3600;
setcookie('sent',1,$expire);
}
else
{
$error = true;
}
}
else
$fill = true;
?><html>
<head>
<title>
Nous contacter
</title>
</head>
<body>
<link href="file:///C|/Documents%20and%20Settings/Utilisateur/Bureau/style.css" rel="stylesheet" type="text/css">
<center>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<table width="400" border="1" cellpadding="0" cellspacing="0" bordercolor="#FF9933" style="border-collapse:collapse;">
<tr>
<td height="62" class="texte"><center>
<?php
if ($already) echo "Vous avez déja envoyé le formulaire";
elseif ($sent) echo "Message envoyé";
elseif ($error) echo "Erreur lors de l'envoi";
elseif ($fill) echo "Veuillez remplir tous les champs";
?>
</center>
</td>
</tr>
</table>
</center>
</body>
</html>
Merci par avance
Amicalement
Bonne journee a toutes et tous!
A voir également:
- Formulaire PHP - Petit Pb code
- Whatsapp formulaire opposition - Guide
- Code ascii - Guide
- Formulaire de réclamation facebook - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
16 réponses
Salut regarde dans le fichier PHP, au moment de ta boucle de vérification de tes champs tu as $prenom qui est évoqué nul part ailleurs et tu as la variable $msg alors que tu récupère la valeur au dessus dans $message donc vérifie déjà la syntaxe de ces variables à ce niveau
il faut enlever enctype="text/plain" dans la déclaration du formulaire, je ne l'avais pas vu toute a l'heure...
et ça fonctionne je viens de tester avec le code que j'ai mis plus haut
il faut aussi remplacer
if ($_COOKIE['sent']) $state = 'already';
par
if (isset($_COOKIE['sent'])) $state = 'already';
et ça fonctionne je viens de tester avec le code que j'ai mis plus haut
il faut aussi remplacer
if ($_COOKIE['sent']) $state = 'already';
par
if (isset($_COOKIE['sent'])) $state = 'already';
$nom = $_POST['nom'];
$lieu = $_POST['lieu'];
$email = $_POST['email'];
$message = $_POST['message'];
if ($_COOKIE['sent']) $already = true;
elseif(($nom!=NULL)&&($lieu!=NULL)&&($email!=NULL)&&($message!=NULL))
{
$to = "supportinfo58@neuf.fr";
//The sent message's subject
//Sujet du message envoyé
$subject = "Contact - Support Info";
$message = "Nom : $nom
Lieu : $lieu
Email : $email
Message : $message";
re
J'ai modifie les variables dans la boucle comme tu me las indiqué mais j'ai toujours le même probléme.
Humm
merci!
Supportinfo
$lieu = $_POST['lieu'];
$email = $_POST['email'];
$message = $_POST['message'];
if ($_COOKIE['sent']) $already = true;
elseif(($nom!=NULL)&&($lieu!=NULL)&&($email!=NULL)&&($message!=NULL))
{
$to = "supportinfo58@neuf.fr";
//The sent message's subject
//Sujet du message envoyé
$subject = "Contact - Support Info";
$message = "Nom : $nom
Lieu : $lieu
Email : $email
Message : $message";
re
J'ai modifie les variables dans la boucle comme tu me las indiqué mais j'ai toujours le même probléme.
Humm
merci!
Supportinfo
bonjour, j'ai essayé de corriger ton code mais je ne l'ai pas testé, ça donne ça :
mais il faut encore modifier des trucs pour la compatibilité w3c dans la page 1 surtout je pense...
<!-- PAGE 1--> <form action="send.php" method="post" enctype="text/plain" name="contact" id="contact" onsubmit="MM_validateForm('nom','','R','email','','RisEmail','msg','','R');return document.MM_returnValue"> <table width="100%" border="0" cellpadding="0" cellspacing="5" class="texte"> <tr> <td width="19%">Nom ou pseudo : </td> <td width="81%"><input name="nom" type="text" id="nom"></td> </tr> <tr> <td>Lieu</td> <td><input name="lieu" type="text" id="lieu"></td> </tr> <tr> <td>Votre email : </td> <td><input name="email" type="text" id="email"></td> </tr> <tr> <td>Sujet du message : </td> <td><textarea name="message" cols="60" id="message"></textarea></td> </tr> <tr> <td><img src="images/tortue.gif" width="120" height="60" align="top"></td> <td><input name="Submit" type="submit" value="Envoyer"> <input type="reset" name="Submit" value="Réinitialiser"></td> </tr> </table> </form> <!-- PAGE 2 --> <?php $nom = htmlentities($_POST['nom']); $lieu = htmlentities($_POST['lieu']); $email = htmlentities($_POST['email']); $message = htmlentities($_POST['message']); if ($_COOKIE['sent']) $state = 'already'; elseif($nom != '' && $lieu != '' && $message != '') { $to = "supportinfo58@neuf.fr"; //The sent message's subject //Sujet du message envoyé $subject = "Contact - Support Info"; $message = "Nom : $nom Lieu : $lieu Email : $email Message : $message"; if(mail($to,$subject,$message)) { $state = 'sent'; setcookie('sent',1,time() + 3600); } else $state = 'error'; } else $state = 'fill'; ?> <html> <head> <title>Nous contacter</title> <link href="file:///C|/Documents%20and%20Settings/Utilisateur/Bureau/style.css" rel="stylesheet" type="text/css"> </head> <body> <p><br /><br /><br /><br /><br /><br /><br /></p> <table style="border-collapse:collapse; border: 1px solid #FF9933; width=400px;"> <tr> <td class="texte" style="text-align: center; height:62px;"><?php switch($state){ case 'already' : echo "Vous avez déja envoyé le formulaire"; break; case 'sent' : echo "Message envoyé"; break; case 'error' : echo "Erreur lors de l'envoi"; break; case 'fill' : echo "Veuillez remplir tous les champs"; break; } ?></td> </tr> </table> </body> </html>
mais il faut encore modifier des trucs pour la compatibilité w3c dans la page 1 surtout je pense...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Regarde mais je crois qu'il ne vérifie pas la dernière condition de ton si. Sinon je peux copier ton code et faire un test?
oui bien sur ! et merci tonio
je copie le fichier code d'atropa que je remercie d'ailleurs et je teste de mon coté
a tout a lheure
je copie le fichier code d'atropa que je remercie d'ailleurs et je teste de mon coté
a tout a lheure
J'ai fait des tests, il faudrait regarder du coté de l'appel dans ton fichier html de la fonction envoi par email. Je t'explique: lorsque je veux afficher les valeurs des variables à la suite de l'envoi avec ta fonction définie rien ne s'affiche par contre si je laisse seulement <form action="" method="post"> g bien l'affichage lors du transfert
j'ai repris le code d'atropa!
encore meme reponse! veuillez remplir tous champs
je pense que c une question de if toujours - toujours une question de si!!
je plaisante !
bon dans l'attente je continue a essayer de comprendre !
et merci!
bon courage si boulot de votre côté.
amicalement
encore meme reponse! veuillez remplir tous champs
je pense que c une question de if toujours - toujours une question de si!!
je plaisante !
bon dans l'attente je continue a essayer de comprendre !
et merci!
bon courage si boulot de votre côté.
amicalement
Re et fin avant le repas!
j'ai repris le code d'atropa - à la limite je vais me concentrer sur les Page 1 et page 2 recopiées
j'ai testé ! ca m'indique toujours le même message initial " veuillez remplir ..."
bon dans tous les cas - merci de votre aide et la solution la plus simple et la plus commode pour tous je l'accepterais avec plaisir.
merci d'avance de maniere penaude...,-)
A+
j'ai repris le code d'atropa - à la limite je vais me concentrer sur les Page 1 et page 2 recopiées
j'ai testé ! ca m'indique toujours le même message initial " veuillez remplir ..."
bon dans tous les cas - merci de votre aide et la solution la plus simple et la plus commode pour tous je l'accepterais avec plaisir.
merci d'avance de maniere penaude...,-)
A+
merci encore pour votre aide - ca ne me gene pas de vous le reredire.
jai suivi vos recommandantions et celles d'atropa notamment
en supprimant text / plain et la ligne 9 if...isset...
jai maintenant ce probleme qui est peut etre lié à mon hebergeur fai / sfr -pb securite - fonction php à cause de mon hebergeur qui nest qu'un fai.
voici l'erreur renvoyé - on avance mais jespere ne pas etre bloqué pour des raisons de securite parce que la ce serait dommage!(-euh colere interieure-,-))
Warning: mail() has been disabled for security reasons in /var/www/s/su/sup/supportinfo58.perso.neuf.fr/public_html/send.php on line 20
donc en resume jai repris codes atropa avec les deux modifs !
alors si oui astuce je prends!
merci par avance à vous deux!
Supportinfo
jai suivi vos recommandantions et celles d'atropa notamment
en supprimant text / plain et la ligne 9 if...isset...
jai maintenant ce probleme qui est peut etre lié à mon hebergeur fai / sfr -pb securite - fonction php à cause de mon hebergeur qui nest qu'un fai.
voici l'erreur renvoyé - on avance mais jespere ne pas etre bloqué pour des raisons de securite parce que la ce serait dommage!(-euh colere interieure-,-))
Warning: mail() has been disabled for security reasons in /var/www/s/su/sup/supportinfo58.perso.neuf.fr/public_html/send.php on line 20
donc en resume jai repris codes atropa avec les deux modifs !
alors si oui astuce je prends!
merci par avance à vous deux!
Supportinfo
Est ce que tu as accès au fichier php.ini. si oui il faudrait que tu regardes la valeur de la variable display_errors si elle différente de Off mais Off à la place et logique ton problème sera résolu.
Et non impossible dacceder au php.ini de mon fai /herbergeur.
Rien nest modifiable dans ce form PHP? pour qu'il n'y ait plus d'erreur Warning?
Merci
Rien nest modifiable dans ce form PHP? pour qu'il n'y ait plus d'erreur Warning?
Merci
ben là non c'est surement que ton hébergeur ne t'autorise pas a envoyer des mails...
pour le savoir créer un fichier php par exemple info.php
et tapes :
met ce fichier sur ton serveur vas dessus avec firefox
et recherche mail dans la page (pour rechercher tu peux faire Ctrl+F)
après je pense que tu peux voir si tu peux en envoyer ou non a la ligne ou ça écris quelquechose.mail_limit.
je ne suis pas sur de ce que j'avance j'en déduis juste que si cette valeur est a 0 c'est que tu ne peux pas en envoyer.
c'est dans le tabeau PHP Core
pour le savoir créer un fichier php par exemple info.php
et tapes :
<?php echo phpinfo(); ?>
met ce fichier sur ton serveur vas dessus avec firefox
et recherche mail dans la page (pour rechercher tu peux faire Ctrl+F)
après je pense que tu peux voir si tu peux en envoyer ou non a la ligne ou ça écris quelquechose.mail_limit.
je ne suis pas sur de ce que j'avance j'en déduis juste que si cette valeur est a 0 c'est que tu ne peux pas en envoyer.
c'est dans le tabeau PHP Core
dommage!
non ca ne fonctionne pas
je vous remercie pour votre aide en tout cas .
je suis chez neuf /sfr
en desespoir de cause esperant une intervention divine je vais pas le mettre de suite en resolu meme si le formulaire est ok
et bien je vais choisir un veritable hebergeur, il ny a plus que ca!!
allez bonne soiree!
et encore merci
supportinfo
non ca ne fonctionne pas
je vous remercie pour votre aide en tout cas .
je suis chez neuf /sfr
en desespoir de cause esperant une intervention divine je vais pas le mettre de suite en resolu meme si le formulaire est ok
et bien je vais choisir un veritable hebergeur, il ny a plus que ca!!
allez bonne soiree!
et encore merci
supportinfo
c ca ! de pomper un truc tout fait sans essayer de comprendre!
je vais tester!
Me rend compte de la boulette!
merci en tout cas pour ton petit coup d'oeil avisé!
Cordialement
Supportinfo