Besoin d'aide il se passe rien c'est un script pour formuluaire
erzascarlett2016
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
mon formulaire sert a envoyer un message avec nom et email a inscrit je sais pas ce qui va pas il ne se produit rien
aider moi svp
mon formulaire sert a envoyer un message avec nom et email a inscrit je sais pas ce qui va pas il ne se produit rien
aider moi svp
<!DOCTYPE html> <html> <head> <meta charset ="utf -8" /> <link rel="stylesheet" type="text/css" href="lilicss.css"> <title> planet beatrice</title> </head> <body> <?php include ("menu.inc.php");?> <?php $destinataire = '***@***'; $copie = 'oui'; $form_action = 'formulaire.php'; $message_envoye = "Votre message nous est bien parvenu !"; $message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP."; $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur."; function Rec($text) { $text = htmlspecialchars(trim($text), ENT_QUOTES); if (1 === get_magic_quotes_gpc()) { $text = stripslashes($text); } $text = nl2br($text); return $text; }; 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 = (isset($_POST['email'])) ? Rec($_POST['email']) : ''; $message = (isset($_POST['message'])) ? Rec($_POST['message']) : ''; // 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é $err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin if (isset($_POST['envoi'])) { if (($nom != '') && ($email != '') && ($objet != '') && ($message != '')) { // 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" . 'Content-Type: text/plain; charset="utf-8"; DelSp="Yes"; format=flowed '."\r\n" . 'Content-Disposition: inline'. "\r\n" . 'Content-Transfer-Encoding: 7bit'." \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(""",'"',$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>'; } else { echo '<p>'.$message_non_envoye.'</p>'; }; } else { echo '<p>'.$message_formulaire_invalide.'</p>'; $err_formulaire = true; }; }; if (($err_formulaire) || (!isset($_POST['envoi']))) { echo ' <form id="contact" method="post" action="'.$form_action.'"> <fieldset><legend>Personal</legend> <label for="nom">Nom :</label><input type="text" class="required" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" /> <label for="email">Email :</label><input type="text" class="required" id="email" name="email" value="'.stripslashes($email).'" tabindex="2" /> </fieldset> <fieldset><legend>Message</legend> <label for="message">Message :</label><textarea id="message" class="required" name="message" tabindex="3" cols="165" rows="40">'.stripslashes($message).'</textarea> <label><span> </span><input type="submit" value="submit" name="envoyer"></label> </fieldset> </form> </body> </html>'; }; ?>
A voir également:
- Besoin d'aide il se passe rien c'est un script pour formuluaire
- Trousseau mot de passe iphone - Guide
- Script vidéo youtube - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
4 réponses
Peux-tu décrire plus précisément ? (pas d'affichage, ne fait pas tout ce qui est désiré, ... )
$message = str_replace(""",'"',$message);
me semble étrange.
$message = str_replace("&","&",$message);
Est sensé faire quoi ? (comme pour les 2 lignes qui précèdent)
$message = str_replace(""",'"',$message);
me semble étrange.
$message = str_replace("&","&",$message);
Est sensé faire quoi ? (comme pour les 2 lignes qui précèdent)
j'ai fais un moteur de recherche pour site et ce formulaire le moteur marche parfaitement neanmoins au niveau du formulaire apres l'avoir remplir aucun message n'est envoyer est ce parce que je n'ai pas fais de base de donnees pour ca??? quand j'appuie sur envoyer la page d'action du moteur de recherche s'affiche seule avec rien du tout ca ne dis pas si le message est envoyer ou pas en plus la reponse devait apparaitre dans la page du formulaire et non dans celle du resultat du moteur de recherche.voici le code commenter
<!DOCTYPE html> <html> <head> <meta charset ="utf -8" /> <link rel="stylesheet" type="text/css" href="lilicss.css"> <title> planet beatrice</title> </head> <body> <?php include ("menu.inc.php");?> <?php /* ******************************************************************************************** CONFIGURATION ******************************************************************************************** */ // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule $destinataire = '***@***'; // copie ? (envoie une copie au visiteur) $copie = 'oui'; // Action du formulaire (si votre page a des paramètres dans l'URL) // si cette page est index.php?page=contact alors mettez index.php?page=contact // sinon, laissez vide $form_action = 'formulaire.php'; // 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."; // Message d'erreur du formulaire $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur."; /* ******************************************************************************************** FIN DE LA CONFIGURATION ******************************************************************************************** */ /* * 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 = (isset($_POST['email'])) ? Rec($_POST['email']) : ''; $message = (isset($_POST['message'])) ? Rec($_POST['message']) : ''; // 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é $err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin if (isset($_POST['envoi'])) { if (($nom != '') && ($email != '') && ($objet != '') && ($message != '')) { // 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" . 'Content-Type: text/plain; charset="utf-8"; DelSp="Yes"; format=flowed '."\r\n" . 'Content-Disposition: inline'. "\r\n" . 'Content-Transfer-Encoding: 7bit'." \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(""",'"',$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>'; } else { echo '<p>'.$message_non_envoye.'</p>'; }; } else { // une des 3 variables (ou plus) est vide ... echo '<p>'.$message_formulaire_invalide.'</p>'; $err_formulaire = true; }; }; // fin du if (!isset($_POST['envoi'])) if (($err_formulaire) || (!isset($_POST['envoi']))) { echo ' <form id="contact" method="post" action="'.$form_action.'"> <fieldset><legend>Personal</legend> <label for="nom">Nom :</label><input type="text" class="required" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" /> <label for="email">Email :</label><input type="text" class="required" id="email" name="email" value="'.stripslashes($email).'" tabindex="2" /> </fieldset> <fieldset><legend>Message</legend> <label for="message">Message :</label><textarea id="message" class="required" name="message" tabindex="3" cols="165" rows="40">'.stripslashes($message).'</textarea> <label><span> </span><input type="submit" value="submit" name="envoyer"></label> </fieldset> </form> </body> </html>'; }; ?>
Bonjour,
Ton code est bourré d'erreurs...
En plus de celles relevées par Nhenry... tu peux ajouter :
- La variable $objet qui n'est pas définie
- Des points virgules un peu n'importe où ( derrière un if par exemple..)
Ensuite... penses à placer l'essentiel du code php AVANT ton code HTML.
cela rend le code plus lisible .. et ainsi plus facile à maintenir.
Bref...
Essayes ceci (ton code normalement corrigé...)
Cordialement,
Jordane
Ton code est bourré d'erreurs...
En plus de celles relevées par Nhenry... tu peux ajouter :
- La variable $objet qui n'est pas définie
- Des points virgules un peu n'importe où ( derrière un if par exemple..)
Ensuite... penses à placer l'essentiel du code php AVANT ton code HTML.
cela rend le code plus lisible .. et ainsi plus facile à maintenir.
Bref...
Essayes ceci (ton code normalement corrigé...)
<?php //******************************************************************************************** //CONFIGURATION //******************************************************************************************** // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule $destinataire = '***@***'; // copie ? (envoie une copie au visiteur) $copie = 'oui'; // 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."; // Message d'erreur du formulaire $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur."; // Objet du mail : $objet = " Mail test "; $err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin //******************************************************************************************** //Fonctions //******************************************************************************************** /* * 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; } //******************************************************************************************** // Récupération des variables //******************************************************************************************** $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : NULL; $email = (isset($_POST['email'])) ? IsEmail(Rec($_POST['email'])) : NULL; $message = (isset($_POST['message'])) ? Rec($_POST['message']) : NULL; //******************************************************************************************** // Traitement du SUBMIT //******************************************************************************************** $msg = array(); //variable contenant les messages eventuels. if (isset($_POST['envoi'])) { if ($nom && $email && $objet && $message) { // 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" . 'Content-Type: text/plain; charset="utf-8"; DelSp="Yes"; format=flowed '."\r\n" . 'Content-Disposition: inline'. "\r\n" . 'Content-Transfer-Encoding: 7bit'." \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('<br>','',$message); $message = str_replace('<br />','',$message); // Envoi du mail if (mail($cible, $objet, $message, $headers)){ $msg[] = '<p>'.$message_envoye.'</p>'; } else { $msg[] = '<p>'.$message_non_envoye.'</p>'; } } else { // une des 3 variables (ou plus) est vide ... $msg[] = '<p>'.$message_formulaire_invalide.'</p>'; $err_formulaire = true; } } // fin du if (!isset($_POST['envoi'])) ?> <!DOCTYPE html> <html> <head> <meta charset ="utf-8" /> <link rel="stylesheet" type="text/css" href="lilicss.css"> <title> planet beatrice</title> </head> <body> <?php include ("menu.inc.php"); //Affichage des éventuels messages if(!empty($msg)){ foreach($msg as $strMsg){ echo $strMsg; } } if ($err_formulaire || !isset($_POST['envoi'])) { echo " <form id='contact' method='post' action=''> <fieldset> <legend>Personal</legend> <label for='nom'>Nom :</label> <input type='text' class='required' id='nom' name='nom' value='".stripslashes($nom)."' tabindex='1' /> <label for='email'>Email :</label> <input type='text' class='required' id='email' name='email' value='".stripslashes($email)."' tabindex='2' /> </fieldset> <fieldset> <legend>Message</legend> <label for='message'>Message :</label> <textarea id='message' class='required' name='message' tabindex='3' cols='165' rows='40'>".stripslashes($message)."</textarea> <label><span> </span> <input type='submit' value='submit' name='envoyer'></label> </fieldset> </form>"; } ?> </body> </html>
Cordialement,
Jordane
Quand tu dis : "le resultat n'a pas changé"... c'est à dire ? Tu peux être plus précis.
Qu'est-ce qui s'affiche sur ta page ??
En attendant, peux tu tester ceci :
Qu'est-ce qui s'affiche sur ta page ??
En attendant, peux tu tester ceci :
<?php //affichage des erreurs PHP error_reporting(E_ALL); //******************************************************************************************** //CONFIGURATION //******************************************************************************************** // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule $destinataire = '***@***'; // copie ? (envoie une copie au visiteur) $copie = 'oui'; // 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."; // Message d'erreur du formulaire $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur."; // Objet du mail : $objet = " Mail test "; $err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin //******************************************************************************************** //Fonctions //******************************************************************************************** /* * 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) ? false : true; } //******************************************************************************************** // Récupération des variables //******************************************************************************************** $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : NULL; $email = (isset($_POST['email']) && IsEmail(Rec($_POST['email']))) ? Rec($_POST['email']) : NULL; $message = (isset($_POST['message'])) ? Rec($_POST['message']) : NULL; //******************************************************************************************** // Traitement du SUBMIT //******************************************************************************************** $msg = array(); //variable contenant les messages eventuels. //le temps des tests : print_r($_POST); if (isset($_POST['envoyer'])) { //le temps des tests: echo " Le formulaire a bien été envoyé...."; if ($nom && $email && $objet && $message) { // 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" . 'Content-Type: text/plain; charset="utf-8"; DelSp="Yes"; format=flowed '."\r\n" . 'Content-Disposition: inline'. "\r\n" . 'Content-Transfer-Encoding: 7bit'." \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('<br>','',$message); $message = str_replace('<br />','',$message); // Envoi du mail if (mail($cible, $objet, $message, $headers)){ $msg[] = '<p>'.$message_envoye.'</p>'; } else { $msg[] = '<p>'.$message_non_envoye.'</p>'; } } else { // une des 3 variables (ou plus) est vide ... $msg[] = '<p>'.$message_formulaire_invalide.'</p>'; $err_formulaire = true; } } // fin du if (!isset($_POST['envoi'])) ?> <!DOCTYPE html> <html> <head> <meta charset ="utf-8" /> <link rel="stylesheet" type="text/css" href="lilicss.css"> <title> planet beatrice</title> </head> <body> <?php include ("menu.inc.php"); //Affichage des éventuels messages if(!empty($msg)){ foreach($msg as $strMsg){ echo $strMsg; } } if ($err_formulaire || !isset($_POST['envoi'])) { echo " <form id='contact' method='post' action='' name='myform'> <fieldset> <legend>Personal</legend> <label for='nom'>Nom :</label> <input type='text' class='required' id='nom' name='nom' value='".stripslashes($nom)."' tabindex='1' /> <label for='email'>Email :</label> <input type='text' class='required' id='email' name='email' value='".stripslashes($email)."' tabindex='2' /> </fieldset> <fieldset> <legend>Message</legend> <label for='message'>Message :</label> <textarea id='message' class='required' name='message' tabindex='3' cols='165' rows='40'>".stripslashes($message)."</textarea> <label><span> </span> <input type='submit' value='submit' name='envoyer'></label> </fieldset> </form>"; } ?> </body> </html>
ce que je veux dire c'est que normalement il doit afficher un message pour dire si le message a ete envoyer ou non ou meme si il y a une erreur dans le code au niveau de la page indiquer dans action mais au lieu de ca il affiche la page correspondant au formulaire du moteur de recherche du site avec aucun message il ya juste la page qui s'affiche
le probleme persiste je sais vraiment pas ou se situe le probleme dans le code
le probleme persiste je sais vraiment pas ou se situe le probleme dans le code