Help me : formulaure HTML / PHP

tici86 Messages postés 2 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 24 octobre 2010 - 22 oct. 2010 à 16:43
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 - 29 oct. 2010 à 23:22
Bonjour,

Petit problème j ai mon formulaire ci dessous , dans un fichier php et un html.
Mais y a un hic, je ne reçois pas le message envoyé.
Si quelqu'un pouvait m'éclairer sur mon erreur ? Merci









Nom:





Prénom:





E-Mail:





Message:













4 réponses

cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
23 oct. 2010 à 01:57
<?php
if(isset($_POST['submit']) && $_POST['submit']=="Envoyer"){

$sender_nom = $_POST['sender_nom'];
$sender_prenom = $_POST['sender_prenom'];
$sender_email = $_POST['sender_email'];
$message = $_POST['message'];

$msg = "";
$msg .= "Nom:\t".$sender_nom."\n";
$msg .= "Prénom:\t".$sender_prenom."\n";
$msg .= "E-Mail:\t".$sender_email."\n";
$msg .= "Message:\t".$message."\n\n";

$recipient = "?????@free.fr"; // à personnaliser
$subject = "Formulaire contact";

$mailheaders = "From: Formulaire de contact <mon_mail@mail.com> \n";
$mailheaders .= "Reply-To: ".$sender_email."\n\n";

// envoi du mail

if(@mail($recipient, $subject, $msg, $mailheaders)){

echo 'Merci, '.$sender_prenom.' - '.$sender_nom.'

';
echo 'Votre formulaire est envoyé !
';
echo '[http://'.$_SERVER['HTTP_HOST'].' Retourner au site]

';

exit;

} else {

echo 'Erreur formulaire';exit;

}

} else { ?>
<html><head></head>







<FORM method="POST" action="">
<!-- <FORM method="POST" action="do_sendform.php"> -->
Nom:





Prénom:





E-Mail:





Message:

<textarea name="message" cols=30 rows=5></textarea>



</FORM>






</html>
<?php };exit;?>
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
23 oct. 2010 à 01:59
Un fichier php suffit ... nomme le mail.php et essaie
c'est simple mais efficace ! J'ai respecté ta presentation ... il fonctionne sur mon serveur ovh ! bonne prog
0
tici86 Messages postés 2 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 24 octobre 2010
24 oct. 2010 à 10:41
Bonjour,

je suis également chez OVH. ta solution fonctionne bien :)

mais pour intégrer cela dans une page HTML qui a déjà du contenu je dois faire comment ?

Je suis assez noviste dans la matière. ( c'est pour cela que je le faisais en deux fichiers en fait.

Merci
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
29 oct. 2010 à 23:22
<?php
//petite protection des champs

function validation($mavar,$longueur,$err){
//anti injection de code
strip_tags($mavar);
if(strlen($mavar)<$longueur && !empty($mavar)){
return true;
}else{
echo '
'.$err;
return false;
}
}

//verif du mail

function check_email($email) {
$validation = TRUE;
if(!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$", $email)) {
echo '
E-mail incorrect !';
$validation = FALSE;
}
return $validation;
}

//nom

if(isset($_POST['sender_nom']) && !empty($_POST['sender_nom']) ) {
$sender_nom = $_POST['sender_nom'];
}else{
$sender_nom="";
}

//prenom

if(isset($_POST['sender_prenom']) && !empty($_POST['sender_prenom']) ) {
$sender_prenom = $_POST['sender_prenom'];
}else{
$sender_prenom="";
}

//email

if(isset($_POST['sender_email']) && !empty($_POST['sender_email']) ) {
$sender_email = $_POST['sender_email'];
}else{
$sender_email="";
}

//message

if(isset($_POST['sender_message']) && !empty($_POST['sender_message']) ) {
$sender_message = $_POST['sender_message'];
}else{
$sender_message="";
}

if(isset($err)){
$err;
}else{
$err="";
}

$form=$err.'
<form method="post" action="'.$_SERVER['PHP_SELF'].'">

Nom:



Prénom:



E-mail:



Message:

<textarea name="sender_message" cols=51 rows=5>'.$sender_message.'</textarea>




</form>';


if(isset($_POST['submit']) && $_POST['submit']=="Envoyer"
&& validation($_POST['sender_nom'], 30, "Problème champs nom, vide, trop long ...")
&& validation($_POST['sender_prenom'], 30, "Problème champs prenom, vide, trop long ...")
&& validation($_POST['sender_email'], 50, "Problème champs email, vide, trop long ...")
&& validation($_POST['sender_message'], 255, "Problème champs message, vide, trop long ...")
&& check_email($_POST['sender_email'])
){

$sender_nom = $_POST['sender_nom'];
$sender_prenom = $_POST['sender_prenom'];
$sender_email = $_POST['sender_email'];
$sender_message = $_POST['sender_message'];


$msg = date('d-m-Y à h:i:s')."\nIP --> ".$_SERVER['REMOTE_ADDR']."\n";
$msg .= "Nom:\t".$sender_nom."\n";
$msg .= "Prénom:\t".$sender_prenom."\n";
$msg .= "E-Mail:\t".$sender_email."\n";
$msg .= "Message:\t".$sender_message."\n\n";

$recipient = "abyz@free.fr"; // à personnaliser
$subject = "Formulaire contact";

$mailheaders = "From: Formulaire de contact <mon_mail@mail.com> \n";
$mailheaders .= "Reply-To: ".$sender_email."\n\n";

// envoi du mail

if(@mail($recipient, $subject, $msg, $mailheaders)){
echo '<hr><center>Merci, '.$sender_prenom.' - '.$sender_nom.'

Votre formulaire est envoyé !</center><hr>';

// lien à personnaliser retourner ou on veut
echo '<center>[javascript:history.back(); RETOURNER AU SITE]</center>';

exit;

}else{
echo "La fonction mail() ne marche pas sur le serveur";exit;
}

}else{
"";
}






?>

<html><head></head>


<!-- du code html au dessus ça

la page doit porter l'extension .php pas .html

-->








<?php
echo $form;
?>








<!--

du code html en aprés ça

-->


</html>
0
Rejoignez-nous