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 :

validation formulaire selon choix dans la liste déroulante


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de florianjoy54
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 155
    Par défaut validation formulaire selon choix dans la liste déroulante
    Bonjour,

    j'ai une liste déroulante qui soit vide soit remplie.
    Et j'aimerais que lorsqu'elle soit vide et qu'on appuie sur valider que ça me renvoie sur la page d'accueil ici c'est : toto.php

    par contre lorsqu'on sélectionne une valeur dans la lise et qu'on valider l'utilisateur est amené à la page suivante.

    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
    69
    70
     
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
     
    <head>
    <title>ModifierChant.php</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body>
     
     
     
     
    <?php
    mysql_connect("localhost","root","") or die ("erreur de connexion");
    mysql_select_db("b") or die ("erreur");
     
    session_start();
    $entreprise = $_SESSION['codeCompanie'];
     
    $requeteNumChantier = mysql_query("select CodeChantier from chantier Where CodeEntreprise='$entreprise' 
    									and NomChantier != ''");
     
    ?>
     
    <?php
    if(isset($_POST['valider']) && $code == '')
    {
    echo "<script>alert('vous n avez plus de code disponnible');</script>";
    						$delai=0.95; 
    						$url='toto.php';
    						header("Refresh: $delai;url=$url");
     
    }
    else
     
    {
     
     
    ?>
     
    <form method="post" action="ModifierChantier.php" >
     
    <select name="code">
    	<?php
    	while ($donnee=mysql_fetch_array($requeteNumChantier))
    	{
    	?>
    		<option  value="<?php echo $donnee['CodeChantier']; ?>"><?php echo $donnee['CodeChantier']; ?> </option>
     
    	<?php
    	}
    	?>
    </select>
     
    	<p>
     
    		<input type="submit" value="valider" name="valider"/>
     
    	</p>
     
    <?php
    }
    ?>
    </form>
     
    </body>
    </html>
    mais ça me ramène jamais à la page toto.

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ce n'est pas $code mais $_POST['code']

    Je te précise toutefois qu'un formulaire est très facilement falsifiable et qu'un utilisateur peut envoyer un code même si le formulaire ne lui en propose pas.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé Avatar de florianjoy54
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 155
    Par défaut
    meme si c'est en disabled ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    if(isset($_POST['valider']) && $_POST['code'] == '')
    {
    echo "<script>alert('vous n avez plus de code disponnible');</script>";
    						$delai=0.95; 
    						$url='toto.php';
    						header("Refresh: $delai;url=$url");
     
    }
    else
     
    {
    ça n'a rien changé. ça m'envoi toujours sur la page suivante

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ajoute un tu verras mieux ce qui se passe avec ton formulaire.
    Sinon syntaxiquement il serait plus exact de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_POST['valider']) && (!isset($_POST['code'] ||  $_POST['code'] == ''))
    car un <select> sans <option> ne renvoit rien du tout a priori.

    meme si c'est en disabled ?
    Oui, on peut très facilement falsifier entièrement un formulaire.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé Avatar de florianjoy54
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 155
    Par défaut
    Non toujours pas,

    avec un ça m'affiche Array()

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Quand tu cliques sur le bouton, tu as array() ?
    Chez moi ca marche pourtant.

    En dehors de ça, ton code n'est pas dans le bon sens : tu ne peux pas avoir d'affichage (ni HTML, ni alert Javascript) avant ta session ou ta redirection :
    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
     
    <?php
    session_start();
    $entreprise = $_SESSION['codeCompanie'];
    $requeteNumChantier = mysql_query("select CodeChantier from chantier Where CodeEntreprise='$entreprise' and NomChantier != ''");
    if (isset($_POST['valider']) && (!isset($_POST['code']) ||  $_POST['code'] == ''))
     
    {
    	header("Location: toto.php");
     
    }
    else
    {
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
     <head>
    <title>ModifierChant.php</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body>
    <form method="post" action="" >
    <select name="code">
    	<?php
    	while ($donnee=mysql_fetch_array($requeteNumChantier))
    	{
    	?>
    		<option  value="<?php echo $donnee['CodeChantier']; ?>"><?php echo $donnee['CodeChantier']; ?> </option>
     
    	<?php
    	}
    	?>
    </select>
     
    	<p>
     
    		<input type="submit" value="valider" name="valider"/>
     
    	</p>
     
    <?php
    }
    ?>
    </form>
     
    </body>
    </html>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre confirmé Avatar de florianjoy54
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 155
    Par défaut
    c'est bon ça fonctionne je te remercie

  8. #8
    Membre confirmé Avatar de florianjoy54
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 155
    Par défaut
    Bonjour,

    en fait j'ai toujours le meme soucis, parce que la solution donnée était sans action
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form method="post" action="" >
    mais lorsque j'ajoute mon action sur la page suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form method="post" action="ModifierChantier.php" >
    ça m'envoie toujours sur la page suivante quand il n'y a pas de code selectionné

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    ModifierChantier.php c'est bien la page pour laquelle j'ai corrigé le code ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre confirmé Avatar de florianjoy54
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 155
    Par défaut
    Non Modifier chantier c'est la page vers laquelle je vais aller si il existe un code dans la liste déroulante. Mais si y en pas revenir sur la page d'accueil toto.php
    et hier j'avais pas fait attention que ça ne fonctionnait pas quand ajouter une l'action.

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Donc si le code est rempli on va vers ModifierChantier.php et si non on va faire toto.php mais dans aucun cas on ne revient sur le formulaire ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre confirmé Avatar de florianjoy54
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 155
    Par défaut
    oui voila ModifierChantier c'est dans cette page que se trouve le formulaire.
    La page actuelle avec la liste déroulante elle s'appelle ModifierChant.php et elle permet juste de sélectionner le code. ou on veut modifier les données.
    et il y a un cas ou le code est vide. et c'est a ce moment que je veux rediriger l'utilisateur vers la page d'accueil toto.php

  13. #13
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pourquoi amener l'utilisateur vers un formulaire ou on sait d'avance qu'il ne pourra rien choisir ?

    Sinon c'est sur ta page ModifierChantier.php qu'il faut mettre le teste sur le code recu : si pas de code -> redirection
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #14
    Membre confirmé Avatar de florianjoy54
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 155
    Par défaut
    Parce que j'ai 2 formulaires.
    Un pour ajouter et un pour modifier.
    et en fait tant qu'il n'a pas ajouter d'intervenant. je ne veux pas qu'il puisse faire modifier.
    S'il n'a pas ajouté d'intervenant c'est à ce moment que le code est vide.
    Mais meme si le code est vide et qu'on valide ça ammène sur le formlaire de modification.
    et s'il valide ensuite le formulaire de modification il y a une envoi d'email derrière.
    et j'aimerais éviter l'envoi d'email inutile.
    je me méfie juste de l'utilisateur. c'est pour ça que j'aimerais le rediriger

  15. #15
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ce que tu me décris ressemble à une usine à gaz pleine de trous.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  16. #16
    Membre confirmé Avatar de florianjoy54
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 155
    Par défaut
    c'est la description du problème...

  17. #17
    Membre confirmé Avatar de florianjoy54
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 155
    Par défaut
    J'ai résolu mon problème
    Merci quand même.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 18/02/2013, 20h01
  2. Rafraichir un formulaire en fonction d'un choix dans une liste déroulante
    Par talondachil dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/01/2008, 23h17
  3. Réponses: 12
    Dernier message: 08/02/2007, 11h59
  4. Réponses: 2
    Dernier message: 01/08/2006, 23h24
  5. [FORMULAIRE] affichage selon le choix dans une liste déroulante.
    Par gailup dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/06/2006, 14h58

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