Erreur Notice: Undefined index [Résolu/Fermé]

Signaler
Messages postés
407
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
6 février 2020
-
Messages postés
407
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
6 février 2020
-
Bonjour,
Un petit sooucis j'ai cette erreur en fait j'hésite à désactiver les erreurs des Notices c'est dommage mais bon.....
J'ai essayé de faire un isset mais ca ne le fait pas.
Pouvez-vous m'aider s'ils vous plait.
Merci
Notice: Undefined index: a in...

$action = 'new';               
if($_GET['a']) { $a = $_GET['a']; } 
if(isset($_GET['idclas'])) { $idclas = $_GET['idclas']; }

switch($a) {
	case 'new': $action = 'new';  break; 
	case 'ls' : $action = 'list'; break;
	case 'mod': $action = 'mod';  break;
	default   : $action = 'new';  break;
}

3 réponses

Messages postés
31458
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 février 2021
3 277
Messages postés
14769
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
13 février 2021
277
Déjà remplace
if($_GET['a'])
par
if(isset($_GET['a']))

De plus, tes 2 variables, si les paramètres GET ne sont pas définit, ne sont jamais initialisées, cela te générera un avertissement aussi.

Ajoute juste :
$a=...;
$idclas=...;

avec des valeurs par défaut cohérentes.
Messages postés
31458
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 février 2021
3 277
Plus simple...
Comme indiqué dans le lien que j'ai donné, l'écriture ternaire simplifie l'initialisation des variables.

$a = !empty($_GET['a']) ? $_GET['a'] : NULL;
$idclas = !empty($_GET['idclas'] ? $_GET['idclas'] : NULL;
Messages postés
407
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
6 février 2020
29
Bonjour
Je te remercie.
Cordialement.