Erreur notice avec return
Résolu
Smoking bird
Messages postés
911
Statut
Membre
-
Smoking bird Messages postés 911 Statut Membre -
Smoking bird Messages postés 911 Statut Membre -
Bonjour,
Je voudrais que lorsqu'une condition est vérifiée, le script termine son exécution, sans utiliser die() mais plutôt l'instruction return.
Voici mon code:
Il se trouve que ce script me génère l'erreur suivante:
Notice: Undefined offset: 0 in /home/www/smoke/www/projects/secretExhibition/tools.php on line 75
Notice: Undefined offset: 1 in /home/www/smoke/www/projects/secretExhibition/tools.php on line 75
la ligne 75 correspondant précisément au return.
J'ai googlisé mon problème sans trouver la moindre réponse, et j'aimerais bien savoir à quoi cette notice est dûe.
Quelqu'un aurait il une idée?
Smoke
Je voudrais que lorsqu'une condition est vérifiée, le script termine son exécution, sans utiliser die() mais plutôt l'instruction return.
Voici mon code:
foreach($_POST as $key=>$vars){
if($key=='psw'){
$objPSW=new psw(array( $_POST['psw'],$_POST['pswC']));
list($psw,$pswC)=$objPSW->changed();
if($pswC!==$psw){
$profile=new profile();
$profile->edit(element::verbose(array('psw','Le mot de passe ne correspond pas au code de confirmation')));
return;
}
continue;
}
$name=$key;
${$name}=string::inString($vars);
}
Il se trouve que ce script me génère l'erreur suivante:
Notice: Undefined offset: 0 in /home/www/smoke/www/projects/secretExhibition/tools.php on line 75
Notice: Undefined offset: 1 in /home/www/smoke/www/projects/secretExhibition/tools.php on line 75
la ligne 75 correspondant précisément au return.
J'ai googlisé mon problème sans trouver la moindre réponse, et j'aimerais bien savoir à quoi cette notice est dûe.
Quelqu'un aurait il une idée?
Smoke
3 réponses
J'ai un vague souvenir d'une erreur comme ça.
Je te promet donc pas THE solution mais une erreur comme ça c'est pas un problème d'indice dans des tableaux ?
Je te promet donc pas THE solution mais une erreur comme ça c'est pas un problème d'indice dans des tableaux ?
pas sûr, mais c'est possible^^
en tous cas j'ai amélioré mon script, il n'était pas très correct, et l'erreur a disparu. Maintenant j'ai:
Notice: Undefined variable: errors in /home/www/smoke/www/projects/secretExhibition/tools.php on line 110
Fatal error: Cannot access empty property in /home/www/smoke/www/projects/secretExhibition/tools.php on line 110
il s'agit de la classe:
en tous cas j'ai amélioré mon script, il n'était pas très correct, et l'erreur a disparu. Maintenant j'ai:
Notice: Undefined variable: errors in /home/www/smoke/www/projects/secretExhibition/tools.php on line 110
Fatal error: Cannot access empty property in /home/www/smoke/www/projects/secretExhibition/tools.php on line 110
il s'agit de la classe:
class verbose {
public $errors;
public $type;
function __construct($errors,$type){
$this->errors=$errors;
$this->type=$type;
}
function display(){
if($this->errors){
switch($this->type){
case 'liste':
self::liste();
break;
case 'message':
self::message();
break;
default:
self::message();
break;
}
}else{
return;
}
}
function liste(){
foreach($this->errors as $key=>$obj){
if( !$_POST[$key] ) $verbose.="<br />$obj est manquant.";
}
if( !$verbose ){
return;
}else{
return $verbose;
}
}
function message(){
$verbose=$this->$errors;//ligne 110
echo $verbose;
}
}