Modification formulaire PHP

Eléphanteau du PHP | 11 Messages

20 nov. 2015, 18:41

Bonjour,
J'avais besoin d'un formulaire PHP et comme je ne suis pas un expert, j'en ai téléchargé un. Il fonctionne parfaitement, mais j'aurais voulu y apporté deux petits modifications mais je n'y arrive pas.
Quand mon formulaire est correctement envoyé, un message s'affiche "Votre message a bien..." mais j'aurais voulu remplacé ce message vers un page PHP avec un message que j'ai créé. De même que si le message n'a pas été envoyé. Donc lien vers deux pages à la place des deux messages
J'ai essayer ce code

Code : Tout sélectionner

if (true == $res) { Header("Location: http://".$site."/test/form_ok.html" ); } else { Header("Location: http://".$site."/test/form_pas_ok.html" ); }
en ajoutant

Code : Tout sélectionner

$site = "www.monsite.com";
Meci
Mais sans succès
Donc je fais appel à vous pour me donner un petit coup de pouce
Voici le code d'envoi de mon formulaire, les messages que je voudrais remplacé se trouve à la ligne 6 et 54 si je ne me trompe pas

Code : Tout sélectionner

<?php // Information qui apparaittra si les champs obligatoires ne sont pas remplis $msg_erreur = "Erreur. Les champs suivants doivent &#65533;tre obligatoirement remplis :<br/><br/>"; // Information qui apparaittra si les 2 messages ont bien &#65533;t&#65533; envoy&#65533; $msg_ok = "Votre demande a bien &#65533;t&#65533; prise en compte. Elle sera trait&#65533;e dans les meilleurs d&#65533;lais.\nUn mail de confirmation vous a &#65533;t&#65533; envoy&#65533;."; $message = $msg_erreur; define('MAIL_DESTINATAIRE','[email protected]'); // remplacer par votre email define('MAIL_SUJET','Objet du mail'); // remplacer l'objet du mail qui sera envoy&#65533; // v&#65533;rification des champs obligatoires (doublon avec le script si des champs obligatoires incorpor&#65533;s dans le formulaire) if (empty($_POST['nom'])) $message .= "Votre nom<br/>"; if (empty($_POST['prenom'])) $message .= "Votre prenom<br/>"; if (empty($_POST['personne'])) $message .= "nombre de personne<br/>"; if (strlen($message) > strlen($msg_erreur)) { echo $message; // sinon c'est ok } else { foreach($_POST as $index => $valeur) { $$index = stripslashes(trim($valeur)); } //Pr&#65533;paration de l'ent&#65533;te du mail: $mail_entete = "MIME-Version: 1.0\r\n"; $mail_entete .= "From: {$_POST['nom']} " ."<{$_POST['mail']}>\r\n"; $mail_entete .= 'Reply-To: '.$_POST['mail']."\r\n"; $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"'; $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n"; $mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n"; // Pr&#65533;paration du corps du mail // Remplacer le nom des variables suivantes par les noms de vos variables (name ou id) du formulaire // Utiliser \n pour aller &#65533; la ligne $mail_corps = "Demande de : $nom $prenom\n"; $mail_corps .= "Nombre de personne : $personne\n\n"; $mail_corps .= "Mail : $mail\n\n"; $mail_corps .= "Observation : $observations\n\n"; // envoi du mail if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) { //Le mail est bien exp&#65533;di&#65533; echo $msg_ok; } else { //Le mail n'a pas &#65533;t&#65533; exp&#65533;di&#65533; echo 'Une erreur est survenue lors de l\'envoi du formulaire par email'; } } // Message de confirmation de reception de demande // --------------------------- /* Objet */ // Mettre votre nom de domaine $subject = "Confirmation de votre demande"; /* additional header pieces for errors, From cc's, bcc's, etc */ // Adresse mail (variable du formulaire contact) $headers = "From: $mail <$mail>\n"; // Remplacer le mail suivant par votre mail $headers .= "X-Sender: <[email protected]>\n"; $headers .= "X-Mailer: PHP\n"; // mailer $headers .= "X-Priority: 1\n"; // Urgent message! // Remplacer le mail suivant par votre mail $headers .= "Return-Path: Sales <[email protected]>\n"; // Return errors /* recipients */ $recipient = $mail; /* message */ // Remplacer le contenu du message suivant par celui qui vous convient // Vous pouvez &#65533; l'int&#65533;rieur de celui-ci rappeller les variables en mettant $nom etc... $message = "Bonjour $prenom $nom Merci pour votre message. Nous traiterons votre demande dans les plus bref delais. Cordialement. Rappel de vos informations personnelles: ------------------------------ Votre nom: $nom Votre addresse: $prenom votre Email: $mail Votre message: $observations Si vous recevez ce mail par erreur, merci de nous contactez au plus vite par email : [email protected] A tres bientot http://www.moi.com ------------------------------- "; mail($recipient, $subject, $message, $headers); ?>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

22 nov. 2015, 00:54

salut,

remplace echo 'Une erreur est survenue lors de l\'envoi du formulaire par email';
par le header vers le message d'erreur.

met le header "succes" en dernière ligne de code (celle avant le ?>).

@+
Il en faut peu pour être heureux ......