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 :

Comment éviter les warnings lorsqu'une session n'est pas initialisée ?


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 5
    Points
    5
    Par défaut Comment éviter les warnings lorsqu'une session n'est pas initialisée ?
    Salut a tous,
    je lutte depuis trois semaines avec une erreur qui n'encourage pas un debutant de php. En effet, je suis entrain de faire un formulaire qui s'etant sur dix pages et pour cela, j'ai besoin de garder les postes variables dans les sessions afin de les envoyer plutard dans ma banque de donnees. J'ai constacte que lorsque je rempli le formulaire d'une page bien precise et j'envoie les donnees sur la page d'affichage, je recois bien evidemment les donnees qui ont ete saisies mais aussi cette erreur pour les questions qui n'ont pas ete cochees.
    erreur : par exemple

    Notice: Undefined index: ECTS_Punkte in c:\instantrails\www\test\umfragekapitel4.php on line 4
    Voici ce qui se trouve dans le fichier umfrageKapitel4.php a la ligne 4 :
    $_SESSION["ECTS_Punkte"] = $_POST['ECTS_Punkte'];

    Je vous en priee, aidez moi car cette erreur me donne depuis trois semaines des insomnies et je voudrais que cette tristesse s'arrete
    Merci a vous

  2. #2
    Membre averti Avatar de mdr_cedrick
    Profil pro
    Développeur multimédia
    Inscrit en
    Janvier 2008
    Messages
    374
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Janvier 2008
    Messages : 374
    Points : 336
    Points
    336
    Par défaut
    Citation Envoyé par fe0608 Voir le message
    Notice: Undefined index: ECTS_Punkte in c:\instantrails\www\test\umfragekapitel4.php on line 4
    Voici ce qui se trouve dans le fichier umfrageKapitel4.php a la ligne 4 :
    $_SESSION["ECTS_Punkte"] = $_POST['ECTS_Punkte'];
    cette ligne ne vient pas d'un problème de session (à vérifier quand même si tu utilises bien session_start() )
    mais vient du faire que la variable ECTS_Punkte n'existe pas, pense à vérifier l'orthographe de cette variable, est-ce que tu l'envoi en GET ou en POST ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par mdr_cedrick Voir le message
    cette ligne ne vient pas d'un problème de session (à vérifier quand même si tu utilises bien session_start() )
    mais vient du faire que la variable ECTS_Punkte n'existe pas, pense à vérifier l'orthographe de cette variable, est-ce que tu l'envoi en GET ou en POST ?
    J'utilise la methode POST et l'orthographe de ECTS_Punkte est correct.

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Un petit var_dump en début du script de récupération du formulaire et vérifie que ECTS_Punkte est bien passée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<pre>';
    var_dump($_POST);
    echo '</pre>';

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Celira Voir le message
    Un petit var_dump en début du script de récupération du formulaire et vérifie que ECTS_Punkte est bien passée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<pre>';
    var_dump($_POST);
    echo '</pre>';
    Salut,
    surtout je suis desole d'etre si absent! Je ne quitte plus mon ordi. En effet, j'ai fait ce que tu as dit et voici le resultat:
    array(2) {
    ["Verlangte_Ects_Punkte"]=>
    string(0) ""
    ["Andere"]=>
    string(0) ""
    }
    peux tu me dire s'il te plait comment l'interpreter ? Car je debute avec php. Et en plus cette notice est valable pour toutes variables de sessions qui appartienent au formulaire lorsque le formulaire est envoye vide. C' a. dire sans avoir coche aucune reponse.

  6. #6
    Membre averti Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Points : 434
    Points
    434
    Par défaut
    Bonjour,
    Si tu ne coches pas une case, la variable correspondante n'est pas envoyée. Il faut donc vérifier l'existence de cette variable.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if(isset($_POST[['ECTS_Punkte']))
    {
    $_SESSION["ECTS_Punkte"] = $_POST['ECTS_Punkte'];
    }
    else
    {
    $_SESSION["ECTS_Punkte"] = '';//ou 0 ou ce que tu veux qui signifie non coché
    }
    Voila,
    Sohnic

  7. #7
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par sohnic Voir le message
    Bonjour,
    Si tu ne coches pas une case, la variable correspondante n'est pas envoyée. Il faut donc vérifier l'existence de cette variable.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if(isset($_POST[['ECTS_Punkte']))
    {
    $_SESSION["ECTS_Punkte"] = $_POST['ECTS_Punkte'];
    }
    else
    {
    $_SESSION["ECTS_Punkte"] = '';//ou 0 ou ce que tu veux qui signifie non coché
    }
    Voila,
    Sohnic
    Merci Sohnic,
    ca marche. Je vais aussi l'utiliser pour les champs a question multiples. Enfin je
    peux sourire car il y a bien longtemps, je ne l'ai plus fait.
    A Bientot
    fe0608

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

Discussions similaires

  1. Comment éviter les doublons dans une ComboBox
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 27/07/2017, 16h03
  2. [xajax] comment éviter les warnings
    Par jaljal dans le forum Langage
    Réponses: 8
    Dernier message: 30/08/2009, 16h02
  3. [MySQL] Comment éviter les conflits dans une db ?
    Par Dendrite dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 08/12/2008, 13h28
  4. Réponses: 4
    Dernier message: 08/11/2006, 08h56
  5. [Conception] Comment éviter les redondances d’une variable
    Par bilane dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 14/09/2006, 10h54

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