Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/11/2011, 16h34   #1
Invité régulier
 
Pierre ANTOINE
Inscription : novembre 2009
Messages : 34
Détails du profil
Informations personnelles :
Nom : Pierre ANTOINE

Informations forums :
Inscription : novembre 2009
Messages : 34
Points : 9
Points : 9
Par défaut Notice : Undefined variable

Bonjour,

Je récupère des données depuis un fichier xml pour les intégrer dans une base de données.
Dans chacun des fichier, j'ai soit une decription longue, soit une description courte.
Voila ce que je souhaite faire :
Si la courte existe, prends la courte, sinon, prends la longue

Voici mon code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
if($element["tag"] == "DESCRIPTION" && $element["attributes"]["TYPE"]=="16.02.28"){
	$descriptioncourte=$element["value"];
}
if($element["tag"] == "DESCRIPTION" && $element["attributes"]["TYPE"]=="16.02.30"){
	$descriptionlongue=$element["value"];
}
if (!empty($descriptioncourte)){
	$description_lang=$descriptioncourte;
}
else {
	$description_lang=$descriptionlongue;
}
Mon code fonctionne, mais par contre, j'ai une notice Notice: Undefined variable: descriptionlongue in ... et je ne vois pas comment m'en défaire. La notice s'affiche suite à l'import d'un fichier qui a une description courte, mais qui n'a pas de longue.
Pourriez-vous m'aider à m'expliquer pourquoi il affiche cette notice alors que la variable n'est pas censée exister puisque la description longue n'existe pas.

Merci d'avance
Pierrea4564 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 16h52   #2
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
Bonjour,

déclares tes variables avant :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
 
$descriptioncourte = $descriptionlongue = '';
 
if($element["tag"] == "DESCRIPTION" && $element["attributes"]["TYPE"]=="16.02.28"){
	$descriptioncourte=$element["value"];
}
if($element["tag"] == "DESCRIPTION" && $element["attributes"]["TYPE"]=="16.02.30"){
	$descriptionlongue=$element["value"];
}
if (!empty($descriptioncourte)){
	$description_lang=$descriptioncourte;
}
else {
	$description_lang=$descriptionlongue;
}
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2011, 10h13   #3
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
Salut,

tu dois utiliser la fonction isset pour vérifier l'existence ou pas de la variable.
__________________
Développeur | Zend Certified Engineer

Étapes Pour mieux se servir du forum:
1. Commencez par lire les cours et tutoriels ;
2. Faites une recherche;
3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

Nix>_Rien n'est plus pratique que la théorie
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2011, 10h19   #4
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 671
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 671
Points : 5 404
Points : 5 404
Attention également à la fonction empty : les valeurs considérées comme "vide" ne se limitent pas à null ou une chaine vide...
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h10.


 
 
 
 
Partenaires

Hébergement Web