Help Me
Résolu
tonton_tonio
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
tonton_tonio Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
tonton_tonio Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis un vieux developpeur mais plus perfectionner en VBA ! Je me lance en php et je galère un peu sinon je ne serai pas ici !
J'ai trouvé pas mal de chose sur le net, après avoir testé pas mal de chose, je ne trouve toujours pas pourquoi mon formulaire mail ne fonctionne pas !
Merci de votre aide précieuse
Je suis un vieux developpeur mais plus perfectionner en VBA ! Je me lance en php et je galère un peu sinon je ne serai pas ici !
J'ai trouvé pas mal de chose sur le net, après avoir testé pas mal de chose, je ne trouve toujours pas pourquoi mon formulaire mail ne fonctionne pas !
Merci de votre aide précieuse
9 réponses
Bonjour,
Déjà... sans voir ton code il sera difficile de te répondre.
Il faudrait également nous indiquer si ton "site" est hébergé sur un serveur web ou si, pour l'instant tu bosses en local sur ton ordi ( à l'aide d'un logiciel tel que wamp, xampp, easyphp, laragon ..autre ?? ) ?
Si tu es en local, il faut, si tu utilises la fonction "mail" de php avoir configuré le SMTP dans le fichier php.ini. Sans ça...ça ne marchera pas.
Sinon, tu peux utiliser une class php telle que PhpMailer pour gérer l'envoi de mails depuis une adresse email de ton choix ( gmail, outlook..autre ).
Dans tous les cas, tu trouveras de nombreux tutos à ce sujet.
Et vu que tu débutes dans le PHP, je t'invite à prendre tout de suite de bonnes habitudes.
Donc voici un peu de lecture : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
.
Déjà... sans voir ton code il sera difficile de te répondre.
Il faudrait également nous indiquer si ton "site" est hébergé sur un serveur web ou si, pour l'instant tu bosses en local sur ton ordi ( à l'aide d'un logiciel tel que wamp, xampp, easyphp, laragon ..autre ?? ) ?
Si tu es en local, il faut, si tu utilises la fonction "mail" de php avoir configuré le SMTP dans le fichier php.ini. Sans ça...ça ne marchera pas.
Sinon, tu peux utiliser une class php telle que PhpMailer pour gérer l'envoi de mails depuis une adresse email de ton choix ( gmail, outlook..autre ).
Dans tous les cas, tu trouveras de nombreux tutos à ce sujet.
Et vu que tu débutes dans le PHP, je t'invite à prendre tout de suite de bonnes habitudes.
Donc voici un peu de lecture : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
.
Désolé !
Mon html :
<html>
<head>
</head>
<body>
<h1 align="center">Formulaire de contact</h1>
<form name="myForm" action="/file.php" onsubmit="return validateForm()" method="post">
<div align="center">
<table width="86%" class="form-style">
<tr>
<td width="22%"> <label> Votre type de colis <span class="required">*</span>
</label> </td>
<td width="22%"><select name="type_colis" size="1">
<option selected>Plis
<option>Colis
<option>Palettes
<option>Encombrants
<option>Autres </select></td>
<td width="22%"> </td>
<td width="22%"> <label> Votre type de transport</label> </td>
<td width="22%"><select name="type_transport" size="1">
<option selected>Urgent
<option>Livraison 24 H
<option>Livraison 48H/72
<option>Affrètement</select></td>
<td width="22%"> </td>
</tr>
<tr>
<td> <label> Nombre de colis<span class="required">*</span> </label>
<td><input type="text" name="nbr_colis" class="long"/></td>
<td> </td>
<td>Poids total (kg)<span class="required">*</span> </td>
<td><input type="text" name="poid_total" class="long"/></td>
<td> </td>
</tr>
<tr>
<td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> <label>Longueur (cm)</label>
<td><input type="text" name="longueur" class="long"/></td>
<td>Largeur (cm)</td>
<td><input type="text" name="largeur" class="long"/></td>
<td>Hauteur (cm)</td>
<td><input type="text" name="hauteur" class="long"/></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Ville ou CP de départ</td>
<td><input type="text" name="ville_dep" class="long"/></td>
<td> </td>
<td>Pays</td>
<td><input type="text" name="pi_dep" class="long"/></td>
<td> </td>
</tr>
<tr>
<td>Ville ou CP d'arrivée</td>
<td><input type="text" name="ville_ar" class="long"/></td>
<td> </td>
<td>Pays</td>
<td><input type="text" name="pi_ar" class="long"/></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Société</td>
<td><input type="text" name="societe" class="long"/></td>
<td>Votre nom <span class="required">*</span> </td>
<td><input type="text" name="nom" class="long"/></td>
<td>Votre prénom</td>
<td><input type="text" name="prenom" class="long"/></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> <label>Votre téléphone</label> </td>
<td><input type="text" name="tel" class="long"/></td>
<td> </td>
<td>Votre adresse e-mail <span class="required">*</span> </td>
<td><input type="email" name="email" class="long"/></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> <label> Message <span class="required">*</span> </label> </td>
<td><textarea name="message" class="long field-textarea"></textarea></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="6"> </td>
</tr>
<tr>
<td colspan="6"><div align="center">
<input name="submit" type="submit" value="Envoyer">
<input name="reset" type="reset" value="Réinitialiser">
</div></td>
</tr>
</table>
</div>
</form>
</body>
</html>
puis mon php :
<?php
$msg = "type_de_transport:\t$type_transport\n";
$msg .= "Nombre_de_colis:\t$nbr_colis\n";
$msg .= "Poids_Total:\t$poid_total\n";
$msg .= "Longueur:\t$longueur\n";
$msg .= "Largeur:\t$largeur\n";
$msg .= "Hauteur:\t$hauteur\n";
$msg .= "Ville_de_depart:\t$ville_dep\n";
$msg .= "Pays_de_depart:\t$pi_dep\n";
$msg .= "ville_arrivee:\t$ville_ar\n";
$msg .= "Pays_arrivee:\t$pi_ar\n";
$msg .= "Sociéte:\t$societe\n";
$msg .= "Nom:\t$nom\n";*
$msg .= "Prenom:\t$prenom\n";
$msg .= "Tel:\t$tel\n";
$msg .= "E-mail:\t$email\n";
$msg .= "Message:\t$message\n\n";
$recipient = "xxx@xxx.fr";
$subject = "Formulaire";
$mailheaders = "From: Mon site web<> \n";
$mailheaders .= "Reply-To: $CP\n\n";
mail($recipient, $subject, $msg, $mailheaders);
echo "<HTML><HEAD>";
echo "<TITLE>Formulaire envoyer!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Merci, $nom </H1>";
echo "<P align=center>";
echo "Votre formulaire à bien été envoyé !</P>";
echo "</BODY></HTML>";
?>
Mais ça ne fonctionne pas !?!
Mon html :
<html>
<head>
</head>
<body>
<h1 align="center">Formulaire de contact</h1>
<form name="myForm" action="/file.php" onsubmit="return validateForm()" method="post">
<div align="center">
<table width="86%" class="form-style">
<tr>
<td width="22%"> <label> Votre type de colis <span class="required">*</span>
</label> </td>
<td width="22%"><select name="type_colis" size="1">
<option selected>Plis
<option>Colis
<option>Palettes
<option>Encombrants
<option>Autres </select></td>
<td width="22%"> </td>
<td width="22%"> <label> Votre type de transport</label> </td>
<td width="22%"><select name="type_transport" size="1">
<option selected>Urgent
<option>Livraison 24 H
<option>Livraison 48H/72
<option>Affrètement</select></td>
<td width="22%"> </td>
</tr>
<tr>
<td> <label> Nombre de colis<span class="required">*</span> </label>
<td><input type="text" name="nbr_colis" class="long"/></td>
<td> </td>
<td>Poids total (kg)<span class="required">*</span> </td>
<td><input type="text" name="poid_total" class="long"/></td>
<td> </td>
</tr>
<tr>
<td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> <label>Longueur (cm)</label>
<td><input type="text" name="longueur" class="long"/></td>
<td>Largeur (cm)</td>
<td><input type="text" name="largeur" class="long"/></td>
<td>Hauteur (cm)</td>
<td><input type="text" name="hauteur" class="long"/></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Ville ou CP de départ</td>
<td><input type="text" name="ville_dep" class="long"/></td>
<td> </td>
<td>Pays</td>
<td><input type="text" name="pi_dep" class="long"/></td>
<td> </td>
</tr>
<tr>
<td>Ville ou CP d'arrivée</td>
<td><input type="text" name="ville_ar" class="long"/></td>
<td> </td>
<td>Pays</td>
<td><input type="text" name="pi_ar" class="long"/></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Société</td>
<td><input type="text" name="societe" class="long"/></td>
<td>Votre nom <span class="required">*</span> </td>
<td><input type="text" name="nom" class="long"/></td>
<td>Votre prénom</td>
<td><input type="text" name="prenom" class="long"/></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> <label>Votre téléphone</label> </td>
<td><input type="text" name="tel" class="long"/></td>
<td> </td>
<td>Votre adresse e-mail <span class="required">*</span> </td>
<td><input type="email" name="email" class="long"/></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> <label> Message <span class="required">*</span> </label> </td>
<td><textarea name="message" class="long field-textarea"></textarea></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="6"> </td>
</tr>
<tr>
<td colspan="6"><div align="center">
<input name="submit" type="submit" value="Envoyer">
<input name="reset" type="reset" value="Réinitialiser">
</div></td>
</tr>
</table>
</div>
</form>
</body>
</html>
puis mon php :
<?php
$msg = "type_de_transport:\t$type_transport\n";
$msg .= "Nombre_de_colis:\t$nbr_colis\n";
$msg .= "Poids_Total:\t$poid_total\n";
$msg .= "Longueur:\t$longueur\n";
$msg .= "Largeur:\t$largeur\n";
$msg .= "Hauteur:\t$hauteur\n";
$msg .= "Ville_de_depart:\t$ville_dep\n";
$msg .= "Pays_de_depart:\t$pi_dep\n";
$msg .= "ville_arrivee:\t$ville_ar\n";
$msg .= "Pays_arrivee:\t$pi_ar\n";
$msg .= "Sociéte:\t$societe\n";
$msg .= "Nom:\t$nom\n";*
$msg .= "Prenom:\t$prenom\n";
$msg .= "Tel:\t$tel\n";
$msg .= "E-mail:\t$email\n";
$msg .= "Message:\t$message\n\n";
$recipient = "xxx@xxx.fr";
$subject = "Formulaire";
$mailheaders = "From: Mon site web<> \n";
$mailheaders .= "Reply-To: $CP\n\n";
mail($recipient, $subject, $msg, $mailheaders);
echo "<HTML><HEAD>";
echo "<TITLE>Formulaire envoyer!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Merci, $nom </H1>";
echo "<P align=center>";
echo "Votre formulaire à bien été envoyé !</P>";
echo "</BODY></HTML>";
?>
Mais ça ne fonctionne pas !?!
A l'avenir, merci fe poster ton code correctement.
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
De plus, tu n'as pas répondu à mes questions et je ne vois pas, dans ton code php, la récupération des variables POST
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
De plus, tu n'as pas répondu à mes questions et je ne vois pas, dans ton code php, la récupération des variables POST
Je suis novice désolé et suis hébergé par OVH !
J'ai donc ajouté ceci au début de mon php :
Mais toujours rien ?
$type_transport = $_POST['type_transport']; $nbr_colis = $_POST['nbr_colis']; $poid_total = $_POST['poid_total']; $longueur = $_POST['longueur']; $largeur = $_POST['largeur']; $hauteur = $_POST['hauteur']; $ville_dep = $_POST['ville_dep']; $pi_dep = $_POST['pi_dep']; $ville_ar = $_POST['ville_ar']; $pi_ar = $_POST['pi_ar']; $societe = $_POST['societe']; $nom = $_POST['nom']; $prenom = $_POST['prenom']; $tel = $_POST['tel']; $email = $_POST['email']; $message = $_POST['message'];
Mais toujours rien ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mon fichier se trouve au même endroit et se nomme file.php
Je l'ai fait mais toujours la même réponse, je suis hébergé par OVH, y a t il quelque chose à faire au niveau de l'hébergeur ?
Donc je récapitule, j'en suis à ça !
Mon fichier html "form_contact.htm":
puis mon php dans le même endroit que mon html "file.php" :
Je l'ai fait mais toujours la même réponse, je suis hébergé par OVH, y a t il quelque chose à faire au niveau de l'hébergeur ?
Donc je récapitule, j'en suis à ça !
Mon fichier html "form_contact.htm":
<html> <head> </head> <body> <h1 align="center">Formulaire de contact</h1> <form name="myForm" action="file.php" onsubmit="return validateForm()" method="post"> <div align="center"> <table width="86%" class="form-style"> <tr> <td width="22%"> <label> Votre type de colis <span class="required">*</span> </label> </td> <td width="22%"><select name="type_colis" size="1"> <option selected>Plis <option>Colis <option>Palettes <option>Encombrants <option>Autres </select></td> <td width="22%"> </td> <td width="22%"> <label> Votre type de transport</label> </td> <td width="22%"><select name="type_transport" size="1"> <option selected>Urgent <option>Livraison 24 H <option>Livraison 48H/72 <option>Affrètement</select></td> <td width="22%"> </td> </tr> <tr> <td> <label> Nombre de colis<span class="required">*</span> </label> <td><input type="text" name="nbr_colis" class="long"/></td> <td> </td> <td>Poids total (kg)<span class="required">*</span> </td> <td><input type="text" name="poid_total" class="long"/></td> <td> </td> </tr> <tr> <td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> <label>Longueur (cm)</label> <td><input type="text" name="longueur" class="long"/></td> <td>Largeur (cm)</td> <td><input type="text" name="largeur" class="long"/></td> <td>Hauteur (cm)</td> <td><input type="text" name="hauteur" class="long"/></td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td>Ville ou CP de départ</td> <td><input type="text" name="ville_dep" class="long"/></td> <td> </td> <td>Pays</td> <td><input type="text" name="pi_dep" class="long"/></td> <td> </td> </tr> <tr> <td>Ville ou CP d'arrivée</td> <td><input type="text" name="ville_ar" class="long"/></td> <td> </td> <td>Pays</td> <td><input type="text" name="pi_ar" class="long"/></td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td>Société</td> <td><input type="text" name="societe" class="long"/></td> <td>Votre nom <span class="required">*</span> </td> <td><input type="text" name="nom" class="long"/></td> <td>Votre prénom</td> <td><input type="text" name="prenom" class="long"/></td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> <label>Votre téléphone</label> </td> <td><input type="text" name="tel" class="long"/></td> <td> </td> <td>Votre adresse e-mail <span class="required">*</span> </td> <td><input type="email" name="email" class="long"/></td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> <label> Message <span class="required">*</span> </label> </td> <td><textarea name="message" class="long field-textarea"></textarea></td> <td> </td> <td> </td> </tr> <tr> <td colspan="6"> </td> </tr> <tr> <td colspan="6"><div align="center"> <input name="submit" type="submit" value="Envoyer"> <input name="reset" type="reset" value="Réinitialiser"> </div></td> </tr> </table> </div> </form> </body> </html>
puis mon php dans le même endroit que mon html "file.php" :
<?php $type_transport = $_POST['type_transport']; $nbr_colis = $_POST['nbr_colis']; $poid_total = $_POST['poid_total']; $longueur = $_POST['longueur']; $largeur = $_POST['largeur']; $hauteur = $_POST['hauteur']; $ville_dep = $_POST['ville_dep']; $pi_dep = $_POST['pi_dep']; $ville_ar = $_POST['ville_ar']; $pi_ar = $_POST['pi_ar']; $societe = $_POST['societe']; $nom = $_POST['nom']; $prenom = $_POST['prenom']; $tel = $_POST['tel']; $email = $_POST['email']; $message = $_POST['message']; print("<center>Bonjour $type_transport $nbr_colis</center>"); $msg = "type_de_transport:\t$type_transport\n"; $msg .= "Nombre_de_colis:\t$nbr_colis\n"; $msg .= "Poids_Total:\t$poid_total\n"; $msg .= "Longueur:\t$longueur\n"; $msg .= "Largeur:\t$largeur\n"; $msg .= "Hauteur:\t$hauteur\n"; $msg .= "Ville_de_depart:\t$ville_dep\n"; $msg .= "Pays_de_depart:\t$pi_dep\n"; $msg .= "ville_arrivee:\t$ville_ar\n"; $msg .= "Pays_arrivee:\t$pi_ar\n"; $msg .= "Societe:\t$societe\n"; $msg .= "Nom:\t$nom\n";* $msg .= "Prenom:\t$prenom\n"; $msg .= "Tel:\t$tel\n"; $msg .= "E-mail:\t$email\n"; $msg .= "Message:\t$message\n\n"; $recipient = "xxxxxx@xxxxx.fr"; $subject = "Formulaire"; $mailheaders = "From: Mon site web<> \n"; $mailheaders .= "Reply-To: $CP\n\n"; mail($recipient, $subject, $msg, $mailheaders); echo "<HTML><HEAD>"; echo "<TITLE>Formulaire envoyer!</TITLE></HEAD><BODY>"; echo "<H1 align=center>Merci, $nom </H1>"; echo "<P align=center>"; echo "Votre formulaire à bien été envoyé !</P>"; echo "</BODY></HTML>"; ?>
Tu as une erreur 500 .. donc un souci dans le code php
et en effet... erreur sur la ligne
Test ça
et en effet... erreur sur la ligne
$msg .= "Nom:\t$nom\n";*
Test ça
<?php //début de ton fichier php : error_reporting ( E_ALL ); ini_set ( 'display_errors', TRUE ); ini_set ( 'display_startup_errors', TRUE ); $type_transport = !empty( $_POST['type_transport'] ) ? $_POST['type_transport'] : NULL; $nbr_colis = !empty( $_POST['nbr_colis']) ? $_POST['nbr_colis'] : NULL; $poid_total = !empty( $_POST['poid_total']) ? $_POST['poid_total'] : NULL; $longueur = !empty( $_POST['longueur']) ? $_POST['longueur']: NULL; $largeur = !empty( $_POST['largeur']) ? $_POST['longueur']: NULL; $hauteur = !empty( $_POST['hauteur']) ? $_POST['largeur']: NULL; $ville_dep = !empty( $_POST['ville_dep']) ? $_POST['ville_dep']: NULL; $pi_dep = !empty( $_POST['pi_dep']) ? $_POST['pi_dep']: NULL; $ville_ar = !empty( $_POST['ville_ar']) ? $_POST['ville_ar']: NULL; $pi_ar = !empty( $_POST['pi_ar']) ? $_POST['pi_ar']: NULL; $societe = !empty( $_POST['societe']) ? $_POST['societe']: NULL; $nom = !empty( $_POST['nom']) ? $_POST['nom']: NULL; $prenom = !empty( $_POST['prenom']) ? $_POST['prenom']: NULL; $tel = !empty( $_POST['tel']) ? $_POST['tel']: NULL; $email = !empty( $_POST['email']) ? $_POST['email']: NULL; $message = !empty( $_POST['message']) ? $_POST['message']: NULL; print("<center>Bonjour $type_transport $nbr_colis</center>"); $msg = "type_de_transport:\t$type_transport\n"; $msg .= "Nombre_de_colis:\t$nbr_colis\n"; $msg .= "Poids_Total:\t$poid_total\n"; $msg .= "Longueur:\t$longueur\n"; $msg .= "Largeur:\t$largeur\n"; $msg .= "Hauteur:\t$hauteur\n"; $msg .= "Ville_de_depart:\t$ville_dep\n"; $msg .= "Pays_de_depart:\t$pi_dep\n"; $msg .= "ville_arrivee:\t$ville_ar\n"; $msg .= "Pays_arrivee:\t$pi_ar\n"; $msg .= "Societe:\t$societe\n"; $msg .= "Nom:\t$nom\n"; $msg .= "Prenom:\t$prenom\n"; $msg .= "Tel:\t$tel\n"; $msg .= "E-mail:\t$email\n"; $msg .= "Message:\t$message\n\n"; $recipient = "xxxxxxxx@xxxxxx.fr"; $subject = "Formulaire"; $mailheaders = "From: Mon site web<> \n"; $mailheaders .= "Reply-To: $CP\n\n"; if(mail($recipient, $subject, $msg, $mailheaders)){ echo "<HTML> <HEAD> <TITLE>Formulaire envoyer!</TITLE> </HEAD> <BODY> <H1 align=center>Merci, $nom </H1> <P align=center> Votre formulaire à bien été envoyé !</P> </BODY> </HTML>"; }else{ echo "Erreur lors de l'envoi."; } ?>
Merci, ça fonctionne ! Parfois un caractère inopiné et c'est la catastrophe !
Une dernière question : comment faire pour gérer par exemple le poids total, pour forcer l'utilisateur à entrer un caractère numérique uniquement, je dois le gérer en javascript ou en php il y a des choses paramétrées qui existent ?
Une dernière question : comment faire pour gérer par exemple le poids total, pour forcer l'utilisateur à entrer un caractère numérique uniquement, je dois le gérer en javascript ou en php il y a des choses paramétrées qui existent ?