Comment créer un formulaire de contact ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Comment créer un formulaire de contact ?

Re: prise de tete grave !!

par Aureusms » 23 janv. 2014, 22:07

Tu indiques :

if (!isset($_POST['envoi']))

Qui indique que tu cherche si la variable $_POST['envoi'] existe. Hors dan ston formualire, je ne vois pas de name="envoi".
Me trompe-je ?

Re: prise de tete grave !!

par sirakawa » 23 janv. 2014, 21:14

Plussoyant moogli, je dirai que, voyant le sujet, j'ai ouvert le message avec la ferme intention de ne pas le lire, comme sans doute plus d'un qui a d'autres éléphants à cornaquer.

Re: prise de tete grave !!

par moogli » 23 janv. 2014, 16:46

Modération :
Merci d'utiliser un titre clair et qui correspond bien à ta demande.
Les titres contenant "HELP !", "Aidez-moi", "J'ai un problème", "Ça marche pas",...
n'apportent rien à la compréhension de ta demande.

Par ailleurs, nous savons déjà par ton message que tu as besoin d'aide.

Tu peux corriger ton titre en éditant ton premier message.

plus l'utilisation du BBCODE (php dans ton cas)

Merci de prendre le temps de lire les règlements.

Re: prise de tete grave !!

par Aureusms » 22 janv. 2014, 21:49

Peux tu formater ton texte avec les balises PHP ? (le gros bouton au dessus de là ou tu tapes)

Re: prise de tete grave !!

par manureunion » 22 janv. 2014, 21:38

j'ai essayer ça mais ç amarche pas ?
<?php
    /*
       ********************************************************************************************
       CONFIGURATION
       ********************************************************************************************
    */
    // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
    $destinataire = '[email protected]';

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

    // Messages de confirmation du mail
    $message_envoye = "Votre message nous est bien parvenu !";
    $message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";

    // Messages d'erreur du formulaire
    $message_erreur_formulaire = "Vous devez d'abord <a href=\"essai-gratuit.html\">envoyer le formulaire</a>.";
    $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";

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

    // on teste si le formulaire a été soumis
    if (!isset($_POST['envoi']))
    {
    	// formulaire non envoyé
    	echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
    }
    else
    {
    	/*
    	   * cette fonction sert à nettoyer et enregistrer un texte
    	*/
    	function Rec($text)
    	{
    		$text = htmlspecialchars(trim($text), ENT_QUOTES);
    		if (1 === get_magic_quotes_gpc())
    		{
    			$text = stripslashes($text);
    		}

    		$text = nl2br($text);
    		return $text;
    	};

    	/*
    	   * Cette fonction sert à vérifier la syntaxe d'un email
    	*/
    	function IsEmail($email)
    	{
    		$value = preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $email);
    		return (($value === 0) || ($value === false)) ? false : true;
    	}

    	// formulaire envoyé, on récupère tous les champs.
    	$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
    	$email_exp = (isset($_POST['email_exp'])) ? Rec($_POST['email_exp']) : '';
    	$prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
    	$adresse_frm = (isset($_POST['adresse_frm'])) ? Rec($_POST['adresse_frm']) : '';

    	// On va vérifier les variables et l'email ...
    	$email_exp = (IsEmail($email_exp)) ? $email_exp : ''; // soit l'email est vide si erroné, soit il vaut l'email entré

    	if (($nom != '') && ($email_exp != '') && ($prenom != '') && ($adresse_frm != ''))
    	{
    		// les 4 variables sont remplies, on génère puis envoie le mail
    		$headers = 'MIME-Version: 1.0' . "\r\n";
    		$headers .= 'From:'.$nom.' <'.$email_exp.'>' . "\r\n" .
    		'Reply-To:'.$email_exp. "\r\n" .
    		'X-Mailer:PHP/'.phpversion();

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

    		// Remplacement de certains caractères spéciaux
    		$message = str_replace("'","'",$message);
    		$message = str_replace("&#8217;","'",$message);
    		$message = str_replace(""",'"',$message);
    		$message = str_replace('<br>','',$message);
    		$message = str_replace('<br />','',$message);
    		$message = str_replace("<","<",$message);
    		$message = str_replace(">",">",$message);
    		$message = str_replace("&","&",$message);

    		// Envoi du mail
    		if (mail($cible, $objet, $message, $headers))
    		{
    			echo '<p>'.$message_envoye.'</p>'."\n";
    		}
    		else
    		{
    			echo '<p>'.$message_non_envoye.'</p>'."\n";
    		};
    	}
    	else
    	{
    		// une des 3 variables (ou plus) est vide ...
    		echo '<p>'.$message_formulaire_invalide.' <a href="essai-gratuit.html">Retour au formulaire</a></p>'."\n";
    	};
    }; // fin du if (!isset($_POST['envoi']))
    ?>

Re: prise de tete grave !!

par manureunion » 22 janv. 2014, 21:32

bas pour l'instant y a pas grand chose car je sais pas comment on fait ???
:(

Re: prise de tete grave !!

par Aureusms » 22 janv. 2014, 21:28

Qu'y-a-til dans envoi.php ?

Comment créer un formulaire de contact ?

par manureunion » 22 janv. 2014, 21:07

bonjour
j'essaie en vain d'envoyer les reponses de mon formulaire de cette page :
http://champ-magnetique-pulse.perso.sfr ... atuit.html

sur une msessagerie de contact.
il faut donc que je crée une page envoi.php, mais je n'y arrive pas ?
est ce que j'ai une erreur dans ma page essai-gratuit.html ?
je voudrais qu'une vois la page remplie, l'uilisateur clique sur envoyer mon message, que ça lui indique que sa demande va etre prise en compte et que ça m'envoie les champs du formulaire rempli par mail.......
qui m'aider car en php je comprends rien ????

manu