Vous êtes ici Forums > Dépôt de sources > aide formulaire de contact

SUJET: Aide formulaire de contact
  Le 09 Mai 2010 à 17:47:49
bonjour
j'ai mis un petit script php de contact
pour but de m'envoyer par mail (info@test.com) les informations du formulaire contact
ma question est la suivante, comment je peut créer une reponse automatisée que recevera la personne qui va remplir le formulaire
et si c'est possible avec des delais variables, exemple entre 8h et 48 h
merci les amis
ceci est une copie du contenu de mon fichier
---------------------------------------------------
Code:
<?php
/*********************************************************************************************
* CONFIGURATION
********************************************************************************************/


$from 'info@test.com';

$destinataire 'info@test.com';

// copie ? (envoie une copie au visiteur)
$copie 'non'// 'oui' ou 'non'

// Messages de confirmation du mail
$message_envoye "Le formulaire nous est bien parvenu!";
$message_non_envoye "L'envoi du mail a echoue, veuillez reessayer SVP...";

// Messages d'erreur du formulaire
$message_erreur_formulaire "Une erreur est survenue... Veuillez à nouveau remplir le <a href="./in.html">formulaire</a>.";
$msg_invalid_form "Verifiez que tous les champs soient bien remplis et que l'e-mail soit sans erreur.";

/*********************************************************************************************
* FIN DE LA CONFIGURATION
********************************************************************************************/


if (!isset(
$_POST['envoi']))
{
echo 
'<p>'.$message_erreur_formulaire.'</p>'."n";
}
else
{
function 
Rec($text)
{
$text trim($text); // delete white spaces after & before text
if (=== get_magic_quotes_gpc())
{
$stripslashes create_function('$txt''return stripslashes($txt);');
}
else
{
$stripslashes create_function('$txt''return $txt;');
}

// magic quotes ?
$text $stripslashes($text);
$text htmlspecialchars($textENT_QUOTES); // converts to string with " and ' as well
$text nl2br($text);
return 
$text;
};

function 
IsEmail($email)
{
$pattern "^([a-z0-9_]|\-|\.)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,7}$";
return (
eregi($pattern,$email)) ? true false;
};

$nom = (isset($_POST['Nom'])) ? Rec($_POST['Nom']) : '';
$prenom = (isset($_POST['Prenom'])) ? Rec($_POST['Prenom']) : '';
$pseudo = (isset($_POST['Pseudo'])) ? Rec($_POST['Pseudo']) : '';
$pays = (isset($_POST['Pays'])) ? Rec($_POST['Pays']) : '';
$email = (isset($_POST['Email'])) ? Rec($_POST['Email']) : '';
$discipline = (isset($_POST['Discipline'])) ? Rec($_POST['Discipline']) : '';
$web = (isset($_POST['Web'])) ? Rec($_POST['Web']) : '';
$cotation = (isset($_POST['Cotation'])) ? Rec($_POST['Cotation']) : '';
$cote = (isset($_POST['Cote'])) ? Rec($_POST['Cote']) : '';
$niveau = (isset($_POST['Niveau'])) ? Rec($_POST['Niveau']) : '';
$oeuvre = (isset($_POST['Oeuvre'])) ? Rec($_POST['Oeuvre']) : '';

$email = (IsEmail($email)) ? $email '';
/*if (($nom != '') && ($prenom != '') && ($email != '') && ($pays != '') &&
($discipline != '') && ($web != '') && ($cotation != '') && ($cote != ''))
{*/

$headers "From: " '<$from>' "rn";

// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible $destinataire.','.$email;
}
else
{
$cible $destinataire;
};

$message =
"Nom: ".$nom."n".
"Prenom: ".$prenom."n".
"Pseudo: ".$pseudo."n".
"Pays: ".$pays."n".
"E-mail: ".$email."n".
"Discipline(s): ".$discipline."n".
"Site Web: ".$web."n".
"Cotation: ".$cotation."n".
"Cote: ".$cote."n".
"Niveau: ".$niveau."n".
"Oeuvre: ".$oeuvre."n"
;

