PHP formulaire de contact
Fermé
Ginolattera
Messages postés
22
Date d'inscription
samedi 14 juin 2014
Statut
Membre
Dernière intervention
8 septembre 2015
-
21 juin 2014 à 10:50
Ginolattera - 6 juil. 2014 à 09:58
Ginolattera - 6 juil. 2014 à 09:58
A voir également:
- PHP formulaire de contact
- Formulaire de réclamation facebook - Guide
- Easy php - Télécharger - Divers Web & Internet
- Créer un groupe whatsapp sans contact - Guide
- Formulaire de reclamation instagram - Guide
- Bloquer contact whatsapp - Guide
4 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
Modifié par Reivax962 le 23/06/2014 à 15:17
Modifié par Reivax962 le 23/06/2014 à 15:17
Bonjour,
Ton message d'erreur provient de ta ligne
Pour la coche Monsieur / Madame, le problème vient également d'une définition de variable : $veg n'est jamais défini lorsqu'on y vient.
Je te suggère la correction suivante :
Ton message d'erreur provient de ta ligne
$action=$_REQUEST['action'];qui est appelée lors du chargement de la page : 'action' ne sera défini que lorsque le formulaire sera validé. Donc lors du premier appel, il n'est pas défini, d'où le message.
Pour la coche Monsieur / Madame, le problème vient également d'une définition de variable : $veg n'est jamais défini lorsqu'on y vient.
Je te suggère la correction suivante :
<?php $action = (isset($_REQUEST['action'])) ? $_REQUEST['action'] : ''; $veg = (isset($_REQUEST['veg'])) ? $_REQUEST['veg'] : 'cabbage'; if ($action=="") /* display the contact form */ { ?> <form action="" method="POST" enctype="multipart/form-data"> <input type="hidden" name="action" value="submit"> <input type="radio" name="veg" value="cabbage" <?php if($veg == "cabbage"){print " checked=\"checked\"";} ?>> Madame <input type="radio" name="veg" value="onion" <?php if($veg == "onion"){print " checked=\"checked\"";} ?>> Monsieur <br> Votre nom et prénom:<br> <input name="name" type="text" value="" size="40"/><br> Votre email:<br> <input name="email" type="text" value="" size="40"/><br> Votre adresse:<br> <input name="message" type="text" value="" size="80"/><br> <input type="submit" value="envoyer"/> </form> <?php } else /* send the submitted data */ { $name=$_REQUEST['name']; $email=$_REQUEST['email']; $message=$_REQUEST['message']; if (($name=="")||($email=="")||($message=="")) { echo "Veuillez remplir tous les cases, <a href=\"\">the form</a> remplissez encore une fois SVP!."; } else{ $from="From: $name<$email>\r\nReturn-path: $email"; $subject="Message sent using your contact form"; mail("1234@club-internet.fr", $subject, $message, $from); echo "Email est parti!"; } } ?>
linkje
Messages postés
124
Date d'inscription
vendredi 20 juillet 2007
Statut
Membre
Dernière intervention
1 juillet 2014
1
1 juil. 2014 à 11:31
1 juil. 2014 à 11:31
Ecrit la nous ? :)
voici les scriptes, il marche bien:
index.htm
<html>
<body>
<p>Formulaire </p>
<form action="contact.php" method="post">
<p>Votre sexe?
<input type="radio" name="likeit" value="mademoiselle" checked="checked" /> Mademoiselle
<input type="radio" name="likeit" value="madame" /> Madame
<input type="radio" name="likeit" value="monsieur" /> Monsieur</p>
<p><b>Votre nom et prénom:</b> <input type="text" name="yourname" size="40" /><br />
<b>Subject:</b> <input type="text" name="subject" size="40" /><br />
<b>E-mail:</b> <input type="text" name="email" size="40" /><br />
Website: <input type="text" name="website"size="40" /></p>
<p><b>Votre adresse:</b><br />
<input type="text" name="adresse" size="100" /></p>
<select name="how">
<option value=""> -- Pays -- </option>
<option>FRANCE</option>
<option>BELGIQUE</option>
<option>SUISSE</option>
<option>LUXEMBOURG</option>
<option>AUTRE</option>
</select>
<p><input type="submit" value="Envoyer!"></p>
</form>
</body>
</html>
contact.php
<?php
/* Set e-mail recipient */
$myemail = "***@***";
/* Check all form inputs using check_input function */
$yourname = check_input($_POST['yourname'], "Enter your name");
$subject = check_input($_POST['subject'], "Write a subject");
$email = check_input($_POST['email']);
$website = check_input($_POST['website']);
$likeit = check_input($_POST['likeit']);
$how_find = check_input($_POST['how']);
$adresse = check_input($_POST['adresse'], "Write your comments");
/* If e-mail is not valid show error message */
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email))
{
show_error("E-mail address not valid");
}
/* If URL is not valid set $website to empty */
if (!preg_match("/^(https?:\/\/+[\w\-]+\.[\w\-]+)/i", $website))
{
$website = '';
}
/* Let's prepare the message for the e-mail */
$message = "Hello!
$likeit
Name: $yourname
E-mail: $email
URL: $website
Adresse:$adresse
$how_find
End of message
";
/* Send the message using mail() function */
mail($myemail, $subject, $message);
/* Redirect visitor to the thank you page */
header('Location: thanks.htm');
exit();
/* Functions we used */
function check_input($data, $problem='')
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
if ($problem && strlen($data) == 0)
{
show_error($problem);
}
return $data;
}
function show_error($myError)
{
?>
<html>
<body>
<b>Veuillez corriger les erreurs:</b><br />
<?php echo $myError; ?>
</body>
</html>
<?php
exit();
}
?>
thank.htm
<html>
<body>
<p><b>Votre message a été envoyé! </b></p>
</body>
</html>
index.htm
<html>
<body>
<p>Formulaire </p>
<form action="contact.php" method="post">
<p>Votre sexe?
<input type="radio" name="likeit" value="mademoiselle" checked="checked" /> Mademoiselle
<input type="radio" name="likeit" value="madame" /> Madame
<input type="radio" name="likeit" value="monsieur" /> Monsieur</p>
<p><b>Votre nom et prénom:</b> <input type="text" name="yourname" size="40" /><br />
<b>Subject:</b> <input type="text" name="subject" size="40" /><br />
<b>E-mail:</b> <input type="text" name="email" size="40" /><br />
Website: <input type="text" name="website"size="40" /></p>
<p><b>Votre adresse:</b><br />
<input type="text" name="adresse" size="100" /></p>
<select name="how">
<option value=""> -- Pays -- </option>
<option>FRANCE</option>
<option>BELGIQUE</option>
<option>SUISSE</option>
<option>LUXEMBOURG</option>
<option>AUTRE</option>
</select>
<p><input type="submit" value="Envoyer!"></p>
</form>
</body>
</html>
contact.php
<?php
/* Set e-mail recipient */
$myemail = "***@***";
/* Check all form inputs using check_input function */
$yourname = check_input($_POST['yourname'], "Enter your name");
$subject = check_input($_POST['subject'], "Write a subject");
$email = check_input($_POST['email']);
$website = check_input($_POST['website']);
$likeit = check_input($_POST['likeit']);
$how_find = check_input($_POST['how']);
$adresse = check_input($_POST['adresse'], "Write your comments");
/* If e-mail is not valid show error message */
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email))
{
show_error("E-mail address not valid");
}
/* If URL is not valid set $website to empty */
if (!preg_match("/^(https?:\/\/+[\w\-]+\.[\w\-]+)/i", $website))
{
$website = '';
}
/* Let's prepare the message for the e-mail */
$message = "Hello!
$likeit
Name: $yourname
E-mail: $email
URL: $website
Adresse:$adresse
$how_find
End of message
";
/* Send the message using mail() function */
mail($myemail, $subject, $message);
/* Redirect visitor to the thank you page */
header('Location: thanks.htm');
exit();
/* Functions we used */
function check_input($data, $problem='')
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
if ($problem && strlen($data) == 0)
{
show_error($problem);
}
return $data;
}
function show_error($myError)
{
?>
<html>
<body>
<b>Veuillez corriger les erreurs:</b><br />
<?php echo $myError; ?>
</body>
</html>
<?php
exit();
}
?>
thank.htm
<html>
<body>
<p><b>Votre message a été envoyé! </b></p>
</body>
</html>