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 :

Erreur sur validation de checkbox


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut Erreur sur validation de checkbox
    Encore moi.
    Cette fois c'est un problème de checkbox.

    Dans mon fichier fonctions.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //vérifie si un type d'action est sélectionné (page 2)
    function est_selectionne_action($option) {
        if (!isset($_POST['action'])) {
                return FALSE;
        }
        for ($i = 0, $c = count($_POST['action']); $i < $c; $i++) {
            if ($_POST['action'][$i] == $option) {
                return TRUE;
            }
        }
        return FALSE;
    }
    dans mon fichier dossier_candidature.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
    $action = "";
    if (isset($_POST['action'])){
        for ($i = 0, $c = count($_POST['action']); $i < $c; $i++) {
            $action .= "" . $_POST['action'][$i] . ",";
        }
    	$action= substr($action,0,strlen($action)-1);
    }
    else {
    	$action="";
    }
    ?>
    <td>
    	<input type="checkbox" name="action[]" value="ponctuelle" <?php if(est_selectionne_action("ponctuelle")) { echo 'checked'; } else if(!empty($action)){ if(in_array("ponctuelle",$action)) { echo 'checked'; }} ?> style="margin-left:60px"/>- ponctuelle<br />
    	<input type="checkbox" name="action[]" value="programme" <?php if(est_selectionne_action("programme")) { echo 'checked'; } else if(!empty($action)){ if(in_array("programme",$action)) { echo 'checked'; }} ?> style="margin-left:60px"/>- inscrite dans un programme<br />
    	<input type="checkbox" name="action[]" value="interactive" <?php if(est_selectionne_action("interactive")) { echo 'checked'; } else if(!empty($action)){ if(in_array("interactive",$action)) { echo 'checked'; }} ?> style="margin-left:60px"/>- interactive<br />						
    	<input type="checkbox" name="action[]" value="poursuite" <?php if(est_selectionne_action("poursuite")) { echo 'checked'; } else if(!empty($_action)){ if(in_array("poursuite",$action)) { echo 'checked'; }} ?> style="margin-left:60px"/>- appelée à se poursuivre<br />
    	<input type="checkbox" name="action[]" value="reproductible" <?php if(est_selectionne_action("reproductible")) { echo 'checked'; } else if(!empty($action)){ if(in_array( "reproductible",$action)) { echo 'checked'; }} ?> style="margin-left:60px"/>- reproductible<br />
    	<input type="checkbox" name="action[]" value="terminee" <?php if(est_selectionne_action("terminee")) { echo 'checked'; } else if(!empty($action)){ if(in_array("terminee",$action)) { echo 'checked'; }} ?> style="margin-left:60px"/>- terminée<br />
    </td>
    Je ne vois pas pourquoi j'obtiens ce message d'erreur quand une case n'est pas coché.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Warning: in_array(): Wrong datatype for second argument in c:\weblocal\sites\clubeuropeendelasante\prix_sante\appels\formulaire_candidature.php on line 569
    style="margin-left:60px"/>- interactive
    J'avais déjà utilisé tout ça por un autre site et ça marchait.

  2. #2
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Bonjour,

    Si tu n'avais pas ce message avant c'est probablement que tu n'avais pas le même niveau de remontée des erreurs (en fait, c'est un avertissement, donc un niveau très faible d'erreur).

    Le message te signale que le deuxième argument passé à la fonction in_array() n'est pas du bon type. Ca devrait être un tableau, et tu lui passes une chaîne de caractères ($action).

    Le plus simple dans ton cas, c'est de simplement faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $action = array();
    if (isset($_POST['action'])){
        $action = $_POST['action'];
    }

  3. #3
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut
    Merci, ça marche

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

Discussions similaires

  1. erreur sur validation d'un champ attributs
    Par nathanael.verhaeghe dans le forum Odoo (ex-OpenERP)
    Réponses: 2
    Dernier message: 02/08/2013, 10h38
  2. Erreur sur validation fichier afin de le convertir en lien
    Par cavrom dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 18/04/2011, 16h51
  3. [SPRING MVC]Erreur sur un Integer dans un Validator
    Par manuzinho dans le forum Spring Web
    Réponses: 2
    Dernier message: 31/08/2007, 15h58
  4. erreur sur un checkbox
    Par Zen_Fou dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/12/2006, 11h32
  5. [Validator] Erreur sur validation d'url
    Par fif10 dans le forum Struts 1
    Réponses: 8
    Dernier message: 24/06/2006, 21h26

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