Php: je vis dans un autre monde ?

Salut

Je dois être épuisé, mais pourriez-vous m’expliquer ça:

[code]<?php
$login = $_GET[‘login’];
?>

<?php echo $login; echo "
"; echo "test swith :"; switch($login) { case "yann": echo "yann"; break; case "lolotte": echo "lolotte"; break; } echo "
"; echo "test if :"; if ($login == "yann") {echo "yann";} if ($login == "lolotte") {echo "lolotte";} ?> [/code]

Et à l’affichage:
avec $login= lolotte

lolotte test swith : test if :
ou avec $login=yann

yann test swith : test if :

:open_mouth: :open_mouth: :open_mouth:
Pourquoi les conditions switch et if déconnent ( il devrait afficher test switch yann …)??

J’avance un peu.

voila le “chemin” du paramètre login: index.php --> login.php --> cahier.php --> menu.php --> test.php
index.php envoi login grâce à un formulaire à login.php (qui la récupère sous le nom de login avec $_POST).
login.php envoie le paramètre login à cahier.php (qui la récupère sous le nom de login avec $_GET).
cahier.php envoie le paramètre login à menu.php (qui la récupère sous le nom de login avec $_GET).
menu.php envoie le paramètre login à test.php (qui la récupère sous le nom de login avec $_GET).

Si je fais le test :

echo $login; switch($login) { case "yann": echo "yann"; break; case "lolotte": echo "lolotte"; break; }
:arrow_right: au nvx de login.php, c’est ok.
:arrow_right: au nvx de cahier.php, c’est ok.
:open_mouth: Mais ça ne marche plus dans les pages qui suivent. L’écriture (echo $login )est ok, mais le test avec switch ne marche pas.
Il y a qquechose qui m’échappe avec ces paramètres et $_GET…Le passage d’un même paramètre “en cascade” (de page en page ) “détériore-t-il” le sus-dit paramètre ?(je sens que je suis en train de passer pour un imbécile du php là… :blush: )

Pb résolu en passant par des sessions.
A force de fouiller le net, je suis tombé sur ces tutos:
:arrow_right: phpdebutant.org/article69.php
:arrow_right: phpsources.org/tutoriel-sessions.htm
Et tout est ok. :smiley:

Tu ne t’es pas sentis un peu seul sur ton post?? :wink:

Tu à l’air de beaucoup coder en php, tu as un site web perso??

Que penses tu de l’arrivée de php6??

J’ai lu cette news aussi si ça peut t’intéresser…

Bah, je n’ai pas donné mes pages, c’est pour ça que j’ai eu peu d’aide.
En fait, je fais un cahier de texte en ligne, en php avec une base de donnée mysql.
Je ne code pas svt en php, mais je dois dire que je prends bcp de plaisir à faire ce “cahier de texte”. :smiley:

Je ne m’y connais pas assez pour avoir un avis. Et php 5 me suffit déjà pour ce que je fait.

Je viens de voir ton truc, je peux t’assurer que tout va bien avec les passages en cascades de paramètres via GET. Je pense juste que tu dois avoir un caractère indien à ton $login genre un blanc ou un . C’est amusant parce qu’en ce qui me concerne je fais une seule page .php qui est dans plusieurs états et non une batterie de page où tu te paumes. La structure de mes pages PHP est la suivante.

Vérification de session ouverte, récupération éventuelle des variables Si non authentifié, authentification Si authentification foireuse, session_destroy switch($etat) { et là le code correspondant à tes différentes pages }
Les inclusions se font à partir d’un répertoire inaccessible et contiennent tout ce qui est mot de passe mySQL, présentation, etc.

Effecivement, il y avait trop de pages, et j’ai déjà réduit à:
index.php -->login.php --> cahier.php le tout avec l’utilisation de sessions.
Et je pense effectivment réduire ça à 2 pages: index.php --> cahier.php.
Qt aux passages en cascades avec GET, j’ai laissé tomber: session est infiniment plus pratique.
En tout cas, merci de t’être pencher sur mon cas. :slightly_smiling:

Bien avant php6, il y a php5.3 qui doit sortir sous peu (enfin qui devrait déjà être sorti) et qui va rajouter pas mal de bonne chose comme la gestion des namespaces ce qui va impacter ce code actuel grandement.

Faites bien attention à ce passage

Pour le php6 il n’y a que l’unicode qui est rajoutée c’est pas encore énorme mais ça va simplifier la vie de tous les codeurs :wink: et c’est déjà pas mal du tout.

PHP 5.3 est déjà une grosse avancée.
J’aime beaucoup les progrès que réalisent PHP qui devient de plus en plus mature et donc susceptible d’être encore plus utilisé dans les entreprises.

[quote=“M3t4linux”]Tu ne t’es pas sentis un peu seul sur ton post?? :wink: [/quote]En gros je suis partisant pour poser la bonne question sur le bon forum. Il y a de très bon forum sur le PHP.
Si on veut une réponse rapide et très contructive sur le PHP il faut aller sur un forum PHP.