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

PHP & Base de données Discussion :

instruction si un bouton radio n'est pas coché


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 15
    Points : 3
    Points
    3
    Par défaut instruction si un bouton radio n'est pas coché
    Bonsoir , je veux faire une condition concernant le bouton radio , je veux afficher une erreur quand l'utilisateur clic directement sur le bouton envoyer sans cocher la case



    liste des cours
    cours.php
    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
    <html>
    <head>
    <title>Liste des cours</title>
    <link href="style.css"rel="stylesheet"type="text/css">
    </head>
    <body>
    <?php
    $maconnexion =mysql_connect("localhost","***","***")
            or die("Connexion au serveur impossible");
    $db=mysql_select_db("danser",$maconnexion)
            or die("Sélection de la base de données impossible");
     
    $requete="SELECT * FROM cours,prof WHERE prof.numprof=cours.numprofcours ORDER BY libellecours ";
    $resultat=mysql_query($requete)
            or die("Execution de la requete impossible");
     
    echo "<h1 align='center'>liste des cours</h1>";
    echo "<form action='sessioncours.php' method='post'>";
    echo "<table align='center' border='5' width='35%'>";
    echo "<tr><th width='18%'>code cours</th><th width='18%'>le cours</th><th width='10%'>le prof</th><th width='1%'>Choix</th>";
    while($ligne=mysql_fetch_array($resultat))
                    {
                    $codecours=$ligne['codecours'];
                    $cours=$ligne['libellecours'];
                    $nomprofcours=$ligne['nomprof'];
                    echo "<tr><td align='center'>$codecours</td>
                              <td align='center'>$cours</td>
                                      <td align='center'>$nomprofcours</td><td><input type='radio' name='MonChoix' value='$codecours'></td>";
                    }
    echo "</table>";
    echo "<p align='center'><input type='submit' name='codecours' value='Envoyer pour consulter la liste des sessions'></p></form>";
    echo "<form action='index.html'><p align='center'><INPUT TYPE='submit' VALUE='Retour accueil'></p></form>";
    ?>
    </body>
    </html>
    liste des sessions
    sessioncours.php
    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
    <html>
    <head>
    <title>Liste des sessions</title>
    <link href="style.css"rel="stylesheet"type="text/css">
    </head>
    <body>
    <?php
    $maconnexion =mysql_connect("localhost","***","****")
            or die("Connexion au serveur impossible");
    $db=mysql_select_db("danser",$maconnexion)
            or die("Sélection de la base de données impossible");
    //Récupération des variables  
    $Requete="Select cours.*,session.* From cours,session where cours.codecours=session.codecourssession and cours.codecours='".$_POST['MonChoix']."'";
    $Resultat=mysql_query($Requete)  
                               or die("Execution de la requete impossible");       
     
    echo "<h1 align='center'>liste des sessions</h1>";
    echo "<table align='center' border='5' width='35%'>";
    echo "<tr><th width='18%'>date du session</th><th width='10%'>periode de session</th><th width='10%'>le cours</th>";
     
    while($ligne=mysql_fetch_array($Resultat))
            {      
                    $cours=$ligne['libellecours'];
                    $date=$ligne['datesession'];
                    $periodesession=$ligne['periodesession'];
                    $codecours=$ligne['codecours'];
                    echo "<tr><td align='center'>$date</td><td align='center'>$periodesession</td><td align='center'>$cours</td>";
                    }
    echo "</table>";      
    ?>
    </body>
    </html>

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 187
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 187
    Points : 8 386
    Points
    8 386
    Billets dans le blog
    17
    Par défaut
    Dans la page traitant le formulaire il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ( ! isset($_POST['MonChoix']) ) {
        echo 'Pas de choix effectué' ;
    }
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 15
    Points : 3
    Points
    3
    Par défaut
    j'ai eu sa

    Notice: Undefined index: MonChoix in c:\program files (x86)\easyphp1-8-modgsi\www\dancing club\sessioncours.php on line 15
    Pas de choix effectué

    la ligne 16 c'est $Requete="Select cours.*,session.* From cours,session where cours.codecours=session.codecourssession and cours.codecours='".$_POST['MonChoix']."' ORDER BY datesession";

    de la page sessionscours.php

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 187
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 187
    Points : 8 386
    Points
    8 386
    Billets dans le blog
    17
    Par défaut
    Normal si tu utilises $_POST['MonChoix'] sans qu'il n'existe : Undefined index: MonChoix

    D'où l'instruction proposée plus haut.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 15
    Points : 3
    Points
    3
    Par défaut
    donc ce n'est pas grave si s'affiche comme sa , c'est pour le projet stg

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 187
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 187
    Points : 8 386
    Points
    8 386
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par dadi99 Voir le message
    donc ce n'est pas grave si s'affiche comme sa , c'est pour le projet stg
    Je ne comprends pas ta remarque.

    Comme montré plus haut fais un isset( ) avant d'utiliser une variable pas forcément initialisée, ainsi tu pourras aiguiller correctement ton script et éviteras les messages d'erreur.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 15
    Points : 3
    Points
    3
    Par défaut
    désolé mais je n'ai pas compris

  8. #8
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 187
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 187
    Points : 8 386
    Points
    8 386
    Billets dans le blog
    17
    Par défaut
    fais un isset( ) avant d'utiliser une variable pas forcément initialisée, ainsi tu pourras aiguiller correctement ton script et éviteras les messages d'erreur.
    Qu'est-ce que tu ne comprends pas ?
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 15
    Points : 3
    Points
    3
    Par défaut
    je dois le mettre dans quelle ligne ?

  10. #10
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 187
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 187
    Points : 8 386
    Points
    8 386
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par dadi99 Voir le message
    je dois le mettre dans quelle ligne ?
    Où cela te semble nécessaire, le plus souvent avant l'utilisation des variables testées

    Pour les petits projets le plus souvent on traite le formulaire sur la même page et avant l'affichage :

    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
    <?php
     
    if ( isset($_POST['name']) ) { // Formulaire soumis ?
        if ( ! isset($_POST['nationality']) ) { // Bouton radio coché ?
            $_POST['nationality'] = '2' ; // Si non valeur par défaut
        }
        // Arrivé ici $_POST['name'] et $_POST['nationality'] sont initialisées
        $sql = 'INSERT ...' ; // On peut les utiliser
        ...
        header('Location: ...') ; // Rediriger vers page de confirmation ou d'erreur
        exit( ) ;
    }
     
    ?>
    <html>
    ...
    <form method="post">
        <p>Nom/prénom : <input type="text" name="name"></p>
     
        <p>Nationalité :
        <input type="checkbox" name="nationality" value="1"> Française
        <input type="checkbox" name="nationality" value="2"> Autre<p>
        ....
    </form>
    ...
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  11. #11
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 15
    Points : 3
    Points
    3
    Par défaut
    si je le mets dans cours.php sa s'affiche normal , mais moi je veux l'afficher sur sessioncours.php mais sa ne marche pas
    j'ai sa

    Pas de choix effectué
    Notice: Undefined index: MonChoix in c:\program files (x86)\easyphp1-8-modgsi\www\dancing club\sessioncours.php on line 19

    dans cours.php il ya sa



    et je veux afficher l'erreur dans la page suivante qui est sessioncours.php quand je ne coche pas et je clic directement

  12. #12
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 187
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 187
    Points : 8 386
    Points
    8 386
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par dadi99 Voir le message
    et je veux afficher l'erreur dans la page suivante qui est sessioncours.php quand je ne coche pas et je clic directement
    Dans ce cas il faut utiliser le isset( ) montré à 8h54, et le placer avant le message d'erreur.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  13. #13
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 15
    Points : 3
    Points
    3
    Par défaut
    désolé j'ai pas compris , je le place avant le message d'erreur ! le message d'erreur s'affiche dans la page pas dans le code

  14. #14
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 187
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 187
    Points : 8 386
    Points
    8 386
    Billets dans le blog
    17
    Par défaut
    le message d'erreur s'affiche dans la page pas dans le code
    Montre-nous ton script modifié.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  15. #15
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 15
    Points : 3
    Points
    3
    Par défaut
    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
    <html>
    <head>
    <title>Liste des sessions</title>
    <link href="style.css"rel="stylesheet"type="text/css">
    </head>
    <body>
     
    <?php
     
    $maconnexion =mysql_connect("localhost","***","***")
            or die("Connexion au serveur impossible");
    $db=mysql_select_db("danser",$maconnexion)
            or die("Sélection de la base de données impossible");
    if ( ! isset($_POST['MonChoix']) ) {
        echo 'Pas de choix effectué' ;
    }
    //Récupération des variables  
    $Requete="Select cours.*,session.* From cours,session where cours.codecours=session.codecourssession and cours.codecours='".$_POST['MonChoix']."' ORDER BY datesession";
    $Resultat=mysql_query($Requete)  
                               or die("Execution de la requete impossible");	
     
    echo "<h1 align='center'>liste des sessions</h1>";
    echo "<table align='center' border='5' width='35%'>";
    echo "<tr><th width='18%'>date du session</th><th width='10%'>periode de session</th><th width='10%'>le cours</th>";
     
    while($ligne=mysql_fetch_array($Resultat))
            {       
                    $cours=$ligne['libellecours'];
                    $date=$ligne['datesession'];
                    $periodesession=$ligne['periodesession'];
                    $codecours=$ligne['codecours'];
                    echo "<tr><td align='center'>$date</td><td align='center'>$periodesession</td><td align='center'>$cours</td>";
                    }
    echo "</table>";   
    echo "<form action='index.html'><p align='center'><INPUT TYPE='submit' VALUE='Retour accueil'></p></form>";
    ?>
    </body>
    </html>

  16. #16
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 187
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 187
    Points : 8 386
    Points
    8 386
    Billets dans le blog
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ( ! isset($_POST['MonChoix']) ) {
        echo 'Pas de choix effectué' ;
    }
    //Récupération des variables  
    $Requete="Select cours.*,session.* From cours,session where cours.codecours=session.codecourssession and cours.codecours='".$_POST['MonChoix']."' ORDER BY datesession";
    Ton script est incohérent. Tu testes l'existence de $_POST['MonChoix'], affiche un msg d'erreur s'il n'existe pas, mais dans TOUS LES CAS tu exécutes une requête utilisant $_POST['MonChoix'].
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  17. #17
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 15
    Points : 3
    Points
    3
    Par défaut
    ça y j trouvé la solution


    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
    <html>
    <head>
    <title>Liste des sessions</title>
    <link href="style.css"rel="stylesheet"type="text/css">
    </head>
    <body>
    <?php
    if(isset($_POST['codecours']) and isset($_POST['MonChoix']) and !empty($_POST['MonChoix'])){
    $maconnexion =mysql_connect("localhost","***","****")
            or die("Connexion au serveur impossible");
    $db=mysql_select_db("danser",$maconnexion)
            or die("Sélection de la base de données impossible");
     
            //Récupération des variables  
            $Requete="Select cours.*,session.* From cours,session where cours.codecours=session.codecourssession and cours.codecours='".$_POST['MonChoix']."'";
            $Resultat=mysql_query($Requete)  
                                                               or die("Execution de la requete impossible");      
     
            echo "<h1 align='center'>liste des sessions</h1>";
            echo "<table align='center' border='5' width='35%'>";
            echo "<tr><th width='18%'>date du session</th><th width='10%'>periode de session</th><th width='10%'>le cours</th>";
     
            while($ligne=mysql_fetch_array($Resultat))
                            {      
                                            $cours=$ligne['libellecours'];
                                            $date=$ligne['datesession'];
                                            $periodesession=$ligne['periodesession'];
                                            $codecours=$ligne['codecours'];
                                            echo "<tr><td align='center'>$date</td><td align='center'>$periodesession</td><td align='center'>$cours</td>";
                                            }
            echo "</table>";  
    }
    else{
            echo'Merci de faire votre choix';      
    }
    ?>
    </body>
    </html>

  18. #18
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 187
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 187
    Points : 8 386
    Points
    8 386
    Billets dans le blog
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_POST['codecours']) and isset($_POST['MonChoix'])
    Peut être raccourcie en :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_POST['codecours'], $_POST['MonChoix'])
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

Discussions similaires

  1. Bouton submit grisé si AU MOINS une checkbox n'est pas cochée
    Par Equinoxe5 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/10/2011, 01h36
  2. Mon script pour Tester un bouton radio ne fonctionne pas.
    Par Invité dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 10/06/2011, 00h39
  3. Réponses: 4
    Dernier message: 17/04/2011, 10h40
  4. Bouton radio et label pas sur la même ligne
    Par mourbare dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 06/07/2009, 11h25
  5. mes boutons radio ne sont pas vérifiés
    Par seblille59 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 21/12/2008, 20h44

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