Notice: Undefined index [Résolu/Fermé]
Signaler
Sinistrus
Sinistrus
- Messages postés
- 1000
- Date d'inscription
- mercredi 12 décembre 2007
- Statut
- Membre
- Dernière intervention
- 24 octobre 2020
Sinistrus
- Messages postés
- 1000
- Date d'inscription
- mercredi 12 décembre 2007
- Statut
- Membre
- Dernière intervention
- 24 octobre 2020
A voir également:
- Notice: undefined index:
- Php notice: undefined index: - Meilleures réponses
- PHP - Notice : Undefined index - Conseils pratiques - PHP
- Php Notice: Undefined index: ✓ - Forum - PHP
- Notice: undefined index: id ✓ - Forum - Programmation
- Erreur Notice: Undefined index ✓ - Forum - PHP
- Notice: Undefined index ✓ - Forum - PHP
4 réponses
Xavierdu34
- Messages postés
- 216
- Date d'inscription
- lundi 2 décembre 2013
- Statut
- Membre
- Dernière intervention
- 10 octobre 2016
Bonjour,
Je ne comprends pas bien ta demande mais je vais tout de même tenter de te donner des éléments de réponse :
L'indication Notice (signifie que c'est une note, et non une erreur).
Ensuite undefined index, est un message qui apparaît lorsque tu fais référence à une clé d'un tableau inexistante ...
2 solutions :
- Soit tu trouves pourquoi cette référence n'existe pas, si c'est une erreur tu la corriges ....
- Soit cela arrive dans certains cas seulement, et donc tu dois tester la clé avant de l'appeler ... tu rajoutes donc un if(isset($tableau['clé'])) { ton code } else { // si la clé n'existe pas }
Ton code n'est pas très clair, à quoi sert :
?????
Cdlt.
Je ne comprends pas bien ta demande mais je vais tout de même tenter de te donner des éléments de réponse :
L'indication Notice (signifie que c'est une note, et non une erreur).
Ensuite undefined index, est un message qui apparaît lorsque tu fais référence à une clé d'un tableau inexistante ...
2 solutions :
- Soit tu trouves pourquoi cette référence n'existe pas, si c'est une erreur tu la corriges ....
- Soit cela arrive dans certains cas seulement, et donc tu dois tester la clé avant de l'appeler ... tu rajoutes donc un if(isset($tableau['clé'])) { ton code } else { // si la clé n'existe pas }
Ton code n'est pas très clair, à quoi sert :
if (isset($titre)) {$type;} if (isset($libelle)) {$libelle;}
?????
Cdlt.
Sinistrus
- Messages postés
- 1000
- Date d'inscription
- mercredi 12 décembre 2007
- Statut
- Membre
- Dernière intervention
- 24 octobre 2020
Comme précisé en MP, voici le code de la page :
<?php if(isset($data["Titre"])) {$Titre;} else {$data["Titre"]='';} if(isset($data["Libelle"])) {$Libelle;} else {$data["Libelle"]='';} if(isset($data["Intitule"])) {$Intitule;} else {$data["Intitule"]='';} if(isset($data["Titre"])) {$Details;} else {$data["Titre"]='';} if(isset($data["Titre"])) {$Inscription;} else {$data["Titre"]='';} /*----------------------------*/ $search = array('annonces', 'details', 'inscription', 'conseil', 'item'); $replace = array($Intitule, $Details, $Inscription, $Titre, $Libelle); /*----------------------------*/ $address = 'http://'.$_SERVER['HTTP_HOST']; if($location1 = substr(dirname($_SERVER['PHP_SELF']), 1)) $dirlist1 = explode('/', $location1); else $dirlist1 = array(); if($location2 = substr(dirname($_SERVER['PHP_SELF']), 1)) $dirlist2 = explode('/', $location2); else $dirlist2 = array(); $count1 = array_push($dirlist1, basename($_SERVER['PHP_SELF'])); $count2 = array_push($dirlist2, basename($_SERVER['PHP_SELF'].$_SERVER['REQUEST_URI'])); echo '<a href="#" onclick="javascript:history.back();" title="Page précédente"><span style="font-size:18px;" class="divider">«</span></a> <a href="'.$address.'" title="Page d\'accueil">Accueil</a>'; for($i = 0; $i < $count1; $i++) for($i = 0; $i < $count2; $i++) echo ' <span style="font-size:18px;" class="divider">»</span> <a href="'.($address.= '/'.$dirlist2[$i]).'">'.ucfirst(str_replace($search, $replace, $dirlist1[$i])).'</a>'; ?>
Xavierdu34
- Messages postés
- 216
- Date d'inscription
- lundi 2 décembre 2013
- Statut
- Membre
- Dernière intervention
- 10 octobre 2016
Déjà, pour clarifier ton code, tu peux remplacer tes lignes :
par
if(isset($data["Titre"])) {$Titre;} else {$data["Titre"]='';}
par
if(!isset($data["Titre"])) $data['Titre']='';
jordane45
- Messages postés
- 31566
- Date d'inscription
- mercredi 22 octobre 2003
- Statut
- Modérateur
- Dernière intervention
- 3 mars 2021
Bonjour,
En complément des réponses déjà données..... pense qu'il faut récupérer "proprement" les variables AVANT de les utiliser.
Pour se faire, tu peux utiliser l'écriture ternaire (une sorte de if...) avec un ISSET ou !EMPTY.
Par exemple :
Ce qui signifie :
En complément des réponses déjà données..... pense qu'il faut récupérer "proprement" les variables AVANT de les utiliser.
Pour se faire, tu peux utiliser l'écriture ternaire (une sorte de if...) avec un ISSET ou !EMPTY.
$mavariable = (mon teste) ? (reponse si teste = true ) : (reponse si teste = false);
Par exemple :
$type = isset($data_c["titre"]) ? $data_c["titre"] : NULL; $libelle = isset($data_d["libelle"]) ? $data_d["libelle"]: NULL;
Ce qui signifie :
// $type vaut : Si $data_c["titre"] existe ? $data_c["titre"] : sinon vaut "NULL" // $type vaut : Si $data_d["libelle"] existe ? $data_d["libelle"] : sinon vaut "NULL"
Sinistrus
- Messages postés
- 1000
- Date d'inscription
- mercredi 12 décembre 2007
- Statut
- Membre
- Dernière intervention
- 24 octobre 2020
Un grand merci à tous les deux !
Je crois que ça a fonctionné.
Jordan45, j'ai cherché partout comment déclarer une condition et j'ai pas trouvé...
je ne savais pas que ça pouvait se faire et surtout comment on appel ça :D
Merci beaucoup à tous les deux !
Je crois que ça a fonctionné.
Jordan45, j'ai cherché partout comment déclarer une condition et j'ai pas trouvé...
je ne savais pas que ça pouvait se faire et surtout comment on appel ça :D
Merci beaucoup à tous les deux !