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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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

+ 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