Notice: Undefined index problème


sff
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 336
Inscription: 2 Fév 2005

Notice: Undefined index problème

Message le Sam Juil 11, 2009 14:47

Bonjour, j'ai un message d'erreur lorsque $_POST est vide. Voici le message :

Notice: Undefined index: checkbox_delete in...

J'aimerais éviter le fameux @. Avez-vous une solution ? Merci à tous

Code: Tout sélectionner
   if (isset($_POST['delete_x'])) {
      
      if($_POST["checkbox_delete"] == null){
         
      echo'...';
         
      }else{
         
         echo'...';
      }
}

jcaron
WRInaute accro
WRInaute accro
 
Messages: 2685
Inscription: 13 Fév 2004

Re: Notice: Undefined index problème

Message le Dim Juil 12, 2009 0:11

if (isset($_POST['checkbox_delete'])) peut-être?

Jacques.


MTroy
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 19
Inscription: 12 Juil 2009

Re: Notice: Undefined index problème

Message le Jeu Juil 16, 2009 14:25

($_POST["checkbox_delete"] == null) , remplaçable par (empty($_POST['checkbox_delete'])) (voir is_null())
Il faudrait nous donner plus de précisions avec la partie html pour t'aider , si tu n'as pas déjà solutionner ton problème.


yannouk
WRInaute passionné
WRInaute passionné
 
Messages: 2142
Inscription: 11 Oct 2003

Re: Notice: Undefined index problème

Message le Jeu Juil 16, 2009 17:30

"if($_POST["checkbox_delete"] == null)" c'est là qu'est le problème, avec les versions récentes de php, on ne peut pas utiliser une variable non declarée précédemment.
peut etre remplacer par ça: if(isset($_POST["checkbox_delete"]) && $_POST["checkbox_delete"] == null)
ou alors peut etre rajouter avant cette ligne:
if(!isset($_POST["checkbox_delete"]) $_POST["checkbox_delete"] == null;


MTroy
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 19
Inscription: 12 Juil 2009

Re: Notice: Undefined index problème

Message le Jeu Juil 16, 2009 19:13

yannouk a écrit:on ne peut pas utiliser une variable non declarée précédemment.
peut etre remplacer par ça: if(isset(

Empty teste à la fois si la variable n'existe pas, est vide ou nulle.

yannouk a écrit:if(isset($_POST["checkbox_delete"]) && $_POST["checkbox_delete"] == null)

Ben non, IsSet détermine si une variable est définie et est différente de null, hors dans ta condition tu testes
si elle est egale à null en meme temps que IsSet, ca colle pas.

Il y a trop d'imprécisions sur cette demande, il faudrait au moins savoir s'il utilise
des checkbox en tableau (checkbox_delete[]) ou bien seules.

Le code optimum est donc:
Code: Tout sélectionner
<?php

if(isset($_POST['delete_x']))
   if(isset($_POST['checkbox_delete']))
      echo (empty($_POST['checkbox_delete']))
         ? 'checkbox cochée est nulle':'checkbox cochée non nulle';
   else
      echo 'checkbox non cochée';

?>

<form method="post">
<input type="hidden" name="delete_x">
<input type="checkbox" name="checkbox_delete" value="0">null<br>
<input type="checkbox" name="checkbox_delete" value="5">non null<br>
<input type="Submit" value="OK">
</form>


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité