Formulaire " envoi à un ami " Comment faire...

  • Auteur de la discussion Auteur de la discussion mamylise
  • Date de début Date de début
Nouveau WRInaute
Bonjour,

Je suis nouvelle, j'ai crée mon site de gîte avec DW et le tout est en ligne.
Pas de problème jusque là.
1. Lorsque qu'un client clique sur mon E-mail, cela ouvre sa messagerie SI celle ci est configurée !. Et je DOUTE que ce soit le cas chez la plupart des internautes car je recois très peu de demande de renseignement par mail.
Donc le formulaire sur une page serait l'idéal via l'hébergeur qui enverrait le mail.
Je ne sais pas faire -(

2. J'ai vu aussi sur certains sites des formulaires " Envoi à un ami "
L'internaute voit une page qui est suceptible d'interresser un des ses amis :
il inscrit son nom ou pseudo et aussi l'adresse mail de son ami sur un petit formulaire et puis clique sur " Envoyer ".

Je ne sais pas faire non plus. Désolée.

Donc j'ai besoin de 2 scripts et savoir ou les mettre dans le code.
J'ai lu quelque part qu'il faut l'option CGI chez l'hébergeur ( Kezako ?).
Il faut Pearl aussi ?
Ce n'est pas mon cas, je suis herbergée chez OXITO avec l'hebergement de base. Dois-je changer d'offre ?

SVP ne me proposez pas un truc compliqué, l'HTML n'est pas ma tasse de thé.

Merci d'avance.

Mamylise.
 
WRInaute impliqué
Pas besoin de pearl ni de cgi !

du php .... j'allais dire tout simple :roll:

Je ne connais pas de script tout, fait mais ça doit se trouver ...

bon courage ...
 
Nouveau WRInaute
formulaire " faire connaitre à un ami "

Bonjour,

J'ai attendu quelques jours pour avoir quelques réponses concrètes, rien, si ce n'est des liens vers tel ou tels site...
Franchement je suis déçue, je m'attendais à voir des mecs super calés en programmation.
Dommage.
C'est à croire, enfin bref, je n'en dirai pas plus.

Mamylise.
 
WRInaute occasionnel
Les newbies parlent aux newbies

Voilà ce qui marche pour moi

Sur une page .html

Code:
<form action="formulaire.php">
<table class="none" width="500px" align="center">
<tr>
<td>Nom</td>

 <td>  <input class=champs type=text name="nom" maxlength="20" size=50 value=""> </td>
      </tr>

<tr> 
 <td>Prénom</td>
 <td>  <input class=champs type=text name="prenom" maxlength="15" size=50 value=""> </td>
</tr>
<tr>
<td>Téléphone</td>
<td><input type="text" name="telephone" maxlength="16" size="50" class="champs"></td>
</tr>

<tr>
<td>Adresse email</td>

<td><input type="text" name="email" maxlength="60" size="50" class="champs"></td>
</tr>

<table class="none" width="500px" align="center">
<tr>
    <td colspan="2"> 

<h2><b>Votre message</b></h2>
</td>
</tr>


<tr>
<td align="center">
<textarea cols="80" rows="6" maxlength="255" scrollheight="50" class="champs" name="texte"></textarea>
</td>
</tr>

<tr>
<td align=center>

</td>
</tr>
</table>

<input type="submit" value=">>> Validez votre message">



Sur une page formulaire.php

Code:
<?php

// IMPORTANT VOUS DEVEZ CONFIGURER
// L'ADRESSE EMAIL DE DESTINATION
$dest="votre adresse email";

// on recupere les infos
$referer= getenv("HTTP_REFERER");

// validation de forme 
//

// mettre $ok a faux si c'est un echec


$ok=1;

if($ok){
 // envoi du resultat par email
 $sujet= "Formulaire de ".$referer;
 $body.="Page d'origine : $referer\n";
 $body.="\n*** Valeurs resultats ***\n";

 if(count($HTTP_POST_VARS)){
    while (list($key, $val) = each($HTTP_POST_VARS)){
       $body.="$key : $val\n";
    }  
 }

 if(count($HTTP_GET_VARS)){
    while (list($key, $val) = each($HTTP_GET_VARS)){
      $body.="$key : $val\n";
    }  
 }

 $body.="*************************\n";
 if(!email("webmaster",$dest,$sujet,$body)){
     print "erreur envoi email <br>";
 }

// affiche le html qui suit si succes
?>
<html>
<head><title>Contact </title></head>
<body bgcolor="white">
<h4> Votre message a bien été enregistré </h4>
Bla bla bla bla
</body>
</html>
<?php
}
// affiche le html qui suit si erreur
// 
else{
?>
<html>
<head><title>Erreur de formulaire</title></head>
<body bgcolor="white">
<h1> Erreur de formulaire </h1>
</body>
</html>
<?php
}
?>


p.s. il n'y a pas que des mecs ici :wink:
 
WRInaute accro
Bon alors je me suis embêtée à préparer un truc et on a posté avant moi... :cry:

Je ne vais pas gâcher mon travail :


Sans vous renvoyer vers des choses compliquées, il y a quand même un certain nombre de choses à faire et que vous devriez pouvoir faire même sans comprendre puisque vous utilisez DW.

L'exemple suivant contient une vérification de la saisie.


Créer une page de formulaire de contact :

1 - Créer une page qu'il faut nommer contact.php

2 - Copier le "code de la page contact.php" ci-dessous.

3 - Coller-le dans la partie code HTML de DW
(attention : effacer le code HTML existant avant)

4 - Remplacer les adresses email dans le code collé par la vôtre :)

5 - Envoyer le fichier contact.php sur le serveur au même endroit que vos autres pages

6 - Créer un lien sur une autre page de votre site qui pointera vers contact.php.
Envoyer cette autre page ainsi modifiée sur le serveur.

7 - Tester dans votre navigateur en allant sur votre site et en cliquant sur le lien contact que vous venez de créer...

Code de la page contact.php
Code:
<html><head><title></title>
<script language= "javascript">
function couleur(obj){obj.style.backgroundColor="#FFFFFF";}
function Verif(){
	var nom,email,messagetxt,msg="Veuillez saisir votre : \n";
	nom=document.formulaire.nom.value;
	email=document.formulaire.email.value;
	email2=document.formulaire.email2.value;
	messagetxt=document.formulaire.messagetxt.value;
	if(nom==""){msg+="- nom\n";document.formulaire.nom.style.backgroundColor="#F3C200";}
	if(email!=""){indexAroba=document.formulaire.email.value.indexOf('@');indexPoint = document.formulaire.email.value.indexOf('.');
		if((indexAroba<0)||(indexPoint<0)){document.formulaire.email.style.backgroundColor="#F3C200";msg+="L'email est incorrect\n";}}
	else{document.formulaire.email.style.backgroundColor = "#F3C200";msg+="- email\n";}
	if(email2!=""){indexAroba = document.formulaire.email2.value.indexOf('@');indexPoint = document.formulaire.email2.value.indexOf('.');
		if((indexAroba<0)||(indexPoint<0)){document.formulaire.email2.style.backgroundColor="#F3C200";msg+="L'email de vérification est incorrect\n";}}
	else{document.formulaire.email2.style.backgroundColor="#F3C200";msg+="- email de vérification\n";}
	if(email!=email2){document.formulaire.email2.style.backgroundColor="#F3C200";msg+="- Attention ! Il y a une erreur de saisie lors du contrôle de l'email. Veuillez resaisir votre email et votre email de vérification svp. Merci.\n";}
	if(messagetxt==""){msg+="- message\n";document.formulaire.messagetxt.style.backgroundColor="#F3C200";}
	if(msg=="Veuillez saisir votre : \n") return(true); else{alert(msg);return(false);}
}
</script>
</head>
<body>
<?php 
if(!isset($envoyer)){
?>
<form name="formulaire" method="post" action="<? echo $PHP_SELF;?>" enctype="application/x-www-form-urlencoded" onSubmit="return Verif();">
 <table width="100%">
  <tr><td colspan="2">Laisser un message :</td></tr>
  <tr><td>nom</td><td><input type="text" name="nom" onKeyUp="javascript:couleur(this);" /></td></tr>
  <tr><td>email</td><td><input type="text" name="email" onKeyUp="javascript:couleur(this);" /></td></tr>
  <tr><td><div align="right"> email pour v&eacute;rification</div></td><td><input type="text" name="email2" onKeyUp="javascript:couleur(this);" /></td></tr>
  <tr><td valign="top"><div align="right">message</div></td><td><textarea name="messagetxt" cols="40" rows="5" onKeyUp="javascript:couleur(this);"></textarea></td></tr>
  <tr><td>&nbsp;</td><td><input type="submit" name="envoyer" value="Envoyer"></td></tr>
  <tr><td colspan="2"><a href="envoi-ami.php" title="recommander à un ami...">Envoyer &agrave; un ami</a></td></tr>
 </table>
</form>
<?
}else{
	if(isset($envoyer)){
		$nom = $_POST['nom'];
		$email = $_POST['email'];
		$messagetxt = stripslashes($_POST['messagetxt']);
		$envoimail = "";
		if($email != ""){
			// ATTENTION : remplacer votreemail@votrenomdedomaine.fr par votre email
			$to = "votreemail@votrenomdedomaine.fr";
			$sujet = "Contact site internet";
			$message .= "Attention, message automatique, ne pas répondre directement.\n";
			$message .= "Message de $nom (son email:$email) : \n\n";
			$message .= "$messagetxt\n\n";
			if(mail($to, $sujet,$message,"From: votreemail@votrenomdedomaine.fr\r\n"."Reply-To: votreemail@votrenomdedomaine.fr\r\n")){echo "Votre message a été envoyé...";}
			else{echo "Erreur, votre message n'a pas été envoyé...";}
		}
	}
}
?>
</body></html>

