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 :

message d'erreur dans session


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2011
    Messages : 48
    Points : 22
    Points
    22
    Par défaut message d'erreur dans session
    Bonsoir
    Un nouveau problème se pose a moi.
    Voici le code
    page.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
    <?php
    session_start();
     
    ?>
    <FORM method="POST">
       <input type="checkbox" name="choix1" id="1"><label for="1">Dossier 1</label><br>
       <input type="checkbox" name="choix2" id="2"><label for="2">Dossier 2</label><br>
       <input type="checkbox" name="choix3" id="3"><label for="3">Dossier 3</label><br>
       <input type="Submit" value="Valider">
    </FORM>
    <br><br>
    <?php
     if(isset($_POST["choix1"])) { 
       $choix1 = "Le choix 1 a été selectionné 
       <br>";
    	echo $choix1; 
     }
     
     if(isset($_POST["choix2"])) { 
       $choix2 = "Le choix 2 a été selectionné 
       <br>";
       echo $choix2;
     }
     
     if(isset($_POST["choix3"])) { 
       $choix3 = "Le choix 3 a été selectionné 
       <br>";
       echo $choix3;
     }
    $_SESSION['choix1'] = $choix1;
    $_SESSION['choix2'] = $choix2;
    $_SESSION['choix3'] = $choix3;
     ?>
     <br>
     <a href="page1.php">suite</a>
    et le code page1.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    session_start();
     
    if ( isset($_SESSION['choix1']) OR isset($_SESSION['choix2']) OR isset($_SESSION['choix3']))
    {
    echo $_SESSION['choix1'];
    echo $_SESSION['choix2'];
    echo $_SESSION['choix3'];
    }
    else{
    header('Location: page.php');
    }
    ?>
    Donc je met en session les valeur de la / les checkbox.
    Ca fonctionne très bien, sauf que sur la page.php, j'ai systématiquement ce message d'erreur:
    Notice: Undefined variable: choix1 in E:\A_PC PORTABLE\www\choix des dossiers\page.php on line 30
    Notice: Undefined variable: choix2 in E:\A_PC PORTABLE\www\choix des dossiers\page.php on line 31
    Notice: Undefined variable: choix3 in E:\A_PC PORTABLE\www\choix des dossiers\page.php on line 32

    Une idée svp???

  2. #2
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    Bonjour,

    déclares tes variables comme suit par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $choix1 = $choix2 = $choix3 = '';
     
    if(isset($_POST["choix1"])) { 
    ...
    Le message t'indique simplement que les variables ne sont pas définies.
    Le savoir est utile que s'il est partagé par tous.
    /(bb|[^b]{2})/
    !sleep() ? array((string))

  3. #3
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    Le message d'erreur est logique.
    Vous avez un formulaire suivi immédiatement par son traitement en php.
    Or php est un langage du coté serveur. Donc au moment de l'envoi du html vers le client, aucune donnée ne saurait avoir été transmise au serveur et donc il n'y aura jamais rien dans les différentes variables .

    Voici ce que je vous propose pour page.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
    36
    37
    38
    <?php
    session_start();
    if (!isset($_POST[' sub'])){
    ?>
    <FORM method="POST">
       <input type="checkbox" name="choix1" id="1"><label for="1">Dossier 1</label><br>
       <input type="checkbox" name="choix2" id="2"><label for="2">Dossier 2</label><br>
       <input type="checkbox" name="choix3" id="3"><label for="3">Dossier 3</label><br>
       <input type="Submit" name="sub" value="Valider">
    </FORM>
    <br><br>
    <?php
    }
    else{
     if(isset($_POST["choix1"])) { 
       $choix1 = "Le choix 1 a été selectionné 
       <br>";
    	echo $choix1; 
     }
     
     if(isset($_POST["choix2"])) { 
       $choix2 = "Le choix 2 a été selectionné 
       <br>";
       echo $choix2;
     }
     
     if(isset($_POST["choix3"])) { 
       $choix3 = "Le choix 3 a été selectionné 
       <br>";
       echo $choix3;
     }
    $_SESSION['choix1'] = $choix1;
    $_SESSION['choix2'] = $choix2;
    $_SESSION['choix3'] = $choix3;
    }
     ?>
     <br>
     <a href="page1.php">suite</a>
    Accessoirement, la pagep1.hp devient superflue, le traitement peut être fait dans la première page.
    Qouique, je préfère nettement séparer les pages d'affichage des pages de traitement.

    Bonne continuation
    Lu kinze d' awousse, la Vierje arandje û dusbrôle lu timp.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2011
    Messages : 48
    Points : 22
    Points
    22
    Par défaut
    Tout d'abord, merci de vos réponses

    syl2095=> Les messages d'erreur ont disparu, par contre, lorsqu'il n'y a aucune checkbox cochées, la redirection ne se fait pas et je me retrouve sur page1.php.

    papyphp=> J'ai les mêmes messages d'erreur mais seulement une fois que la checkbox a été validée.

    Je cherche encore et encore..

Discussions similaires

  1. Afficher un message d'erreur dans une fenêtre popup
    Par Quickeno dans le forum Langage
    Réponses: 7
    Dernier message: 08/10/2006, 01h56
  2. Réponses: 4
    Dernier message: 24/08/2006, 10h19
  3. message d'erreur dans sous formulaire
    Par tojiji dans le forum Access
    Réponses: 6
    Dernier message: 28/07/2006, 12h09
  4. Message d'erreur dans phpMyadmin
    Par riadh100 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 26/09/2005, 14h03
  5. [Tiles]message d'erreur dans un footer (form mal rempli)
    Par clement42 dans le forum Struts 1
    Réponses: 5
    Dernier message: 09/06/2005, 14h51

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