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

EDI, CMS, Outils, Scripts et API PHP Discussion :

[Forum] Afficher réponse formulaire dans une fenêtre modale


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 5
    Points : 3
    Points
    3
    Par défaut [Forum] Afficher réponse formulaire dans une fenêtre modale
    Bonjour, j'ai créé un petit formulaire de contact en html5 et un fichier php basique pour traiter les infos du formulaire. J'ai redirigé vers une page du site en cas de succès. Mon problème est le suivant : Je voudrais que lorsqu'une erreur a été détectée, le message d'erreur apparaisse dans le corps du formulaire (par exemple dans le "footer". Je précise que le formulaire est situé dans une fenêtre modale en css.
    Je précise que je débute en php. Je joins le code html et le code php. Merci pour votre aide.

    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
    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
    <?php
        $name = $_POST['name'];
        $email = $_POST['email'];
        $message = $_POST['message'];
        $from = 'From: <a href="http://&#39;mon site&#39;;" target="_blank">'mon site';</a> 
        $to = 'email de mon site'; 
        $subject = 'Le club a été contacté ';
        $human = $_POST['antispam'];
    			
        $body = "From: $name\n E-Mail: $email\n Message:\n $message";
    				
        if ($_POST['submit'] && $antispam == '4') {				 
            if (mail ($to, $subject, $body, $from)) { 
    	    header("location:http://monsite.com/redirect2.html");
    	} else { 
    	    echo 'Formulaire incomplet !'; 
    	} 
        } else if ($_POST['submit'] && $antispam != '4') {
    		echo 'Mauvais calcul, recommencez !';
        }
          
        
    ?>
     
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <meta charset="iso-8859-1" />
    <link rel="stylesheet" type="text/css" href="formulaire.css">
    <link rel="stylesheet" type="text/css" href="modal.css">	
    </head>
    <body>
    <a href="#openModal">Open Modal</a>
    <div id="openModal" class="modalDialog">
    <div>
        <a href="#close" title="Close" class="close"></a>
        <header class="body">
    	Formulaire:
        </header>
        <section class="body">
     
        <form method="post" action="http://www.monsite.com/index.php">
     
        <label>NOM,Pr&eacute;nom :</label>
        <input name="name" placeholder="Ecrivez ici">
     
        <label>Email :</label>
        <input name="email" type="email" placeholder="Ecrivez ici">
     
        <label>Votre message :</label>
        <textarea name="message" placeholder="Ecrivez ici"></textarea>
     
        <label>Que donne 2+2 ?</br> (Anti-spam)</label>
        <input name="antispam" placeholder="R&eacute;sultats">
        <input id="submit" name="submit" type="submit" value="Submit">
     
       </form>
    	</section>
        <footer class="body">
        </footer>
     
    </div>	
    </div>
     
    </body>
    </html>
    </body>
    </html>

  2. #2
    Candidat au Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Juillet 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Salut,

    Ce que je fais habituellement:
    Rester sur la meme page pour le form > Action="#"

    En début de cette page tester le formulaire > avec des IF
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If(ISSET($_Post['Submit])) // SI le formulaire est envoyé
    {
     
    // Tester tous les $_Post avec des IF
    If(!ISSET($_Post['Prénom']) == '') {$erreur = 'erreur'} 
    etc...
    }
    Puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If(!ISSET$erreur) // Si y a pas d'erreur On se casse, 
    {
    header location 'la page résultat.php' // avec un header location. 
    }
    Si c'est pas bon (on est sur la page, on reste)

    Dans le pied de page:
    Appliquer le format sur ce qui n'est pas bon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" style="If(!ISSET($_Post['Prénom']) AND ISSET($_Post['Submit])) {ex: mettre en rouge;}
    (Attention aux erreurs de frappes, il est tard)

  3. #3
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    Bonjour.

    Effectivement la methode de philwatt (FORM qui s'auto-appelle) est la plus courante pour les petits formulaires.

    Mais il me semble que vous parlez de 2 pages distinctes.... Non ?...

    Si vous avez fait 2 pages (ne vous inquiétez pas, c'est aussi une bonne façon de faire) :
    - Qd vous êtes dans la page.php qui traite, si vous retournez vers le formulaire, celui-ci aura perdu la saisie initiale !
    - il faut donc utiliser $_SESSION, pour ne rien perdre....
    - et vous en profitez pour ajouter l'élément ($_SESSION['message']) afin de gérer l'erreur détectée.
    - dans la page de traitement quand la saisie est validée, on n'oublie pas de tuer $_SESSION, si cette variable globale n'est plus utile !...

    PS : J'ignore ce qu'est une fenêtre modale, mais "en principe" ce que je vous ai indiqué doit fonctionner...

Discussions similaires

  1. Réponses: 6
    Dernier message: 21/12/2014, 14h36
  2. [AJAX] Formulaire dans une fenêtre modale
    Par hkp314 dans le forum AJAX
    Réponses: 6
    Dernier message: 06/08/2013, 00h20
  3. Poster formulaire saisie dans une fenêtre modale ?
    Par Cedraow dans le forum jQuery
    Réponses: 1
    Dernier message: 05/06/2013, 01h48
  4. Réponses: 4
    Dernier message: 28/11/2012, 13h50
  5. Formulaire dans une fenêtre modale
    Par Amnesiak dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 28/02/2005, 14h25

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