IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Nom de variable


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 19
    Points : 8
    Points
    8
    Par défaut Nom de variable
    Bonjour,

    J'ai un fichier texte où je stocke des données
    (titreConference|laConference|
    dateConference|2019-02-05|
    etc).

    Je récupère tout cela avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while($ligneActuelle[0] != ""){
    		${$ligneActuelle[0]} = $ligneActuelle[1];
    		$ligneActuelle = explode('|',fgets($fichierDataExodus));
    	}
    echo $titreConference."/".$dateConference;
    Le problème, c'est que j'ai l'erreur suivante :
    Notice: Undefined variable: titreConference
    C'est la première ligne de mon fichier texte, j'ai alors échangé de place la 1er et la deuxième ligne, et là, j'ai l'erreur :
    Notice: Undefined variable: DateConference
    J'ai rien changé à part échanger les deux lignes, donc je me suis dit que l'erreur venait de la 1er ligne du fichier, que fopen avait un problème ou quelque chose comme ça. J'ai alors rajouté un "|" plus un saut de ligne à la 1er ligne du fichier. Là aucun problème, mais écrire le fichier avec un "|" au début, me pose soucis plus loin (en soit je pourrai juste rajouter un fgets pour sauter la 1er ligne, mais ça fait un peu bidouillage et puis là n'est pas le problème).
    Je décide d'insister sur cette variable qui pose soucis. Je décide de copier coller le 'titreConference' de l'erreur, et de le coller dans mon echo, et là... ça fonctionne.... quand je double clic sur "titreConference" que j'ai copié de l'erreur, il ne reconnait pas les "titreConference" que moi j'ai écris, est ce qu'il y a une explication? Je suis entrain de m'arracher les cheveux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    echo $titreConference; 
    echo $titreConference;
    Quoi... je viens de me rendre compte dans la prévisualisation, il y a "$ & # 65279" qui s'ajoute alors que dans mon code j'ai juste $titreConference... je suis totalement perdu ><
    Pourtant avec tout le reste du fichier j'ai aucun problème

    1er ligne à la main, 2ième ligne copier coller, le résultat :
    Notice: Undefined variable: titreConference
    laConference
    Je suis perdu, quelqu'un à des explications ??

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    J'ai récris le fichier en PHP, c'est bon ça remarche; mais personne aurait une explication ?

  3. #3
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
     est l'entité html qui représente l'espace insécable de largeur nulle (U+FEFF ZERO WIDTH NO-BREAK SPACE), ce caractère invisible par nature se laisse facilement copier/coller sans qu'on le remarque, et il devait être dans ton fichier. Voilà pourquoi le résultat est différent avec un copier/coller et une écriture "à la main".
    Pour débusquer ce genre de truc (un caractère invisible, un BOM, un octet qui traîne), tu peux utiliser un éditeur hexadécimal. Il y en a d'ailleurs un qui fonctionne en ligne: https://hex-works.com/eng.

    NB: plutôt que de créer des variables dynamiquement, ce qui est un trou de sécurité et pollue l'espace de nom, tu devrais placer tes valeurs dans un tableau associatif dont les clefs seraient issues de la première colonne.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Merci pour le site même si je comprends pas trop comment ça fonctionne ^^'' je verrai bien.

    Oui c'est une bonne idée, mais je sais pas si dans mon cas ça soit vraiment utile... pour l'instant je suis au début du projet au va dire, disons que la sécurité c'est pas la priorité surtout pour ce que je fais x).
    Je garde ton idée sous le bras, je vais sûrement l'appliquer plus tard merci

Discussions similaires

  1. [VB.Net] Créer dynamiquement un nom de variable
    Par chuck_m dans le forum ASP.NET
    Réponses: 5
    Dernier message: 20/07/2005, 15h08
  2. Nom de variable dans une autre variable
    Par lsdInside dans le forum Linux
    Réponses: 5
    Dernier message: 04/12/2004, 19h36
  3. [SQL SERVER 2000] Noms de variables dynamiques
    Par cassoulet dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 08/09/2004, 11h44
  4. Nom de variable
    Par lilia dans le forum Flash
    Réponses: 4
    Dernier message: 07/08/2004, 13h11
  5. Generer des noms de variables avec une boucle
    Par moutanakid dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/07/2004, 17h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo