IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Formulaire de contact complex


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Février 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2014
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Formulaire de contact complex
    Bonjours j'ai créer un formulaire de contact avec un lien de payement avec plusieurs champs à remplir pour le visiteurs, lorsque les champs

    sont remplient et l'utilisateur valide un lien vers un Paypal pour le payements marche mais je rencontre un problème que je n'arrive pas à

    résoudre lorsque je valide il me renvoie sur cette pages

    Quelqu'un pourrait t'il m'aider je mets mon code source HTML et PHP merci bien

    Pages Erreurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    envoyer le formulaire."; $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur."; // on teste si le formulaire a été soumis if (!isset($_POST['envoi'])) { // formulaire non envoyé echo '
     
    '.$message_erreur_formulaire.'
     
    '."\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\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?  Smiley decu ?  Smiley decu ?:[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_]?)|(?:
    (?  Smiley decu ?:[01]?\d1,2|2[0−4]\d|25[0−5])\.)3(?:[01]?\d1,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. $forme = (isset($_POST['forme'])) ? Rec($_POST['forme']) : ''; $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : ''; $adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : ''; $CodePostal = (isset($_POST['CodePostal'])) ? Rec($_POST['CodePostal']) : ''; $Ville = (isset($_POST['Ville'])) ? Rec($_POST['Ville']) : ''; $Tel = (isset($_POST['Tel'])) ? Rec($_POST['Tel']) : ''; $email = (isset($_POST['email'])) ? Rec($_POST['email']) : ''; $nom1 = (isset($_POST['nom1'])) ? Rec($_POST['nom1']) : ''; $prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : ''; $adresse1 = (isset($_POST['adresse1'])) ? Rec($_POST['adresse1']) : ''; $CodePostal1 = (isset($_POST['CodePostal1'])) ? Rec($_POST['CodePostal1']) : ''; $Ville1 = (isset($_POST['Ville1'])) ? Rec($_POST['Ville1']) : ''; $Tel1 = (isset($_POST['Tel1'])) ? Rec($_POST['Tel1']) : ''; $date = (isset($_POST['date'])) ? Rec($_POST['date']) : ''; $nomdelasalle = (isset($_POST['nomdelasalle'])) ? Rec($_POST['nomdelasalle']) : ''; $adresse2 = (isset($_POST['adresse2'])) ? Rec($_POST['adresse2']) : ''; $CodePostal2 = (isset($_POST['CodePostal2'])) ? Rec($_POST['CodePostal2']) : ''; $Ville2 = (isset($_POST['Ville2'])) ? Rec($_POST['Ville2']) : ''; // On va vérifier les variables et l'email ... $email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré if (($nom != '') && ($adresse != '') && ($CodePostal != '')($Ville != '') && ($Tel != '') && ($email != '') && ($nom1 != '')($prenom != '') && ($adresse1 != '') && ($CodePostal1 != '') && ($Ville1 != '')($Tel1 != '') && ($date != '') && ($nomdelasalle != '') && ($adresse2 != '') && ($CodePostal2 != '') && ($Ville2 != '')) { // les 4 variables sont remplies, on génère puis envoie le mail $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'From:'.$nom.' <'.$email.'>' . "\r\n" . 'Reply-To:'.$email. "\r\n" . 'X-Mailer  Smiley langue HP/'.phpversion(); // envoyer une copie au visiteur ? if ($copie == 'oui') { $cible = $destinataire.','.$email; } else { $cible = $destinataire; }; // Remplacement de certains caractères spéciaux $message = str_replace("'","'",$message); $message = str_replace("’","'",$message); $message = str_replace(""",'"',$message); $message = str_replace('
    ','',$message); $message = str_replace('
    ','',$message); $message = str_replace("<","<",$message); $message = str_replace(">",">",$message); $message = str_replace("&","&",$message); // Envoi du mail if (mail($cible, $objet, $message, $headers)) { echo '
     
    '.$message_envoye.'
     
    '."\n"; } else { echo '
     
    '.$message_non_envoye.'
     
    '."\n"; }; } else { // une des 3 variables (ou plus) est vide ... echo '
     
    '.$message_formulaire_invalide.' Retour au formulaire
     
    '."\n"; }; }; // fin du if (!isset($_POST['envoi'])) if (($err_formulaire) || (!isset($_POST['envoi']))) { }; ?>
    Code source :
    PHP
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    <?php
     
    //Ecrivez votre adresse e-mail entre les guillemets
    $destinataire='client-conseil@hotmail.fr';
     
    // 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=\"Formulaire.html\">envoyer le formulaire</a>.";
    $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
     
    // 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.
    	$forme   = (isset($_POST['forme']))   ? Rec($_POST['forme'])     : '';
    	$nom     = (isset($_POST['nom']))     ? Rec($_POST['nom'])     : '';
    	$adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse'])   : '';
    	$CodePostal = (isset($_POST['CodePostal'])) ? Rec($_POST['CodePostal'])   : '';	
    	$Ville = (isset($_POST['Ville'])) ? Rec($_POST['Ville'])   : '';	
    	$Tel = (isset($_POST['Tel'])) ? Rec($_POST['Tel'])   : '';		
    	$email   = (isset($_POST['email']))   ? Rec($_POST['email'])   : '';	
    	$nom1     = (isset($_POST['nom1']))     ? Rec($_POST['nom1'])     : '';
    	$prenom   = (isset($_POST['prenom']))   ? Rec($_POST['prenom'])   : '';	
    	$adresse1 = (isset($_POST['adresse1'])) ? Rec($_POST['adresse1'])   : '';
    	$CodePostal1 = (isset($_POST['CodePostal1'])) ? Rec($_POST['CodePostal1'])   : '';	
    	$Ville1 = (isset($_POST['Ville1'])) ? Rec($_POST['Ville1'])   : '';	
    	$Tel1 = (isset($_POST['Tel1'])) ? Rec($_POST['Tel1'])   : '';		
    	$date   = (isset($_POST['date']))   ? Rec($_POST['date'])   : '';
    	$nomdelasalle = (isset($_POST['nomdelasalle'])) ? Rec($_POST['nomdelasalle']) : '';
    	$adresse2 = (isset($_POST['adresse2'])) ? Rec($_POST['adresse2'])   : '';
    	$CodePostal2 = (isset($_POST['CodePostal2'])) ? Rec($_POST['CodePostal2'])   : '';	
    	$Ville2 = (isset($_POST['Ville2'])) ? Rec($_POST['Ville2'])   : '';		
     
    	// On va vérifier les variables et l'email ...
    	$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
     
    	if (($nom != '') && ($adresse != '') && ($CodePostal != '')($Ville != '') && ($Tel != '') && ($email != '') && ($nom1 != '')($prenom != '') && ($adresse1 != '') && ($CodePostal1 != '') && ($Ville1 != '')($Tel1 != '') && ($date != '') && ($nomdelasalle != '') && ($adresse2 != '') && ($CodePostal2 != '') && ($Ville2 != ''))
    	{
    		// les 4 variables sont remplies, on génère puis envoie le mail
    		$headers  = 'MIME-Version: 1.0' . "\r\n";
    		$headers .= 'From:'.$nom.' <'.$email.'>' . "\r\n" .
    					'Reply-To:'.$email. "\r\n" .
    					'X-Mailer:PHP/'.phpversion();	
     
    		// envoyer une copie au visiteur ?
    		if ($copie == 'oui')
    		{
    			$cible = $destinataire.','.$email;
    		}
    		else
    		{
    			$cible = $destinataire;
    		};					
     
    		// Remplacement de certains caractères spéciaux
    		$message = str_replace("'","'",$message);
    		$message = str_replace("’","'",$message);
    		$message = str_replace("&quot;",'"',$message);
    		$message = str_replace('<br>','',$message);
    		$message = str_replace('<br />','',$message);
    		$message = str_replace("&lt;","<",$message);
    		$message = str_replace("&gt;",">",$message);
    		$message = str_replace("&amp;","&",$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="Formulaire.html">Retour au formulaire</a></p>'."\n";
    	};
    }; // fin du if (!isset($_POST['envoi']))	
     
     
    if (($err_formulaire) || (!isset($_POST['envoi'])))
    {
     
    };
    ?>

    HTML
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    <!DOCTYPE html>
    <html>
      <head>
        <title>My/Salle.com</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    	<link rel="stylesheet" href="Index-style.css" type="text/css" /> 
      </head>
      <body>
      <div id="page">
           <header id="header" class="header" role="banner">
    	   <a id="logo" class="header__logo" rel="home" title="Accueil" href="index.html">
                 <img class="header__logo-image" alt="Accueil" src="CSS/Images/Logo.jpg">
           </a>
    	   </header>
    	   <div id="main">
    			<div id="content1" class="column" role="main">
    			            <h1>Formulaire de location à remplir obligatoirement</h1>
    			<div id="coordonnees" class="column" role="main">			
    			              <p class="titre-coord">LA STRUCTURE</p>			
    			 <form method="post" action="envoi.php">
    <p class="forme"><label for="forme">Forme Juridique</label> : <input type="text" name="forme"  tabindex="1"  placeholder="" required/></p>			 
    <p class="Nom"><label for="nom">Nom</label> : <input type="text" name="nom" placeholder="Entrez votre nom" required/></p>
    <p class="adresse"><label for="adresse">Adresse</label> : <input type="text" name="adresse"  tabindex="2"  placeholder="Entrez votre adresse"required/> </p>
    <p class="code"><label for="CodePostal">Code Postal</label> : <input type="text" name="CodePostal"  tabindex="3"  placeholder="Code Postal"required/> </p>
    <p class="ville"><label for="Ville">Ville</label> : <input type="text" name="Ville"  tabindex="4"  placeholder="Ville"required/> </p>
    <p class="telephone"><label for="Tel">Tél</label> : <input type="text" name="Tel"  tabindex="5"  placeholder="Tél"required/> </p>
    <p class="emailBis"><label for="email">Email</label> : <input type="email" name="email"  tabindex="6"  placeholder="Entrez une adresse valide"required/></p>
    			              <p class="titre-coord-orga">ORGANISATEUR</p>
    <p class="Nom1"><label for="nom1">Nom</label> : <input type="text" name="nom1"  tabindex="7"  placeholder="Entrez votre nom" required/></p>
    <p class="prenom"><label for="prenom">Prénom</label> : <input type="text" name="prenom"  tabindex="8"  placeholder="Entrez votre prénom"required/> </p>
    <p class="adresse1"><label for="adresse1">Adresse</label> : <input type="text" name="adresse1"  tabindex="9"  placeholder="Entrez votre adresse"required/> </p>
    <p class="Code1"><label for="CodePostal1">Code Postal</label> : <input type="text" name="CodePostal1"  tabindex="10"  placeholder="Ville"required/> </p>
    <p class="ville1"><label for="Ville1">Ville</label> : <input type="text" name="Ville1"  tabindex="11"  placeholder="Code Postal"required/> </p>
    <p class="telephone1"><label for="Tel1">Tél</label> : <input type="text" name="Tel1"  tabindex="12"  placeholder="Ville"required/> </p>						  
    			              <p class="titre-coord-events">LIEU ET DATE DE L'EVENEMENT</p>						  								  
    <p class="date"><label for="date">Date de l'évènement</label> : <input type="text" name="date"  tabindex="13"  placeholder="Date"required/> </p>
    <p class="nomdelasalle"><label for="nomdelasalle">Nom de la salle</label> : <input type="text" name="nomdelasalle"  tabindex="14"  placeholder="Nom de la Salle"required/> </p>
    <p class="adresse2"><label for="adresse2">Adresse</label> : <input type="text" name="adresse2"  tabindex="15"  placeholder="Adresse de la salle"required/> </p>
    <p class="Code2"><label for="CodePostal2">Code Postal</label> : <input type="text" name="CodePostal2"  tabindex="16"  placeholder="Code Postal"required/> </p>	
    <p class="ville2"><label for="Ville2">Ville</label> : <input type="text" name="Ville2"  tabindex="17"  placeholder="Ville"required/> </p>
    		<p class="declare"> <input type="radio" name="declara" value="1">Je déclare avoir pris connaissance et accepte 
    		<a target="_blank" >les conditions générales de location du TPE.</a></p>
    <form target="_top" method="post" action="https://www.paypal.com/cgi-bin/webscr">
    <input type="hidden" value="_s-xclick" name="cmd"/>
    <input type="hidden" value="FBLV5H8NDRMH4" name="hosted_button_id"/>
    <input type="submit" name="envoi" value="Valider" tabindex="17" border="0" alt="PayPal - la solution de paiement en ligne la plus simple et la plus sécurisée !" name="submit" src="https://www.paypalobjects.com/fr_FR/FR/i/btn/btn_paynowCC_LG.gif"/>
    </form>
    		</form>
    </div>
    	    </div>
    	    </div>
    		<footer id="footer" class="region-footer">
    			<ul class="navbar">
                     <li><a href="apropos.html">A propos</a>
                     <li><a href="ConditionsGenerales.html">Conditions generales</a>
                     <li><a href="MentionsLegales.html">Montions legales</a>
    		</footer>
    </ul>
    </div>
      </body>
    </html>
    Merci bien à qui m'aidera

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 314
    Points : 217
    Points
    217
    Par défaut
    ligne 173
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $message = str_replace("\"",'"',$message); // ajoute une \

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Quel est le but de cette ligne ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $message = str_replace(""",'"',$message);

  4. #4
    Candidat au Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Février 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2014
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Code pas pris en compte
    Pour cette ligne de code le contenue na pas été pris en compte

    // Remplacement de certains caractères spéciaux
    $message = str_replace("&#039;","'",$message);
    $message = str_replace("’","'",$message);
    $message = str_replace("&quot;",'"',$message);
    $message = str_replace('<br>','',$message);
    $message = str_replace('<br />','',$message);
    $message = str_replace("&lt;","<",$message);
    $message = str_replace("&gt;",">",$message);
    $message = str_replace("&amp;","&",$message);

  5. #5
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 314
    Points : 217
    Points
    217
    Par défaut
    peut être il voulait remplacer les guillemets par des apostrophes ....... et pas des guillemets par des guillemets .....

Discussions similaires

  1. Réponses: 11
    Dernier message: 10/01/2006, 08h23
  2. [Formulaire] de contact
    Par inferno66667 dans le forum Langage
    Réponses: 6
    Dernier message: 19/12/2005, 20h32
  3. Prob avec formulaire de contact
    Par inferno66667 dans le forum Langage
    Réponses: 1
    Dernier message: 01/12/2005, 19h53
  4. Prob avec PHP sur le formulaire de contact
    Par inferno66667 dans le forum Langage
    Réponses: 7
    Dernier message: 16/11/2005, 18h06
  5. Problème d'accès formulaire de contact
    Par Mystic26 dans le forum Langage
    Réponses: 7
    Dernier message: 16/09/2005, 17h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo