Pb formulaire de contact
theca
-
theca -
theca -
J'ai creer un formulaire de contact pour mon site et il me fait toujours erreur.
Voila j'ai une erreur et j'arrive pas a la resoudre. Je vous poste les codes du html et du php ci dessous:
PHP:
<?php
$adresse = "***@***";
$site = "www.crbc.fr";
$TO = $adresse;
$head = "From: ".$adresse."\n";
$head .= "X-Sender: <".$adresse.">\n";
$head .= "X-Mailer: PHP\n";
$head .= "Return-Path: <".$adresse.">\n";
$head .= "Content-Type: text/plain; charset=iso-8859-1\n";
$sujet = "Formulaire de contact";
$informations = "
Nom: ".$_POST['nom']."\r\n
Email du formulaire: ".$_POST['mail']." \r\n
Sujet du formulaire: ".$_POST['objet']."\r\n
Message: ".$_POST['message']."\r\n
";
$res = mail($TO, $sujet ,$informations, $head);
if (true == $res) {
Header("Location: http://".$site."/page/formail2_ok.html" );
} else {
Header("Location: http://".$site."/page/formail2_pasok.html" );
}
?>
HTML :
<form method="post" action="formmail2.php" id="contact" target="_blank" >
<input type="hidden" name="subject" value="formmail">
<input class="whform " type="text" name="nom" id="nom" placeholder="Nom Prénom" required />
<input class="whform " type="email" name="mail" id="mail" placeholder="E-mail" required />
<input class="whform " type="text" name="objet" id="sujet" placeholder="Sujet"required />
<textarea name="message" id="message" placeholder="Taper votre message" required /></textarea>
<input type="submit" id="envoyer" value="Envoyer" />
</form>
Si quelqu'un sait ce qui cloche merci d'avance pour son aide.
Voila j'ai une erreur et j'arrive pas a la resoudre. Je vous poste les codes du html et du php ci dessous:
PHP:
<?php
$adresse = "***@***";
$site = "www.crbc.fr";
$TO = $adresse;
$head = "From: ".$adresse."\n";
$head .= "X-Sender: <".$adresse.">\n";
$head .= "X-Mailer: PHP\n";
$head .= "Return-Path: <".$adresse.">\n";
$head .= "Content-Type: text/plain; charset=iso-8859-1\n";
$sujet = "Formulaire de contact";
$informations = "
Nom: ".$_POST['nom']."\r\n
Email du formulaire: ".$_POST['mail']." \r\n
Sujet du formulaire: ".$_POST['objet']."\r\n
Message: ".$_POST['message']."\r\n
";
$res = mail($TO, $sujet ,$informations, $head);
if (true == $res) {
Header("Location: http://".$site."/page/formail2_ok.html" );
} else {
Header("Location: http://".$site."/page/formail2_pasok.html" );
}
?>
HTML :
<form method="post" action="formmail2.php" id="contact" target="_blank" >
<input type="hidden" name="subject" value="formmail">
<input class="whform " type="text" name="nom" id="nom" placeholder="Nom Prénom" required />
<input class="whform " type="email" name="mail" id="mail" placeholder="E-mail" required />
<input class="whform " type="text" name="objet" id="sujet" placeholder="Sujet"required />
<textarea name="message" id="message" placeholder="Taper votre message" required /></textarea>
<input type="submit" id="envoyer" value="Envoyer" />
</form>
Si quelqu'un sait ce qui cloche merci d'avance pour son aide.
A voir également:
- Pb formulaire de contact
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Formulaire de contact le bon coin introuvable ✓ - Forum Vos droits sur internet
- Recuperer contact carte sim - Guide
3 réponses
Bonjour,
Tout d'abord, pour le warning occasionné, prends cette ligne de code:
Ensuite, je ne comprends pas trop ce que tu désires faire avec ces lignes de code:
Si c'est pour savoir si le courriel s'est bien envoyé, je ne crois pas que ce soit la bonne façon de faire.
Tout d'abord, je remplacerais ces lignes par seulement cela:
Puis, je vérifierais les input du formulaire AVANT l'envoi du courriel. Ainsi, s'il y a bien présence de tous les éléments requis, la fonction mail() pourra se faire.
Mais avec les seuls changements que je t'ai proposés, tout fonctionne parfaitement. Je l'ai testé sur un serveur et j'ai bien reçu un courriel.
Tout d'abord, pour le warning occasionné, prends cette ligne de code:
$head .= "Content-Type: text/plain; charset=iso-8859-1\n";et mets-la avant les autres variables $head.
Ensuite, je ne comprends pas trop ce que tu désires faire avec ces lignes de code:
$res = mail($TO, $sujet ,$informations, $head);
if (true == $res) {
Header("Location: http://".$site."/page/formail2_ok.html" );
} else {
Header("Location: http://".$site."/page/formail2_pasok.html" );
}
Si c'est pour savoir si le courriel s'est bien envoyé, je ne crois pas que ce soit la bonne façon de faire.
Tout d'abord, je remplacerais ces lignes par seulement cela:
mail($TO, $sujet ,$informations, $head);
Puis, je vérifierais les input du formulaire AVANT l'envoi du courriel. Ainsi, s'il y a bien présence de tous les éléments requis, la fonction mail() pourra se faire.
Mais avec les seuls changements que je t'ai proposés, tout fonctionne parfaitement. Je l'ai testé sur un serveur et j'ai bien reçu un courriel.
J'ai utilisé ce code sur mon serveur aussi, j'arrivais sur ta page erreur, mais je recevais quand même le courriel.
Fais cela à la place. Je l'ai testé et ça marche.
Fais cela à la place. Je l'ai testé et ça marche.
$res = mail($TO, $sujet ,$informations, $head);
if ((isset($res)) && ($res === TRUE)){ echo "good"; }
else { echo "no good"; }
En passant, tu peux remettre tes header(location: .... ) à la place de mes echo "good" ou "no good" là, c'était juste pour faire vite.
Tu verrais donc:
$res = mail($TO, $sujet ,$informations, $head);
if ((isset($res)) && ($res === TRUE)){ Header("Location: http://".$site."/page/formail2_ok.html" ); }
else { Header("Location: http://".$site."/page/formail2_pasok.html" ); }
Tu verrais donc:
$res = mail($TO, $sujet ,$informations, $head);
if ((isset($res)) && ($res === TRUE)){ Header("Location: http://".$site."/page/formail2_ok.html" ); }
else { Header("Location: http://".$site."/page/formail2_pasok.html" ); }
Pour la partie que tu ne comprend c pour prevenir l'utilisateur si son mail a bien étéi envoyé ou pas.
merci pour ton aide je te tien au courant.
$adresse = "***@***";