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

Langage PHP Discussion :

executer un controle php apres submit


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 73
    Points : 44
    Points
    44
    Par défaut executer un controle php apres submit
    Bonjour,

    Je créé un formulaire nommé "formulaire_contact.php" avec contrôle en php. Voici une partie du code (il y a pas mal de champ):

    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
     
    <FORM method="GET" action="formulaire_contact.php" name="technet">
    	<table align="center">
    			<tr>
    				<td>Civilité *</td>
    				<td>
    				<INPUT type="radio" name="choix" value="Mlle" >Mademoiselle<br>
    				<INPUT type="radio" name="choix" value="F">Madame<br>
    				<INPUT type="radio" name="choix" value="M" >Monsieur<br>
    				</td>
    				<td>
    				<?php
    				if (isset ($_GET['choix']) || $_GET['choix'] != "" )
    					{
    						$civilite=$_GET['choix'];			
    					}
    					else
    					{
    						echo ' Vous n\'avez pas sélectionné de civilité<br>';
    					}
     
    				?>
    				</td>
    			</tr>
    			<tr>		
    				<td>Nom *</td>
    				<td>
    				<input type="text" name="nom">
    				<br>
    				</td> 
    				<td>
    				<?php
    				if (isset ($_GET['nom']) || $_GET['nom'] != "")
    					{
    						$nom=$_GET['nom'];
    					}
    					else
    					{
    						echo ' Entrez votre nom<br>';
     
    					}
     
    				?>			
    				</td>
    			</tr>	
    			<tr>				
    				<td>Pr&eacute;nom *</td>
    				<td>
    				<input type="text" name="prenom" >
    				<br>
    				</td>
    				<td>
    				<?php
    				if (isset ($_GET['prenom']) || $_GET['prenom'] != "")
    					{
    						$prenom=$_GET['prenom'];
    					}
    					else
    					{
    						echo ' Entrer votre prénom<br>';
    					}
    				?>
    				</td>
     
     
                                etc, etc (d'autres definition de champ)
     
    <INPUT type="submit" value="Valider" name="action" onclick="formulaire_contact.php">
    Comme vous l'avez sûrement remarqué, j'ai inséré le contrôle de chaque champ après chaque entrée.
    Je voulais savoir s'il était possible de faire cela?
    Si oui, est ce qu'il existerait un moyen d'exécuter le code php uniquement apres avoir validé le formulaire? Car actuellement, le php s'exécute directement au chargement de la page!


    Merci d'avance de vos réponses!!!

  2. #2
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    Salut,

    De cette façon cela fonctionne bien que je préfère pour ma part bien distinguer la partie vérification/validation de la partie affichage.
    Si formulaire soumis alors
    si choix est faux alors
    afficher message
    etc etc

    Si tous les tests ok alors on valide le formulaire et on passe à autre chose
    Fin tests
    Affichage formulaire avec les messages eventuels
    Cette méthode est plus propre.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 73
    Points : 44
    Points
    44
    Par défaut
    c'est ce que j'avais commencé a faire seulement je ne voyais pas comment afficher le message d'erreur en face de la case correspondante.
    Par ailleurs, je me suis rendu compte qu'il n'effectuait pas les test et qu'il insérait des champs vide ds ma BDD alors meme que j'avais précisé qu'aucun champ ne devait etre nul.

    est que ce serait une erreur dans mon code (ce dont je ne pense pas) ou est ce que j'aurais oublié quelque chose?

  4. #4
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    Pour voir s'il y a une erreur, il nous faudrait au moins une plus grande partie du code avec la partie insertion. Mais en gros, sur un php unique, il faut procéder de cette façon :

    Traitement Php
    Verif
    insertion
    Affichage

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Executer un script PHP apres click button en JQuery
    Par facilus68 dans le forum jQuery
    Réponses: 10
    Dernier message: 11/08/2013, 23h01
  2. Executer PHP après PERL
    Par Cooly dans le forum Web
    Réponses: 4
    Dernier message: 06/03/2008, 09h11
  3. Réponses: 11
    Dernier message: 13/12/2007, 14h34
  4. Réponses: 4
    Dernier message: 15/12/2005, 18h28
  5. Réponses: 5
    Dernier message: 25/11/2004, 09h11

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