Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Redirection après envoie du formulaire [ Divers / Débutant(e) ] (Tithomme75)

lundi 10 novembre 2008 à 17:01:13 | Redirection après envoie du formulaire

Tithomme75

Bonjour à tous, j'ai un site perso dans lequel j'ai inséré dans la partie "contact" un formulaire pour que le dialogue avec les éventuels visiteurs soit facilité...
Néanmoins je bloque sur la redirection après l'envoie du formulaire (quand le visiteur a cliqué sur le bouton Envoyer")...
J'aimerai savoir si il est possible de renvoyer vers une page si tt est ok (formulaire correctement rempli) et renvoyer sur la page contenant le formulaire si il y a une erreur (un champ a été oublié par exemple).

Je vous donne le code source de mon formulaire, contenu dans la page appelée contact.html :


<form method="post"
 action="contact.php"><br>
                          <table
 style="width: 600px; height: 375px; text-align: left; margin-left: auto; margin-right: auto;"
 border="0" cellpadding="2" cellspacing="2">
                            <tbody>
                              <tr>
                                <td style="text-align: center;">
                                <table
 style="text-align: left; width: 100%;" border="0"
 cellpadding="2" cellspacing="2">
                                  <tbody>
                                    <tr>
                                      <td style="text-align: center;"><span
 class="texte">CONTACTEZ-MOI DIRECTEMENT EN REMPLISSANT CE
FORMULAIRE</span></td>
                                    </tr>
                                  </tbody>
                                </table>
                                <br>
                                <table
 style="width: 570px; text-align: left; margin-left: auto; margin-right: auto;"
 border="0" cellpadding="2" cellspacing="2">
                                  <tbody>
                                    <tr>
                                      <td class="texte"
 style="text-align: left; width: 128px;">&nbsp;
&nbsp; Nom <img style="width: 12px; height: 13px;" alt=""
 src="file:///C:/Documents%20and%20Settings/Administrateur/Bureau/Page%20contact/asterisque.gif"
 align="top">
:</td>
                                      <td
 style="text-align: left; width: 422px;"><input name="nom"
 style="background-color: rgb(204, 204, 204);" type="text"></td>
                                    </tr>
                                    <tr>
                                      <td class="texte"
 style="text-align: left; width: 128px;">&nbsp;
&nbsp; Prénom <img style="width: 12px; height: 13px;"
 alt=""
 src="file:///C:/Documents%20and%20Settings/Administrateur/Bureau/Page%20contact/asterisque.gif"
 align="top"> :</td>
                                      <td
 style="text-align: left; width: 422px;"><input
 name="prénom" style="background-color: rgb(204, 204, 204);"
 type="text"></td>
                                    </tr>
                                    <tr>
                                      <td class="texte"
 style="text-align: left; width: 128px;">&nbsp;
&nbsp; Email
                                      <img
 style="width: 12px; height: 13px;" alt=""
 src="file:///C:/Documents%20and%20Settings/Administrateur/Bureau/Page%20contact/asterisque.gif"
 align="top">&nbsp;:</td>
                                      <td
 style="text-align: left; width: 422px;"><input
 name="email" style="background-color: rgb(204, 204, 204);"
 type="text"></td>
                                    </tr>
                                    <tr>
                                      <td class="texte"
 style="text-align: left; width: 128px;">&nbsp;
&nbsp; Message
                                      <img
 style="width: 12px; height: 13px;" alt=""
 src="file:///C:/Documents%20and%20Settings/Administrateur/Bureau/Page%20contact/asterisque.gif"
 align="top">&nbsp;:</td>
                                      <td
 style="text-align: left; width: 422px;"><textarea rows="6"
 name="message" cols="48" row="30"
 style="background-color: rgb(204, 204, 204);"></textarea></td>
                                    </tr>
                                    <tr>
                                      <td
 style="text-align: center; width: 128px;"></td>
                                      <td
 style="text-align: left; width: 422px;"><input
 value="Envoyer" type="submit"></td>
                                    </tr>
                                  </tbody>
                                </table>
                                <br>
                                <table class="texte"
 style="width: 570px; text-align: left; margin-left: auto; margin-right: auto;"
 border="0" cellpadding="2" cellspacing="2">
                                  <tbody>
                                    <tr>
                                      <td>&nbsp; &nbsp;
(Les champs marqués
d'un <img style="width: 12px; height: 13px;" alt=""
 src="file:///C:/Documents%20and%20Settings/Administrateur/Bureau/Page%20contact/asterisque.gif"
 align="top">&nbsp;sont obligatoires)</td>
                                    </tr>
                                  </tbody>
                                </table>
                                </td>
                              </tr>
                            </tbody>
                          </table>
                          <br>
                        </form>

(Précision les images ne sont pas uploadées ce qui explique un url comme celle indiquée)

Et voici la page contact.php qui traite les infos :

<?php

if(isset($_POST) && isset($_POST['nom']) && isset($_POST['email']) && isset($_POST['message'])){
   extract($_POST);
   if(!empty($nom) && !empty($email) && !empty($message)){
        $message=str_replace("\'","'",$message);
        $destinataire="chauveau_adrien@hotmail.fr";
        $sujet="Formulaire de contact";
        $message="Une nouvelle question est arrivée \n
        Nom : $nom \n
        Email : $email \n
        Message: $message";
        $entete="From: $nom \n Reply-To: $email";
        mail($destinataire,$sujet,$message,$entete);
        echo "Le mail a bien été envoyé.";
   }
   else{
        echo "Vous n'avez pas rempli tous les champs.";
   }
}
?>


Merci d'avance pour votre aide qui me sera précieuse :-)
A bientôt


lundi 10 novembre 2008 à 17:29:43 | Re : Redirection après envoie du formulaire

neigedhiver

Salut,

2 solutions s'offrent à toi :
- vérifier le formulaire avant l'envoi en Javascript
- vérifier le formulaire après son envoi, avec PHP.

Dans le premier cas, le formulaire ne sera effectivement envoyé que s'il est correctement rempli. Il faut pour cela une fonction JS qui vérifie les données saisies, et qui renvoie true ou false. Elle doit être appelée dans l'attribut onsubmit de la balise <form>

Dans le second cas, il faut hiérarchiser les fichiers correctement. Il faut séparer le code HTML du script PHP pour pouvoir afficher le formulaire ou non depuis le script PHP.
Pour faire plus simple, tu peux utiliser le même script pour afficher et traiter le formulaire. Simplement, si la variable $_POST est vide, il faut afficher le formulaire. Si elle est remplie, on traite les données. Si pendant le traitement on a une erreur, on réaffichera le formulaire, avec les données correctes pré-remplies.

Voilà, en gros...


Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...

lundi 10 novembre 2008 à 17:55:21 | Re : Redirection après envoie du formulaire

Tithomme75

Merci neigedhiver pour ta rapide et précise réponse...
Pourrais-tu me dire précisément ce que je dois rajouter et ou je dois rajouter dans mon code car je n'ai pas très bien saisi... La deuxième solution me plait plus que la première dans le sens où les données correctes seront réaffichées.
Avec ta méthode il est donc possible d'afficher une page de remerciements si le formulaire est bon, et si le formulaire ne l'est pas de réafficher la page formulaire (contact.html pour moi) en conservant les champs bons. C'est bien ça?
Merci encore

mardi 11 novembre 2008 à 16:35:45 | Re : Redirection après envoie du formulaire

Tithomme75

Pourriez-vous me venir en aide je suis totalement bloqué... :'(



Cette discussion est classé dans : text, style, align, width, left


Répondre à ce message

Sujets en rapport avec ce message

Feuille de style pas chargée par Firefox quand le serveur web renvoie des mauvais headers [ par ivanmac ] Bonjour, Les navigateurs à moteur d'affichage Gecko (Firefox, Mozilla) ignorent les feuilles de styles qui ne sont pas associées par le serveur au ty feuilles de style et Mac [ par c_hippo ] Bonjour,J'ai une page qui marche très bien sous Windows (IE 6.0) mais qui fonctionne plus très bien sous Mac (IE 5.0) !En fait j'ai un bloc 'profile'  Si quelqu'un à l'explication je suis preneur ... [ par Mo11 ] Bonjour à tous,J'ai une étrangité à partager avec la communeauté. Voici deja le code : <br / [XHTML] Menu deroulant [ par Frenzey ] Bonjour, j'ai récupérer un template gratuit sur internet, je l'ai adapté mais il y a quelques problème avec affichage par rapport à mon menu. voila mo Contenu de Bdd et affichage avec retour a la ligne [ par DjChat ] Bonjour a tous, je gere un affichage dynamique qui est stoqué dans une Bdd en varchar qui est du texte, pour le positionner je l'ai mi dans des div qu contenu du site décalé sous internet explorer [ par loblobloblob ] Bonjour,voila j'ai créer une page d'accueil qui est divisé en 3 partie: visuel sur la gauche, contenu au milieu et petit message sur la droite,pour ce taille du site [ par loblobloblob ] Bonjour,Je voudrais changer la taille de mon site qui est en 1024 par du 980 de large, mais lorsque je change l'attribu width de 1024 a 980 de ma page Temporisation Retour Page Principal [ par niakk15 ] <link rel="Fi probleme d'envoie [ par ophely12 ] bonjour,J'ai un souci, lorsque je clique sur envoyer il m'envoie sur la page "liste_stag.php" je ne comprend pa pourquoi ! Si vous pouviez m'aider ?! lien differents entre FF et IE [ par loblobloblob ] Bonjour,J'ai un petit menu qui me pose un petit (gros) probléme,voila j'ai les couleurs des liens correct (un genre de bleu) dans Firefox sans undersc


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,468 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.