Le code n'est pas protégé contre le spam pour plus de simplicité...

Si vous avez un problème, n'hésitez pas à écrire ici ou bien contactez-moi en message privé en cliquant sur le bouton MP à côté du bouton Profil à la fin de mon message.
ps : Je suis une fille...
 
WRInaute accro
Voici maintenant :
Envoyer une page spécifique à un ami étant un peu plus complexé je ne vous dis que comment envoyer l'adresse du site à un ami.


Envoyer l'adresse du site à un ami avec un message.

1 - Créer une page que vous nommerez envoi-ami.php
(un lien vers cette page existe déjà dans le formulaire de contact)

2 - Ouvrir envoi-ami.php dans DW et se placer dans la partie code HTML. Effacer le code existant et copier-coller le "Code de la page envoi-ami.php".

3 - Dans le code collé, remplacer "http://www.mettrevotresiteici.com" par votre site.

4 - Envoyer envoi-site.php sur votre serveur au même niveau que les autres pages du site

5 - Ouvrir le navigateur et lancer le site. Aller sur la page de contact et cliquer sur "Envoyer à un ami".
La page se lance. Tester l'envoi d'un email à un ami.


Code de la page envoi-ami.php
Code:
<html><head><title></title>
<script language= "javascript">
function couleur(obj){obj.style.backgroundColor="#FFFFFF";}
function Verif(){
	var nom,email,emailami,messagetxt,msg="Veuillez saisir votre : \n";
	nom=document.formulaire.nom.value;
	email=document.formulaire.email.value;
	email2=document.formulaire.email2.value;
	emailami=document.formulaire.emailami.value;
	emailami2=document.formulaire.emailami2.value;
	messagetxt=document.formulaire.messagetxt.value;
	if(nom==""){msg+="- nom\n";document.formulaire.nom.style.backgroundColor="#F3C200";}
	if(email!=""){indexAroba=document.formulaire.email.value.indexOf('@');indexPoint = document.formulaire.email.value.indexOf('.');
		if((indexAroba<0)||(indexPoint<0)){document.formulaire.email.style.backgroundColor="#F3C200";msg+="L'email est incorrect\n";}}
	else{document.formulaire.email.style.backgroundColor = "#F3C200";msg+="- email\n";}
	if(email2!=""){indexAroba = document.formulaire.email2.value.indexOf('@');indexPoint = document.formulaire.email2.value.indexOf('.');
		if((indexAroba<0)||(indexPoint<0)){document.formulaire.email2.style.backgroundColor="#F3C200";msg+="L'email de vérification est incorrect\n";}}
	else{document.formulaire.email2.style.backgroundColor="#F3C200";msg+="- email de vérification\n";}
	if(emailami!=""){indexAroba=document.formulaire.emailami.value.indexOf('@');indexPoint = document.formulaire.emailami.value.indexOf('.');
		if((indexAroba<0)||(indexPoint<0)){document.formulaire.emailami.style.backgroundColor="#F3C200";msg+="L'email de votre ami est incorrect\n";}}
	else{document.formulaire.emailami.style.backgroundColor = "#F3C200";msg+="- email de votre ami\n";}
	if(emailami2!=""){indexAroba = document.formulaire.emailami2.value.indexOf('@');indexPoint = document.formulaire.emailami2.value.indexOf('.');
		if((indexAroba<0)||(indexPoint<0)){document.formulaire.email2.style.backgroundColor="#F3C200";msg+="L'email de vérification de votre ami est incorrect\n";}}
	else{document.formulaire.emailami2.style.backgroundColor="#F3C200";msg+="- email de vérification de votre ami\n";}
	if(email!=email2){document.formulaire.email2.style.backgroundColor="#F3C200";msg+="- Attention ! Il y a une erreur de saisie lors du contrôle de l'email. Veuillez resaisir votre email et votre email de vérification svp. Merci.\n";}
	if(messagetxt==""){msg+="- message\n";document.formulaire.messagetxt.style.backgroundColor="#F3C200";}
	if(msg=="Veuillez saisir votre : \n") return(true); else{alert(msg);return(false);}
}
</script>
</head>
<body>
<?php 
if(!isset($envoyer)){
?>
<form name="formulaire" method="post" action="<? echo $PHP_SELF;?>" enctype="application/x-www-form-urlencoded" onSubmit="return Verif();">
 <table width="100%">
  <tr><td colspan="2">Conseiller à un ami et lui laisser votre message :</td></tr>
  <tr><td>nom</td><td><input type="text" name="nom" onKeyUp="javascript:couleur(this);" /></td></tr>
  <tr><td>email</td><td><input type="text" name="email" onKeyUp="javascript:couleur(this);" /></td></tr>
  <tr><td><div align="right"> email pour v&eacute;rification</div></td><td><input type="text" name="email2" onKeyUp="javascript:couleur(this);" /></td></tr>
  <tr><td>email de votre ami</td><td><input type="text" name="emailami" onKeyUp="javascript:couleur(this);" /></td></tr>
  <tr><td><div align="right"> email pour v&eacute;rification de votre ami</div></td><td><input type="text" name="emailami2" onKeyUp="javascript:couleur(this);" /></td></tr>
  <tr><td valign="top"><div align="right">message</div></td><td><textarea name="messagetxt" cols="40" rows="5" onKeyUp="javascript:couleur(this);"></textarea></td></tr>
  <tr><td>&nbsp;</td><td><input type="submit" name="envoyer" value="Envoyer"></td></tr>
  <tr><td colspan="2"><a href="envoi-ami.php" title="recommander à un ami...">Envoyer &agrave; un ami</a></td></tr>
 </table>
</form>
<?
}else{
	if(isset($envoyer)){
		$nom = $_POST['nom'];
		$email = $_POST['email'];
		$emailami = $_POST['emailami'];
		$messagetxt = stripslashes($_POST['messagetxt']);
		$envoimail = "";
		if($email != ""){
			$to = "$emailami";
			$sujet = "$nom vous conseille ce site http://www.mettrevotresiteici.com";
			$message .= "Attention, message automatique, ne pas répondre directement.\n";
			$message .= "Message de $nom (son email:$email) : \n\n";
			$message .= "$messagetxt\n\n";
			if(mail($to, $sujet,$message,"From: $email\r\n"."Reply-To: $email\r\n")){echo "Votre message a été envoyé à votre ami...";}
			else{echo "Erreur, votre message n'a pas été envoyé à votre ami...";}
		}
	}
}
?>
</body></html>

