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 :

Récupérer valeur checkbox - Erreur Notice


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 90
    Par défaut Récupérer valeur checkbox - Erreur Notice
    bonjour,
    je demande de l'aide. Voici mon formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <input type="checkbox" name="dispo_1" value="OUI">
    *Temps-plein
    <input type="checkbox" name="dispo_2" value="OUI">
    *Temps-partiel
    <input type="checkbox" name="dispo_3" value="OUI">
    *Int&eacute;rim
    <input type="checkbox" name="dispo_4" value="OUI">
    *CDI
    <input type="checkbox" name="dispo_5" value="OUI">
    *CDD
    <br><br>
    <input type="checkbox" name="dispo_6" value="OUI">
    *Peu importe
    je voudrai récupérer les valeurs de ces "checkbox" si ils sont cochés et les stockées dans une base. Jusqu’à maintenant tout fonctionnait bien mais depuis que je suis passé en php 6 j'ai ce message d'erreur:

    Notice: Undefined index: dispo_1 in C:\xampp\htdocs\sites\afibase.fr_php6\2_form_situation_emploi.php on line 401

    Notice: Undefined index: dispo_2 in C:\xampp\htdocs\sites\afibase.fr_php6\2_form_situation_emploi.php on line 401

    Notice: Undefined index: dispo_3 in C:\xampp\htdocs\sites\afibase.fr_php6\2_form_situation_emploi.php on line 401

    Notice: Undefined index: dispo_4 in C:\xampp\htdocs\sites\afibase.fr_php6\2_form_situation_emploi.php on line 401

    Notice: Undefined index: dispo_5 in C:\xampp\htdocs\sites\afibase.fr_php6\2_form_situation_emploi.php on line 402

    Notice: Undefined index: dispo_6 in C:\xampp\htdocs\sites\afibase.fr_php6\2_form_situation_emploi.php on line 402
    Pourtant chaque checkbox possède la valeur "OUI".
    Voici le script :

    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
     
    <?php
    if (isset($_POST['enregistrer']))
    {
    require ("Connect.php");
    @$db = new mysqli(SERVEUR, NOM, PASSE, BASE);
    if (mysqli_connect_errno())
    {
    echo "Impossible de se connecter à la base de données.";
    echo 'Échec de la connexion à la base : ' . mysqli_connect_error();
    exit;
    }
    $requete = "UPDATE profil SET dispo_1='$_POST[dispo_1]', dispo_2='$_POST[dispo_2]', dispo_3='$_POST[dispo_3]',dispo_4='$_POST[dispo_4]'
    , dispo_5='$_POST[dispo_5]',dispo_6='$_POST[dispo_6]' WHERE id='$_POST[id]'";
    $resultat = $db->query($requete);
    if ($resultat)
    {
    etc...
    $db->close();
    } 
    ?>
    Merci, soyez simple !!

  2. #2
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 872
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 872
    Par défaut
    Salut afibase.

    Vous vous êtes trompé de forum. Ici on ne traite que Mysql.
    Posez votre question dans le forum consacré à php + mysql.

    Citation Envoyé par afibase
    depuis que je suis passé en php 6
    Php 6, ça n'existe pas. Soit vous êtes en php 5.6.30, soit en php 7.0.17 ou encore 7.1.3 !

    @+

  3. #3
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 90
    Par défaut
    désolé agent secret, c'est bien PHP 7

  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
    Les valeurs n'existent que lorsque les cases sont cochées.
    Il faut donc mettre un test pour determiner si les cases sont cochées ou non
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dispo_1 = isset($_POST['dispo_1']) ? 'OUI' : 'NON';
    Au passage, pour un cas oui/non on enregistre un booléen.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 90
    Par défaut
    Je dois donc déclarer les variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $dispo_1 = isset($_POST['dispo_1']) ? 'OUI' : 'NON';
    $dispo_2 = isset($_POST['dispo_2']) ? 'OUI' : 'NON';
    $dispo_3 = isset($_POST['dispo_3']) ? 'OUI' : 'NON';
    etc...

  6. #6
    Membre du Club Avatar de Lagriffe6K
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 8
    Par défaut
    Je te conseille de modifier ton code comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <input type="checkbox" name="dispo[]" value="1">
    *Temps-plein
    <input type="checkbox" name="dispo[]" value="2">
    *Temps-partiel
    <input type="checkbox" name="dispo[]" value="3">
    *Int&eacute;rim
    <input type="checkbox" name="dispo[]" value="4">
    *CDI
    <input type="checkbox" name="dispo[]" value="5">
    *CDD
    <br><br>
    <input type="checkbox" name="dispo[]" value="0">
    *Peu importe
    Et dans ton PHP tu le tout dans un tableau, comme ça tu sais ce qui a été coché :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    //Fais un check avec var_dump et dis moi ce que tu obtiens... logiquement ça devrait suffire.
    var_dump( $_POST['dispo'] );
     
    ?>

Discussions similaires

  1. Récupérer valeur checkbox pour BDD
    Par JulienDevWeb dans le forum Langage
    Réponses: 3
    Dernier message: 24/01/2014, 17h10
  2. [MySQL] Récupérer valeur checkbox au changement de page
    Par Nesta92 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 11/04/2013, 16h45
  3. Problème pour récupèrer valeurs checkbox
    Par Thewil dans le forum Struts 2
    Réponses: 0
    Dernier message: 15/12/2009, 12h03
  4. Récupérer valeur checkbox si name variable ?
    Par Enhide dans le forum Langage
    Réponses: 10
    Dernier message: 31/03/2008, 17h10
  5. récupérer valeurs d'un CHECKBOX avec name=nom[]
    Par Mickael Scofild dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 28/08/2007, 08h16

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