FORMULAIRE
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Dans mon site j'ai crée un formulaire :
<form method="post" action="mailto:spamdv@hotmail.fr">
<div style="text-align: center;">
<input name="subject" value="Site-principal" type="hidden">
</div>
<table style="text-align: left; margin-left: auto; margin-right: auto;">
<tbody>
<tr>
<td style="text-align: left; font-family: Helvetica,Arial,sans-serif;">Nom :</td>
<td><input name="Nom" size="30" type="text"></td>
</tr>
<tr>
<td style="font-family: Helvetica,Arial,sans-serif;">Email:</td>
<td><input name="Mail" size="30" type="text"></td>
</tr>
<tr>
<td><span style="font-family: Helvetica,Arial,sans-serif;">Sujet :</span> </td>
<td>
<select name="subject" size="1">
<option value="----">Choisir dans la liste ci-dessous
</option>
<option value="PoPoint">Site allemand facile
</option>
<option value="Autre">Autre...
</option>
</select>
</td>
</tr>
<tr>
<td colspan="2"><br>
<span style="font-family: Helvetica,Arial,sans-serif;">
Message:</span><br>
<textarea cols="50" rows="6" name="Message"></textarea>
</td>
</tr>
</tbody>
</table>
<br>
<div style="text-align: center;"><a href="envoi.html"><input value="Envoyer" type="submit"></a>
</div>
</form>
Mon problème est que non seulement le code est un peu "bric a brac" mais à l'envoi, on ouvre une fenêtre outlook ! J'ai fait une recherche et j'ai compris qu'il fallait utiliser le PHP mais sinon j'ai rien compris. Je suis également allé sur
https://www.commentcamarche.net/contents/800-php-mail-et-fonctions-reseau
Si vous pouviez m'expliquer clairement le code à rajouter ou et comment.
Merci de votre aide !
Dans mon site j'ai crée un formulaire :
<form method="post" action="mailto:spamdv@hotmail.fr">
<div style="text-align: center;">
<input name="subject" value="Site-principal" type="hidden">
</div>
<table style="text-align: left; margin-left: auto; margin-right: auto;">
<tbody>
<tr>
<td style="text-align: left; font-family: Helvetica,Arial,sans-serif;">Nom :</td>
<td><input name="Nom" size="30" type="text"></td>
</tr>
<tr>
<td style="font-family: Helvetica,Arial,sans-serif;">Email:</td>
<td><input name="Mail" size="30" type="text"></td>
</tr>
<tr>
<td><span style="font-family: Helvetica,Arial,sans-serif;">Sujet :</span> </td>
<td>
<select name="subject" size="1">
<option value="----">Choisir dans la liste ci-dessous
</option>
<option value="PoPoint">Site allemand facile
</option>
<option value="Autre">Autre...
</option>
</select>
</td>
</tr>
<tr>
<td colspan="2"><br>
<span style="font-family: Helvetica,Arial,sans-serif;">
Message:</span><br>
<textarea cols="50" rows="6" name="Message"></textarea>
</td>
</tr>
</tbody>
</table>
<br>
<div style="text-align: center;"><a href="envoi.html"><input value="Envoyer" type="submit"></a>
</div>
</form>
Mon problème est que non seulement le code est un peu "bric a brac" mais à l'envoi, on ouvre une fenêtre outlook ! J'ai fait une recherche et j'ai compris qu'il fallait utiliser le PHP mais sinon j'ai rien compris. Je suis également allé sur
https://www.commentcamarche.net/contents/800-php-mail-et-fonctions-reseau
Si vous pouviez m'expliquer clairement le code à rajouter ou et comment.
Merci de votre aide !
6 réponses
salut,
il faut mettre dans action la page ou se situe ton script
exemple :
ensuite pour envoi du mail il faut utiliser la fonction mail()
il faut mettre dans action la page ou se situe ton script
exemple :
<form method="post" action="contact.php">
ensuite pour envoi du mail il faut utiliser la fonction mail()
oki alors j'ai revu tout ça au calme ce matin, je me suis arreté la :
<?php
if(isset($_POST) && isset($_POST['nom']) && isset($_POST['email']) && isset ($_POST['message'])){
extract($_POST);
if(!empty($nom) && !empty($email) && !empty($message)){
echo $message;
;
}
?>
Jusqu'à la j'ai corrigé toutes mes fautes mais quand je lance sous fiefox pour tester mon code ils me mettent
Parse error: syntax error, unexpected $end in /mnt/136/sda/1/f/site/test/contact.php on line 9
J'ai pourtant bien recopié et ma ligne 9 est identique a celle de la video or dans la video, lorsqu'il corrige ses erreurs, le code fonctionne !
Quelle est l'erreur de cette ligne ?
Merci,
PS j'ai aussi eut un probleme avec la ligne 7, dans la video c'est une parenthese qui est affichée mais quand je met une parenthèse ils me disent que la parenthese n'est pas attendue ici mais c'est ';' qui est attendu ^^
Merci bcp !
<?php
if(isset($_POST) && isset($_POST['nom']) && isset($_POST['email']) && isset ($_POST['message'])){
extract($_POST);
if(!empty($nom) && !empty($email) && !empty($message)){
echo $message;
;
}
?>
Jusqu'à la j'ai corrigé toutes mes fautes mais quand je lance sous fiefox pour tester mon code ils me mettent
Parse error: syntax error, unexpected $end in /mnt/136/sda/1/f/site/test/contact.php on line 9
J'ai pourtant bien recopié et ma ligne 9 est identique a celle de la video or dans la video, lorsqu'il corrige ses erreurs, le code fonctionne !
Quelle est l'erreur de cette ligne ?
Merci,
PS j'ai aussi eut un probleme avec la ligne 7, dans la video c'est une parenthese qui est affichée mais quand je met une parenthèse ils me disent que la parenthese n'est pas attendue ici mais c'est ';' qui est attendu ^^
Merci bcp !
en ligne 7 c'est une accolade qu'il faut mettre et pas une parenthèse :
<?php if(isset($_POST) && isset($_POST['nom']) && isset($_POST['email']) && isset ($_POST['message'])){ extract($_POST); if(!empty($nom) && !empty($email) && !empty($message)){ echo $message; } } ?>
On avance, doucement mais surement...
La j'ai le code en entier
<?php
if(isset($_POST) && isset($_POST['nom']) && isset($_POST['email']) && isset ($_POST['message'])){
extract($_POST);
if(!empty($nom) && !empty($email) && !empty($message)){
$destinataire="spamdv@hotmail.fr";
$sujet="Formulare de contact";
$msg="Une question est arrivée \n
Nom : $nom \n
Email : $email \n
Message : $message";
$entete="From: $nom \n Reply-To: $email";
mail($destinataire,$sujet,$msg,$entete)
}
else{
echo "Vous n'avez pas rempli tous les champs";
}
}
?>
Le probleme c'est qu'ils mettent :
Parse error: syntax error, unexpected '}' in /mnt/136/sda/1/f/kiloo120/test/contact.php on line 14
Pourquoi ? dans la video, il en met pourtant ?
Peux-tu me donner ton code sinon et je le copie colle, la je désespere ^^
Merci
La j'ai le code en entier
<?php
if(isset($_POST) && isset($_POST['nom']) && isset($_POST['email']) && isset ($_POST['message'])){
extract($_POST);
if(!empty($nom) && !empty($email) && !empty($message)){
$destinataire="spamdv@hotmail.fr";
$sujet="Formulare de contact";
$msg="Une question est arrivée \n
Nom : $nom \n
Email : $email \n
Message : $message";
$entete="From: $nom \n Reply-To: $email";
mail($destinataire,$sujet,$msg,$entete)
}
else{
echo "Vous n'avez pas rempli tous les champs";
}
}
?>
Le probleme c'est qu'ils mettent :
Parse error: syntax error, unexpected '}' in /mnt/136/sda/1/f/kiloo120/test/contact.php on line 14
Pourquoi ? dans la video, il en met pourtant ?
Peux-tu me donner ton code sinon et je le copie colle, la je désespere ^^
Merci
il te manque le ; a la fin de cette ligne
mail($destinataire,$sujet,$msg,$entete)
il faut parfois regarder la ligne au dessus de celle indiquée, comme tu n'as pas mis de ; php considère les deux lignes (la 13 et la 14) comme une seule (la 14)
mail($destinataire,$sujet,$msg,$entete)
il faut parfois regarder la ligne au dessus de celle indiquée, comme tu n'as pas mis de ; php considère les deux lignes (la 13 et la 14) comme une seule (la 14)
Alors la j'écris mon message et quand je click sur envoyer, j'ai une page blanche. je me suis alors dit : c'est normal y'a pas de
echo="votre message a bien été envoyé !"
Le problème c'est où le placer ?
Sinon je ne comprend pas : j'ai beau avoir mis la bonne adresse le mail n'arrive pas ! ça fait maintenant 3 minutes que j'attends sans aucun mail ! l'adresse est pourtant bonne !
C'est bien ligne 6 qu'il faut mettre
$destinataire="monadresse@hotmail.fr";
Si oui l'adresse est bonne ! pourquoi le message n'arrive t'il pas ?
Merci !
echo="votre message a bien été envoyé !"
Le problème c'est où le placer ?
Sinon je ne comprend pas : j'ai beau avoir mis la bonne adresse le mail n'arrive pas ! ça fait maintenant 3 minutes que j'attends sans aucun mail ! l'adresse est pourtant bonne !
C'est bien ligne 6 qu'il faut mettre
$destinataire="monadresse@hotmail.fr";
Si oui l'adresse est bonne ! pourquoi le message n'arrive t'il pas ?
Merci !
Bon j'ai travaillé sur ce formulaire toute la soirée et voila ou j'en suis :
j'ai pêché un code que j'ai modifié... le voila :
<?php
if(isset($_POST) && isset($_POST['nom']) && isset($_POST['email']) && isset($_POST['message'])){
$nom = htmlspecialchars($_POST['nom']);
$message = htmlspecialchars(trim($_POST['message']));
$email = htmlspecialchars($_POST['email']);
#Verification de la validité de l'email#
if(preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $email)) //si l'email est valide
{
if(!empty($nom) && !empty($email) && !empty($message)){
$message=str_replace("\'","'",$message);
$destinataire="spamdv@hotmail.fr";
$sujet="Formulaire de contact";
$message="Une nouvelle question est arrivée \n
Nom : $nom \n
Email : $email \n
Message: $message";
$entete="From: $nom \n Reply-To: $email";
mail(utf8_decode($destinataire),utf8_decode($sujet),utf8_decode($message),utf8_decode($entete));
$a= "<p>Le mail a bien été envoyé.</p>";
}
else{
$erreur .= "<p>Veuillez remplir tous les champs.</p>";
}
}
else{
$erreur .= "<p>Votre adresse email est invalide.</p>";
}
}
if(isset($a))
{
echo "<font color='green'>$a</font>";
}
if(isset($erreur))
{
echo "<font color='red'>$erreur</font>";
}
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>"method="post">
<table><tr><td><label for="nom">Nom:</label></td><td><input type="text" name="nom" id="nom"/></td></tr><tr><td><label for="email">Email:</label></td><td><input type="text" name="email" id="email" /></td></tr><tr><td><label for="message">Message :</label></td><td><textarea name="message" cols="30" rows="15" id="message" ></textarea></td></tr><tr><td></td><td><input type="submit" value="Envoyer" /></td></tr></table>
Quand j'insere ça dans une page vide, le formulaire marche à 1000% avec l'email qui arrive bien et tout !
Maintenant quand je met ce code dans une page contenant d'autres choses (banniere et menu) la le formulaire n'envoi plus rien, le PHP est inopérationel ! pourquoi ce code marche tout seul et pas en compagnie d'autres choses ?
j'ai pêché un code que j'ai modifié... le voila :
<?php
if(isset($_POST) && isset($_POST['nom']) && isset($_POST['email']) && isset($_POST['message'])){
$nom = htmlspecialchars($_POST['nom']);
$message = htmlspecialchars(trim($_POST['message']));
$email = htmlspecialchars($_POST['email']);
#Verification de la validité de l'email#
if(preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $email)) //si l'email est valide
{
if(!empty($nom) && !empty($email) && !empty($message)){
$message=str_replace("\'","'",$message);
$destinataire="spamdv@hotmail.fr";
$sujet="Formulaire de contact";
$message="Une nouvelle question est arrivée \n
Nom : $nom \n
Email : $email \n
Message: $message";
$entete="From: $nom \n Reply-To: $email";
mail(utf8_decode($destinataire),utf8_decode($sujet),utf8_decode($message),utf8_decode($entete));
$a= "<p>Le mail a bien été envoyé.</p>";
}
else{
$erreur .= "<p>Veuillez remplir tous les champs.</p>";
}
}
else{
$erreur .= "<p>Votre adresse email est invalide.</p>";
}
}
if(isset($a))
{
echo "<font color='green'>$a</font>";
}
if(isset($erreur))
{
echo "<font color='red'>$erreur</font>";
}
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>"method="post">
<table><tr><td><label for="nom">Nom:</label></td><td><input type="text" name="nom" id="nom"/></td></tr><tr><td><label for="email">Email:</label></td><td><input type="text" name="email" id="email" /></td></tr><tr><td><label for="message">Message :</label></td><td><textarea name="message" cols="30" rows="15" id="message" ></textarea></td></tr><tr><td></td><td><input type="submit" value="Envoyer" /></td></tr></table>
Quand j'insere ça dans une page vide, le formulaire marche à 1000% avec l'email qui arrive bien et tout !
Maintenant quand je met ce code dans une page contenant d'autres choses (banniere et menu) la le formulaire n'envoi plus rien, le PHP est inopérationel ! pourquoi ce code marche tout seul et pas en compagnie d'autres choses ?
Lors d'un instant ça a marché mais apres j'ai modifié une police et paf !
Expliquez moi une derniere fois ce qui cloche dans ce code : (Bon il est brouillon mais...)
<?php if(isset($_POST) && isset($_POST['nom']) && isset($_POST['email']) && isset($_POST['message'])){ $nom = htmlspecialchars($_POST['nom']); $message = htmlspecialchars(trim($_POST['message'])); $email = htmlspecialchars($_POST['email']); #Verification de la validité de l'email# if(preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $email)) //si l'email est valide { if(!empty($nom) && !empty($email) && !empty($message)){ $message=str_replace("\'","'",$message); $destinataire="spamdv@hotmail.fr"; $sujet="Formulaire de contact"; $message="Une nouvelle question est arrivée \n Nom : $nom \n Email : $email \n Message: $message"; $entete="From: $nom \n Reply-To: $email"; mail(utf8_decode($destinataire),utf8_decode($sujet),utf8_decode($message),utf8_decode($entete)); $a= "<p>Le mail a bien été envoyé.</p>"; } else{ $erreur .= "<p>Veuillez remplir tous les champs.</p>"; } } else{ $erreur .= "<p>Votre adresse email est invalide.</p>"; } } if(isset($a)) { echo "<font color='green'>$a</font>"; } if(isset($erreur)) { echo "<font color='red'>$erreur</font>"; } ?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<table>
<tbody>
<tr>
<td><label for="nom">Nom:</label></td>
<td><input name="nom" id="nom" type="text"></td>
</tr>
<tr>
<td><label for="email">Email:</label></td>
<td><input name="email" id="email" type="text"></td>
</tr>
<tr>
<td><label for="message">Message :</label></td>
<td><textarea name="message" cols="30" rows="15" id="message"></textarea></td>
</tr>
<tr>
<td></td>
<td><input value="Envoyer" type="submit"></td>
</tr>
</tbody>
</table>
</form>
Merci ! Je commençais a désespérer mais vous êtes la !
Merci du temps et de l'attention que vous m'avez accordé !
Expliquez moi une derniere fois ce qui cloche dans ce code : (Bon il est brouillon mais...)
<?php if(isset($_POST) && isset($_POST['nom']) && isset($_POST['email']) && isset($_POST['message'])){ $nom = htmlspecialchars($_POST['nom']); $message = htmlspecialchars(trim($_POST['message'])); $email = htmlspecialchars($_POST['email']); #Verification de la validité de l'email# if(preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $email)) //si l'email est valide { if(!empty($nom) && !empty($email) && !empty($message)){ $message=str_replace("\'","'",$message); $destinataire="spamdv@hotmail.fr"; $sujet="Formulaire de contact"; $message="Une nouvelle question est arrivée \n Nom : $nom \n Email : $email \n Message: $message"; $entete="From: $nom \n Reply-To: $email"; mail(utf8_decode($destinataire),utf8_decode($sujet),utf8_decode($message),utf8_decode($entete)); $a= "<p>Le mail a bien été envoyé.</p>"; } else{ $erreur .= "<p>Veuillez remplir tous les champs.</p>"; } } else{ $erreur .= "<p>Votre adresse email est invalide.</p>"; } } if(isset($a)) { echo "<font color='green'>$a</font>"; } if(isset($erreur)) { echo "<font color='red'>$erreur</font>"; } ?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<table>
<tbody>
<tr>
<td><label for="nom">Nom:</label></td>
<td><input name="nom" id="nom" type="text"></td>
</tr>
<tr>
<td><label for="email">Email:</label></td>
<td><input name="email" id="email" type="text"></td>
</tr>
<tr>
<td><label for="message">Message :</label></td>
<td><textarea name="message" cols="30" rows="15" id="message"></textarea></td>
</tr>
<tr>
<td></td>
<td><input value="Envoyer" type="submit"></td>
</tr>
</tbody>
</table>
</form>
Merci ! Je commençais a désespérer mais vous êtes la !
Merci du temps et de l'attention que vous m'avez accordé !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
<form method="post" action="mailto:spamdv@hotmail.fr"> et apres comment on sait a quelle adresse mail l'envoyer ?
Et peux-tu être plus précis sur
"ensuite pour envoi du mail il faut utiliser la fonction mail()"
ça veut dire quoi ? ou faut t'il mettre ce code et faut il le modifier ?
en tous cas super merci pour ta réponse plutôt rapide !
c'est vrai j'ai été un peu vite
tien une petite video qui expliquera mieux que moi
https://www.grafikart.fr/tutoriels/formulaire-php-21
Merci
Parse error: syntax error, unexpected T_STRING, expecting T_VARIABLE or '$' in /mnt/136/sda/1/f/kiloo120/test/contact.php on line 4