$message str_replace("&#039;","'",$message);
$message str_replace("&#8217;","'",$message);
$message str_replace(""",'"',$message);
$message = str_replace('
<br>','',$message);
$message = str_replace('
','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);

$date = date("d/m/Y h:i:s");
$objet = "Formulaire de ".$prenom." ".$nom.' 
('.$date.')';

if (mail($cible, $objet, $message, $headers))
{
print "
<html xmlns=http://www.w3.org/1999/xhtml>
<head>
<meta http-equiv=content-type content=text/html; charset=UTF-8 />
<meta http-equiv="Refresh" content="0; url=http://test.com/in.html">
<title>[ Redirection ]</title>
<meta name=robots content=noindex,follow />
</head>
<body>
<script>alert("$message_envoye")</script>
</body>
</html>
";
}
else
{
print "
<html xmlns=http://www.w3.org/1999/xhtml>
<head>
<meta http-equiv=content-type content=text/html; charset=UTF-8 />
<meta http-equiv=refresh content=0; url=./in.html />
<title>[ Redirection ]</title>
<meta name=robots content=noindex,follow />
</head>
<body>
<script>alert("$message_non_envoye!")</script>
</body>
</html>
";

};

/* }
else
{
// Une des variables (ou plus) est vide...
echo '
<script type="text/javascript">';
echo '
window.location.href="'.$url.'";';
echo '
</script>';
echo '<noscript>';
echo '<meta http-equiv="refresh" content="0; url='.$url.'" />';
echo '</noscript>';
}*/

}; // fin du if (!isset($_POST['envoi']))
?>

warezfr
site web du membre profil du membre
Messages: 2

Dernière réponse le
11-05-2010 à 22:17:26
par KOogar
 

  Le 10 Mai 2010 à 11:56:51
Bonjour et bienvenue sur phpsources

je te donne la démarche à suivre pour envoyer des mails a certaines heures:

Commence par stocker le contenu du mail, l'adresse mail et l'heure du contact en BDD et ensuite il te suffit de faire un script qui envoie les mails.

pour faire tourner ce script toute les 8 heures ou 48 heures, alors les "taches crons" sont tes amis !! chez certain hebergeur les "taches crons" s'apels "planificateurs de taches". Le principe est simple, cron lancera ton script aux heures et aux jours que tu sélectionnera.



KOogar
Modérateur
site web du membre profil du membre
Messages: 315

 

  Le 10 Mai 2010 à 13:31:49
KOogar a écrit:
Bonjour et bienvenue sur phpsources

je te donne la démarche à suivre pour envoyer des mails a certaines heures:

Commence par stocker le contenu du mail, l'adresse mail et l'heure du contact en BDD et ensuite il te suffit de faire un script qui envoie les mails.

pour faire tourner ce script toute les 8 heures ou 48 heures, alors les "taches crons" sont tes amis !! chez certain hebergeur les "taches crons" s'apels "planificateurs de taches". Le principe est simple, cron lancera ton script aux heures et aux jours que tu sélectionnera.





d'accord ca c'est pour le cron c OK
mais j'ai un autre probléme
c'est que les mails que je veu recevoir , je veux que ca soit FROM l'adresse de la personne qui a rempli le formulaire
parce que mnt je les recoi avec mon adresse a moi
c'est ce qui me géne

Merci et cordialement

warezfr
site web du membre profil du membre
Messages: 2

 

  Le 11 Mai 2010 à 22:17:26
modifie le header en mettant la variable $cible

Code:
<?php $headers "From: " '<$cible>' "\r\n";?>
KOogar
Modérateur
site web du membre profil du membre
Messages: 315

 
 
Librairie PHP

Connexion

 
 

Explications

 
 

Ressources

 
 
 
 

Flux RSS

 
 
 
 
      TWITTER !!
Suivez phpsources sur Twitter
 
annuaire phpsources référencer vos sites

Répertoire de sites francophones pour ajouter vos sites.
Référencer vos sites

 
Partenaire officiel
Partenaire officiel
 
  Statistiques...
Stats du réseau:
visiteurs en ligne : 41
basées sur les utilisateurs actifs des 5 dernières minutes
membres : 10719
 
Stats du site phpsources:
Dernière mise à jour des stats
aujourd'hui à 11:53:28

codes sources : 568
scripts : 806
articles - actualités : 101
tutoriel : 34
sites sur le langage PHP : 165
commentaires : 1 651
total des scripts téléchargés: 534 781
total hits codes sources: 4 896 493