Help Me

Résolu/Fermé
tonton_tonio Messages postés 13 Date d'inscription jeudi 2 avril 2020 Statut Membre Dernière intervention 4 avril 2020 - 2 avril 2020 à 23:25
tonton_tonio Messages postés 13 Date d'inscription jeudi 2 avril 2020 Statut Membre Dernière intervention 4 avril 2020 - 3 avril 2020 à 09:56
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

9 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
2 avril 2020 à 23:39
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

.
0
tonton_tonio Messages postés 13 Date d'inscription jeudi 2 avril 2020 Statut Membre Dernière intervention 4 avril 2020
Modifié le 3 avril 2020 à 00:43
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 !?!
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
3 avril 2020 à 00:50
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


0
tonton_tonio Messages postés 13 Date d'inscription jeudi 2 avril 2020 Statut Membre Dernière intervention 4 avril 2020
3 avril 2020 à 00:54
Je suis novice désolé et suis hébergé par OVH !
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
3 avril 2020 à 00:57
Ok.
Et donc.. la récupération des variables POST ?
Et aussi, appliques les consignes données dans le lien... Comme l'affichage des erreurs PHP par exemple.

Par ce que "ça ne marche pas" ... Ça ne va pas nous aider à trouver le problème...
0
tonton_tonio Messages postés 13 Date d'inscription jeudi 2 avril 2020 Statut Membre Dernière intervention 4 avril 2020
3 avril 2020 à 01:02
J'ai donc ajouté ceci au début de mon 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']; 


Mais toujours rien ?
0
tonton_tonio Messages postés 13 Date d'inscription jeudi 2 avril 2020 Statut Membre Dernière intervention 4 avril 2020 > tonton_tonio Messages postés 13 Date d'inscription jeudi 2 avril 2020 Statut Membre Dernière intervention 4 avril 2020
3 avril 2020 à 01:13
J'ai beau suivre tes conseils en matière de gestion d'erreur mais Votre fichier est introuvable Il a peut-être été déplacé ou supprimé.
ERR_FILE_NOT_FOUND

Voila le resultat, je sais ça ne t aide pas à m'aider !?!
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > tonton_tonio Messages postés 13 Date d'inscription jeudi 2 avril 2020 Statut Membre Dernière intervention 4 avril 2020
3 avril 2020 à 07:50
Ton fichier php se nomme comment ? file.php ?
Il se trouve où par rapport a ton html ? Dans le même dossier ?

Retire le / dans le action de ton form
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tonton_tonio Messages postés 13 Date d'inscription jeudi 2 avril 2020 Statut Membre Dernière intervention 4 avril 2020
Modifié le 3 avril 2020 à 09:46
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":
<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>";

?> 


0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
3 avril 2020 à 08:31
Tu as bien envoyé tes fichiers sur le serveur OVH ?
Quelle l'url de ta page ?
0
tonton_tonio Messages postés 13 Date d'inscription jeudi 2 avril 2020 Statut Membre Dernière intervention 4 avril 2020 > jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024
3 avril 2020 à 08:37
Oui effectivement !

http://colisbolt.com/form_contact.htm
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
Modifié le 3 avril 2020 à 09:45
Tu as une erreur 500 .. donc un souci dans le code php
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.";

}

?>



0
tonton_tonio Messages postés 13 Date d'inscription jeudi 2 avril 2020 Statut Membre Dernière intervention 4 avril 2020
3 avril 2020 à 09:01
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 ?
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
3 avril 2020 à 09:31
En html, déjà, l'utilisation d'un input number.
Puis, par dessus, un code Javascript qui utilise un regex pour forcer le numérique
Et enfin, pour être sûr, côté serveur, l'utilisation de la fonction floatval (si nombre à virgule) ou intval() pour les nombres entiers
0
tonton_tonio Messages postés 13 Date d'inscription jeudi 2 avril 2020 Statut Membre Dernière intervention 4 avril 2020
3 avril 2020 à 09:36
Merci de ton aide précieuse et de ta patience !

Un dernier service à te demander : j'ai mis mon adresse mail professionnelle dans l'exemple php, pourais-tu la modifier en xx@xx.xx car je n'ai pas la main !

Je te souhaite une excellente journée !!! Bon courage !

0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
3 avril 2020 à 09:46
c'est fait
0
tonton_tonio Messages postés 13 Date d'inscription jeudi 2 avril 2020 Statut Membre Dernière intervention 4 avril 2020
3 avril 2020 à 09:56
Merci pour tout !!!
0