J'espère que ça ira :wink:

Si vous souhaitez utiliser ce code pour une page bien particulière et mettre en bas d'une page "Envoyer cette page à un ami", il vous suffit de mettre un lien en bas de la page en question vers envoi-ami.php et de remplacer dans le code "http://www.mettrevotresiteici.com" par l'adresse de la page en question... (exemple d'adresse de page : "http://www.mettrevotresiteici.com/lapageinteressante.html")
 
Nouveau WRInaute
Formulaire à un ami

Merci beaucoup les filles,

Au moins vous vous êtes décarcassées pour m'aider et sans délai svp -)
C'est à croire que les mecs sont un peu trop macho...
Je vais donc tester les différents codes que vous m'avez donnés.
J'offrirai en récompense pour celle qui le veut et dont le code fonctionne, un week-end gratuit dans mon gite situé dans le Gard .
faudra juste apporter la bouffe et les draps.

Je vous tient au courant, promis.

Mamylise.
 
Nouveau WRInaute
Formulaire : OK ca marche

Bravo à DD32,

Le formulaire fonctionne très bien, merci.
MAIS seulement sur 1 de mes 2 noms de Domaine.
Le problème vient de chez moi car le premier NDD est un hébergement de base chez OXITO. Je pense que cette formule n'accepte pas le PHP.
D'autre part je voudrais alléger le formulaire en supprimant les confirmation des adresses E-mail car c'est un peu lourd. Est ce que cela est fait pour éviter le Spam ? Les internautes sont tellement paresseux..!
Il y a aussi un lien qui est mon adresse E-mail au lieu de l'adresse du site.
Je vais essayer de bidouiller le code pour changer cela.

Comme promis, je vous invite dans mon gîte à titre gracieux pour un week-end.
Par message privé , je vous communiquerai L'URL du gîte.

Je vais aussi tester le code de MTH et vous rendrai compte des résultats.

Bien à vous , Mamylise
 
WRInaute accro
Mamylise a dit:
D'autre part je voudrais alléger le formulaire en supprimant les confirmation des adresses E-mail car c'est un peu lourd.
Ca peut se faire mais c'est dommage...


Mamylise a dit:
Est ce que cela est fait pour éviter le Spam ?
En fait, non. Comme je le disais plus haut :
dd32 a dit:
Le code n'est pas protégé contre le spam pour plus de simplicité...
Pour éviter le spam, il y a un autre fichier à créer... (image.php)



Globalement il faut :

1 - Copier le code de la page envoi-ami.php ci-dessous à la place de l'autre

2 - Créer la page image.php (puis copier le code de la page image.php ci-dessous) et la mettre sur le serveur

Code la page envoi-ami.php
Code:
<?php session_start();?>
<html><head><title></title>
<script language= "javascript">
function couleur(obj){obj.style.backgroundColor="#FFFFFF";}
function Verif(){
   var nom,email,emailami,messagetxt,msg="Veuillez saisir votre : \n";
   nom=document.formulaire.nom.value;
   email=document.formulaire.email.value;
   emailami=document.formulaire.emailami.value;
   messagetxt=document.formulaire.messagetxt.value;
   if(nom==""){msg+="- nom\n";document.formulaire.nom.style.backgroundColor="#F3C200";}
   if(email!=""){indexAroba=document.formulaire.email.value.indexOf('@');indexPoint = document.formulaire.email.value.indexOf('.');
      if((indexAroba<0)||(indexPoint<0)){document.formulaire.email.style.backgroundColor="#F3C200";msg+="L'email est incorrect\n";}}
   else{document.formulaire.email.style.backgroundColor = "#F3C200";msg+="- email\n";}
   if(emailami!=""){indexAroba=document.formulaire.emailami.value.indexOf('@');indexPoint = document.formulaire.emailami.value.indexOf('.');
      if((indexAroba<0)||(indexPoint<0)){document.formulaire.emailami.style.backgroundColor="#F3C200";msg+="L'email de votre ami est incorrect\n";}}
   else{document.formulaire.emailami.style.backgroundColor = "#F3C200";msg+="- email de votre ami\n";}
   if(email!=email2){document.formulaire.email2.style.backgroundColor="#F3C200";msg+="- Attention ! Il y a une erreur de saisie lors du contrôle de l'email. Veuillez resaisir votre email et votre email de vérification svp. Merci.\n";}
   if(messagetxt==""){msg+="- message\n";document.formulaire.messagetxt.style.backgroundColor="#F3C200";}
   if(msg=="Veuillez saisir votre : \n") return(true); else{alert(msg);return(false);}
}
</script>
</head>
<body>
<?php
if(!isset($envoyer)){
?>
<form name="formulaire" method="post" action="<? echo $PHP_SELF;?>" enctype="application/x-www-form-urlencoded" onSubmit="return Verif();">
 <table width="100%"><tr><td colspan="2">Conseiller à un ami et lui laisser votre message :</td></tr>
  <tr><td>nom</td><td><input type="text" name="nom" onKeyUp="javascript:couleur(this);" /></td></tr>
  <tr><td>email</td><td><input type="text" name="email" onKeyUp="javascript:couleur(this);" /></td></tr>
  <tr><td>email de votre ami</td><td><input type="text" name="emailami" onKeyUp="javascript:couleur(this);" /></td></tr>
  <tr><td valign="top"><div align="right">message</div></td><td><textarea name="messagetxt" cols="40" rows="5" onKeyUp="javascript:couleur(this);"></textarea></td></tr>
  <tr><td colspan="2">Anti-spam : veuillez recopier le nombre svp</td></tr>
  <tr><td><?php mt_srand((float) microtime()*1000000);$nb=mt_rand(0, 100000); $_SESSION['obj']=$nb;echo "<img src="image.php?nombre=".$nb."" alt="image CaptCha anti-spam à recopier avant d'envoyer le formulaire" />";?><input type="hidden" name="image" value="0" checked="checked" /></td><td><input type="text" name="image" value="" /></td></tr>
  <tr><td>&nbsp;</td><td><input type="submit" name="envoyer" value="Envoyer" /></td></tr>
  <tr><td colspan="2">&nbsp;</td></tr>
 </table>
</form>
<?
}else{
  if(isset($envoyer)){
   $nom = $_POST['nom'];
   $email = $_POST['email'];
   $emailami = $_POST['emailami'];
   $messagetxt = stripslashes($_POST['messagetxt']);
   $envoimail = "";
   //***LUTTE ANTI-SPAM***
   $ticket = $_SESSION['obj'];
   $_SESSION['obj'] = 0;
   if($_POST['image'] != $ticket) exit("SPAM ou erreur de saisie du numéro anti-spam !<br /> Utiliser le bouton retour du navigateur pour revenir au formulaire.");
   if($email != ""){
    $to = "$emailami";
    $sujet = "$nom vous conseille ce site http://www.gite-ales-gard.com";
    $message .= "Attention, message automatique, ne pas répondre directement.\n";
    $message .= "Message de $nom (son email:$email) : \n\n";
    $message .= "$messagetxt\n\n";
    if(mail($to, $sujet,$message,"From: $email\r\n"."Reply-To: $email\r\n")){echo "Votre message a été envoyé à votre ami...";}
    else{echo "Erreur, votre message n'a pas été envoyé à votre ami...";}
   }
  }
}
?>
</body></html>
Code la page image.php
Code:
<? header("Content-type: image/png");
$nb=$_GET['nombre'];
$im = imagecreate (100, 20);
$couleur_fond = imagecolorallocate($im, 112, 182, 239);
$noir = imagecolorallocate ($im, 0, 0, 0);
ImageString($im, 5, 0, 0, $nb, $noir);
imagepng ($im);?>

Attention : ceci ne marchera pas forcément (cela dépend de la configuration de votre hébergeur).
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut