PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > fr.comp.lang.php > variable de session firefox
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
variable de session firefox

Réponse
 
LinkBack Outils de la discussion
Vieux 08/07/2007, 14h23   #1
desbutes
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut variable de session firefox

bonjour,
J'ai cherché un peu partout concernant firefox et sa gestion des
sessions mais ,en vain je poste
j'ai un script inscription.php dans lequel je crée 3 variables de
sessions $_SESSION[truc]$_SESSION[truc1]$_SESSION[truc2] et un
formulaire.
UNe autre page s'occupe de l'insert dans table mysql des valeurs du
form de la premiere page.Le session start() est active dans les deux
pages et alors que dans IE7 tout fonctionne ,dans FIREFOX ,une des 3
variables de session n'est pas reconnue.
Lorsque j'utilise l'extension IE TAB DANS FIREFOX CA MARCHE...
que peut donc t-il se passer dans Firefox pour que cette variable ne
passe pas ?
page1
$monnumero=$_POST['rne_ecole'];
$_SESSION['number']=$monnumero;
echo" inscription.php , le rne est
'$_SESSION[number]'<br />";/la variable s'affiche

page2
pour controiler j'ai rajouté ces lignes
if(isset($_SESSION['number']))
{
echo"la variable de session rne est '$_SESSION[number]' ";

}
else
{
echo "la variable n'est pas définie";

}
et la variable '$_SESSION[number]' est reconnue comme non définie
merci bcp

--

cordialement
desbutes
  Réponse avec citation
Vieux 08/07/2007, 19h41   #2
Sebastiaan 'CrashandDie' Lauwers
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: variable de session firefox

desbutes wrote:
> bonjour,


Bonjour,

> if(isset($_SESSION['number']))


Ca, c'est bon

> echo"la variable de session rne est '$_SESSION[number]' ";


Mais, c'est là que ça part en sucette

echo "La variable de session rne est '{$_SESSION['number']}'";

> et la variable '$_SESSION[number]' est reconnue comme non définie


Normal, $_SESSION[number] fait référence à l'indice du tableau number,
qui est considéré comme une constante, parceque pas entouré de quotes...

$_SESSION['number'] fonctionnera bien mieux

> merci bcp


Derien

S.
  Réponse avec citation
Vieux 08/07/2007, 20h01   #3
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: variable de session firefox

Le 08/07/2007 20:41, Sebastiaan Lauwers répondait à desbutes :
>
>> if(isset($_SESSION['number']))

>
> Ca, c'est bon


Oui.

>> echo"la variable de session rne est '$_SESSION[number]' ";

>
> Mais, c'est là que ça part en sucette


Non, pas du tout ! Si ce n'est peut-être l'espace avant le guillemet
(mais je ne suis pas sûr que ça gêne), cette syntaxe est parfaitement
correcte.

La chaîne entre guillemets doubles contient :
1) la séquence "la variable de session rne est "
2) un guillemet simple "'"
3) un élément de tableau "$_SESSION[number]"
4) un guillemet simple "'"
5) une espace " ".

La syntaxe utilisée en (3) est en elle-même parfaitement valide :
http://www.php.net/manual/fr/languag...parsing.simple

> echo "La variable de session rne est '{$_SESSION['number']}'";


Oui, cette syntaxe est correcte aussi, mais ni plus ni moins que celle
sans accolades et sans guillemets supplémentaires.

>> et la variable '$_SESSION[number]' est reconnue comme non définie

>
> Normal, $_SESSION[number] fait référence à l'indice du tableau number,
> qui est considéré comme une constante, parceque pas entouré de quotes...


Nenni. Les « quotes » comme tu dis sont bien présents, au début et à la
fin de la chaîne (comme pour toute chaîne de caractères, d'ailleurs).

> $_SESSION['number'] fonctionnera bien mieux


Seulement si tu rajoutes des accolades. Sans les accolades, il ne *faut*
pas rajouter de guillemets simples en plus des guillemets doubles.

>> merci bcp

>
> Derien


Désolé.
  Réponse avec citation
Vieux 08/07/2007, 22h20   #4
desbutes
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: variable de session firefox

RE
merci de vos réponses

if(isset($_SESSION['number'])) -> si la syntaxe est bonne ,et si la
variable était définie ,le script m'aurait affiché au moins "La
variable de session rne est" avec rien de plus car là ma syntaxe est
peut être mauvaise
Or ce n'est pas le cas, car il me dit qu'elle n'est pas définie.
J'ai essayé les deux écritures et il me dit tjs que ma $_SESSION[]n'est
pas définie
Mais sinon pour récapituler ce que vous avez écrit
Pour afficher une variable du type $GET_[] $POST_[] $SESSION[] dans une
chaîne de caractères , on a le choix entre
echo" texte "{$GET_['variable']}" fin texte ";
ou
echo" texte '$GET_[variable]' fin texte ";
D'accord?
>Je n'ai plus sous Firefox qu'a faire des champs "hidden" pour passer mes
> variables mais c'est long

et surtout ca me fait moins avancer dans le php
et ca ne me dit pas pourquoi ca fonctionne sous IE7 ET PAS SOUS firefox
Moi qui prone Firefox autour de moi....
>Olivier

tu dis qu'il ne faut pas rajouter de quotes simples à l'interieur de
quotes doubles ,mais dans echo" texte '$GET_[variable]' fin texte ";
Il y a bien des quotes simples à l'intérieur de quotes doubles?
bon en tout cas MERCI

--

cordialement
desbutes
  Réponse avec citation
Vieux 08/07/2007, 22h34   #5
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: variable de session firefox

Le 08/07/2007 23:20, desbutes a écrit :
>
> if(isset($_SESSION['number'])) -> si la syntaxe est bonne ,et si la
> variable était définie ,le script m'aurait affiché au moins "La
> variable de session rne est" avec rien de plus car là ma syntaxe est
> peut être mauvaise
> Or ce n'est pas le cas, car il me dit qu'elle n'est pas définie.
> J'ai essayé les deux écritures et il me dit tjs que ma $_SESSION[]n'est
> pas définie


Je n'ai pas la réponse à ta question initiale, rappelée ici. Je réponds
juste au reste.

> Mais sinon pour récapituler ce que vous avez écrit
> Pour afficher une variable du type $GET_[] $POST_[] $SESSION[] dans une
> chaîne de caractères , on a le choix entre
> echo" texte "{$GET_['variable']}" fin texte ";


Non, là tu auras une erreur de syntaxe (après la première chaîne
" texte " l'interpréteur devrait attendre un point-virgule ( ou
un point (.) mais pas une accolade ({).

> ou
> echo" texte '$GET_[variable]' fin texte ";


Oui, sauf que c'est $_GET et pas $GET_. Et encore une fois je séparerais
l'instruction « echo » du premier guillemet par une espace.

> D'accord?


Modulo ce que j'ai dit plus haut.

>>Je n'ai plus sous Firefox qu'a faire des champs "hidden" pour passer mes
>> variables mais c'est long

> et surtout ca me fait moins avancer dans le php


De même que tu devrais insérer des espaces entre les instructions pour
rendre ton code plus lisible, tu devrais insérer des lignes vides entre
ce que tu cites et ce que tu écris pour rendre tes articles plus lisibles.

> et ca ne me dit pas pourquoi ca fonctionne sous IE7 ET PAS SOUS firefox
> Moi qui prone Firefox autour de moi....


Pas d'idée.

>>Olivier


Tu cites Sebastian, là ? Pourtant il n'a pas écrit ça. Ou alors c'est
que tu veux t'adresser à moi, mais là encore cette façon de faire n'est
pas très lisible.

> tu dis qu'il ne faut pas rajouter de quotes simples à l'interieur de
> quotes doubles ,


Je n'ai jamais dit ça. Et Sebastian non plus d'ailleurs.

> mais dans echo" texte '$GET_[variable]' fin texte ";
> Il y a bien des quotes simples à l'intérieur de quotes doubles?


Oui, il y a. Et comme j'ai dit que cette syntaxe était correcte (du
moment que le tableau s'appelle $GET_ et pas $_REQUEST), cela ne me
choque pas. Quant à Sebastian, ce qui le choquait c'était le contraire :
il voulait rajouter encore des guillemets simples et des accolades.


Cordialement,
--
Olivier Miakinen
  Réponse avec citation
Vieux 09/07/2007, 07h37   #6
Sebastiaan 'CrashandDie' Lauwers
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: variable de session firefox

Olivier Miakinen wrote:

> Non, pas du tout ! Si ce n'est peut-être l'espace avant le guillemet
> (mais je ne suis pas sûr que ça gêne), cette syntaxe est parfaitement
> correcte.


Ah ?


> La syntaxe utilisée en (3) est en elle-même parfaitement valide :
> http://www.php.net/manual/fr/languag...parsing.simple


Et bha, merci de me sortir de mon ignorance... J'avoue que je n'avais
jamais vu cette façon de faire, et c'est pour ça que j'en ai conclus
d'une mauvaise utilisation... Surtout quand il a signalé:

<cit.>
et la variable '$_SESSION[number]' est reconnue comme non définie
</cit.>

>> echo "La variable de session rne est '{$_SESSION['number']}'";

>
> Oui, cette syntaxe est correcte aussi, mais ni plus ni moins que celle
> sans accolades et sans guillemets supplémentaires.


J'ai toujours utilisé celle-ci, j'étais dans l'ignorance totale que le
fait d'enfermer un tableau dans des simples quotes, eux mêmes dans des
doubles quotes, permettait de l'afficher correctement...

Je me permets cependant de dire, que de mon point de vue de neuneu
invétéré, qu'utiliser la même syntaxe (e.g.: $tableau['clef'], avec
guillemets simples dedans et tout et tout), et donc d'uniformiser le
code peut être plus intéressant que d'avoir des différences minimes ça
et là...

> Nenni. Les « quotes » comme tu dis sont bien présents, au début et à la
> fin de la chaîne (comme pour toute chaîne de caractères, d'ailleurs).


Mouais...

> Seulement si tu rajoutes des accolades. Sans les accolades, il ne *faut*
> pas rajouter de guillemets simples en plus des guillemets doubles.


cf ma remarque au dessus (autant "Mouais..." que celle encore au dessus)

> Désolé.


Y'a pas de mal.

S.
  Réponse avec citation
Vieux 09/07/2007, 08h02   #7
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Tableau dans une chaine [Fut : variable de session firefox]

Le 09/07/2007 08:37, Sebastiaan 'CrashandDie' Lauwers a écrit :
>
>> La syntaxe utilisée en (3) est en elle-même parfaitement valide :
>> http://www.php.net/manual/fr/languag...parsing.simple

>
> Et bha, merci de me sortir de mon ignorance... J'avoue que je n'avais
> jamais vu cette façon de faire, et c'est pour ça que j'en ai conclus
> d'une mauvaise utilisation...


Si ça peut te rassurer, tu n'es pas le seul. Moi-même j'y ai regardé à
deux fois en lisant son article, pour vérifier si oui ou non sa syntaxe
était correcte. Note que j'ai regardé d'aussi près ta proposition de
remplacement pour vérifier si elle était correcte, elle aussi. Les deux
le sont.

>>> "la variable de session rne est '$_SESSION[number]' "

>
> [...] j'étais dans l'ignorance totale que le
> fait d'enfermer un tableau dans des simples quotes, eux mêmes dans des
> doubles quotes, permettait de l'afficher correctement...


Mais l'élément de tableau n'est *pas* enfermé dans des guillemets
simples ! Ceux-ci font juste partie de la chaîne de caractères entre
guillemets doubles, à côté de l'élément de tableau !

Voici quatre exemples pour te convaincre que chaque ' entre "" n'est
qu'un MACHIN quelconque auquel il ne faut pas attribuer de signification
particulière :
"MACHIN"
"'"
"la variable de session rne est MACHIN$_SESSION[number]MACHIN "
"la variable de session rne est '$_SESSION[number]' "

Dans le troisième exemple, dirais-tu que c'est le fait que le tableau
soit enfermé dans des MACHIN eux-mêmes dans des " qui en change la
syntaxe ?

> Je me permets cependant de dire, que de mon point de vue de neuneu
> invétéré, qu'utiliser la même syntaxe (e.g.: $tableau['clef'], avec
> guillemets simples dedans et tout et tout), et donc d'uniformiser le
> code peut être plus intéressant que d'avoir des différences minimes ça
> et là...


C'est un point de vue défendable, je suis entièrement d'accord avec
toi sur ce point. Et là encore tu n'es pas le premier à trouver cette
syntaxe plus lisible. Quoi qu'il en soit c'est surtout une question de goût.
  Réponse avec citation
Vieux 10/07/2007, 15h51   #8
Sebastiaan 'CrashandDie' Lauwers
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Tableau dans une chaine [Fut : variable de session firefox]

Olivier Miakinen wrote:

> Voici quatre exemples pour te convaincre que chaque ' entre "" n'est
> qu'un MACHIN quelconque auquel il ne faut pas attribuer de signification
> particulière :
> "MACHIN"
> "'"
> "la variable de session rne est MACHIN$_SESSION[number]MACHIN "
> "la variable de session rne est '$_SESSION[number]' "


Ok, donc si je comprends bien, quand un $tableau est dans une chaine de
caractères parsée ("", ou HEREDOC), il ne faut plus mettre de simples
quotes pour limiter la nom de la clef, c'est ça ?

Alors qu'est ce qui se passe si j'ai ceci:

<?php

define ('premier', 1);
$foo = array ('premier element',
'premier' => 'premier element',
'deuxieme element',
'deuxieme' => 'deuxieme element');

echo "ceci est le 'premier' element du tableau: '$foo[premier]' <br />\n";
echo "ceci est le 'premier' element du tableau: '" . $foo[premier] .
"'<br />\n";

?>

Est-ce que c'est la constante qui prend le dessus, parceque là ça
devient franchement trouble, j'avoue... Je reste persuadé que le fait
d'encapsuler tous les tableaux dans des accolades, et la clef d'index
dans des simples ou doubles quotes, dépendant de ce dont on a besoin
(clef d'index variable avec partie fixe, genre $tableau["mon$index"]),
et aucun quotes du tout quand c'est une valeur numérique ou une
constante, bha ça reste quand même bien plus lisible... (cela dit, celui
qui fout $tableau["mon$index"] devrait prendre des cours de lisibilité,
j'admets).

> Dans le troisième exemple, dirais-tu que c'est le fait que le tableau
> soit enfermé dans des MACHIN eux-mêmes dans des " qui en change la
> syntaxe ?


Bien sûr que non, c'est juste que je réfléchis pas assé parfois... :/

> C'est un point de vue défendable, je suis entièrement d'accord avec
> toi sur ce point. Et là encore tu n'es pas le premier à trouver cette
> syntaxe plus lisible. Quoi qu'il en soit c'est surtout une question de goût.


word

S.
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 22h45.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,17243 seconds with 16 queries