begin process at 2012 02 15 21:51:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Redirection après envoie du formulaire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Redirection après envoie du formulaire

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ée 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 / 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 [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 pourquoi le programme html &css change selon le navigateur [ par Razily ] Bonjour à tous ; je débute en html et css ; et en ce moment je crée une application php ; mais voilà je suis confronté à un problème que j'ai dû mal à probleme creation site web [ par hadesD ] Bonjour, je suis en train de concevoir mon site web après avoir suivi plusieurs cours sur le xhtml et le php et je me confronte a diffèrent problème s DIV qui s'agrandie en fonction du contenu [ par oglocc ] Bonjour, Tous d'abord je tien a m'escuser car je ne pense pas que mon sujet soit dans le thême approprié mais je vien juste de m'inscrire. J'ai une q Problème css sous mozilla [ par boninou ] Bonjour à tous, J'ai un petit souci de mise en page sous Mozilla que je n'ai pas sous IE et Chrome. Mon code est le suivant : [code=html] #pro


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,420 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales