changement de langue - PHP - Programmation
Marsh Posté le 12-10-2004 à 11:00:15
si je dis pas de betise c'est la variable
$_SERVER['argv']
Marsh Posté le 12-10-2004 à 11:01:07
Code :
|
echo "<a href=\"".$_SERVER["PHP_SELF"]."?lang=fr$get\">";
essaye de faire un controle sur tes get quand meme
Marsh Posté le 12-10-2004 à 11:27:48
j'ai fais une bourde
<?php |
?
Marsh Posté le 12-10-2004 à 11:36:15
bah rien ne s'affiche.
Si je vire foreach, ça s'affiche mais le lien ne link pas grand chose evidemment
Marsh Posté le 12-10-2004 à 11:37:49
ReplyMarsh Posté le 12-10-2004 à 11:38:22
Sebastien a écrit : ca serait pas plutot |
meme probleme
la page n'affiche rien
Marsh Posté le 12-10-2004 à 11:38:51
n'empeche que tu t'emmerderais bcp moins avec
$_SERVER['argv'][0]
Marsh Posté le 12-10-2004 à 11:40:45
je veux bien tester mais j'ai vraiment un pb avec ce foreach qui m'affiche une page vide online.
Marsh Posté le 12-10-2004 à 11:47:06
<?php |
= les variables ne passent pas
Marsh Posté le 12-10-2004 à 11:48:44
Parse error: parse error, unexpected T_STRING, expecting T_VARIABLE or '$' in /home/www/include/en/frames/header.php on line 34 |
Marsh Posté le 12-10-2004 à 11:52:26
et mon $_SERVER['argv'][0] c'est la meme chose que ton $get en plus 'propre' on va dire.
Marsh Posté le 12-10-2004 à 11:52:55
oué j'ai vu ca apres, mais il l'a corrigé de lui meme apparement
Marsh Posté le 12-10-2004 à 11:53:52
Je viens de faire un test chez moi les deux methodes fonctionnent aussi bien l'une que l'autre.
Marsh Posté le 12-10-2004 à 11:56:20
seb > $_SERVER['argv'][0] ne contient pas que le premier argument?
Marsh Posté le 12-10-2004 à 11:57:02
Non il contient la premiere ligne d'arguments en fait, et comme dans une url tu as une seule ligne.
Marsh Posté le 12-10-2004 à 12:00:55
seb > la manip c'est de remplacer $_GET par $_SERVER['argv'][0] ?
Marsh Posté le 12-10-2004 à 12:01:48
tu as juste besoin d'ecrire
Code :
|
Marsh Posté le 12-10-2004 à 12:04:59
oulah...
par contre je me retrouve avec 2 $langue dans mon lien
Marsh Posté le 12-10-2004 à 14:54:32
Je suis obligé de l'avoir dans mon url puisque c'est un parametre que je passe dans mon lien?
Le probleme actuellement c'est quand je navigue plus de 2 fois d'une langue à l'autre à la suite.
Marsh Posté le 12-10-2004 à 15:04:33
Est ce que le raisonnement serait:
Si $langue existe dans l'url-->le remplacer.
Marsh Posté le 12-10-2004 à 15:05:54
Code :
|
Marsh Posté le 12-10-2004 à 15:14:16
merci
comment ça se fait que $_SERVER['argv'][0] n'écrit pas index2.php qui devrait se trouver derriere l'adresse et avant les variables?
Marsh Posté le 12-10-2004 à 15:16:58
j'ai un bug tout bizarre
au lieu d'ecrire
http://www.michmich.com/index2.php?.......
il m'écrit
http://www.michmich.com/langue=fr? [...] ue=en.....
Marsh Posté le 12-10-2004 à 15:21:43
oui effectivement
excuse moi de te solliciter autant mais....je le met ou la dedans?
echo "<a href=\"".$_SERVER['argv'][0]."?lang=fr$get\">";
Marsh Posté le 12-10-2004 à 15:25:44
oulalala
bon $_SERVER[] est un array contenant plusieurs autre variable, c'est pour ca que c'est une superglobale.
Donc $_SERVER[argv] recupere les arguments, et 0 represente le premier indexe de l'array $_SERVER[argv].
Ce 0 contient donc tout les parametres de l'url vu qu'il n'y a qu'une ligne.
Donc le lien que tu vient de mettre plus haut ne veut rien dire, a part mettre deux fois les meme arguments dans l'adresse.
$_SERVER["PHP_SELF"] represente la page courante SANS les argument, pour toi ca sera donc index2.php
et $get, ben ca contient tout les argument passé apres le ? de ton url.
Marsh Posté le 12-10-2004 à 15:27:10
j'ai remplacé $_SERVER['argv'][0] par $_SERVER["PHP_SELF"].
Ca tourne plutot bien...
merci pour tes explications
Marsh Posté le 12-10-2004 à 10:55:39
Salut,
j'ai ce code sur l'un des drapeaux de mon site:
<a href="<?=$PHP_SELF?>?page=<?php echo "$page"; ?>&mep=<?php echo "$mep"; ?>&lang=fr">
Ca fonctionne sauf pour les pages où il existe d'autres variable dans l'url.
Si par exemple, il y a ça "&id=CHA-4" derriere, au moment du changement de langue, il ouvre une page vide car ce dernier bout de variable ne passe pas.
Comment est ce que je peux lui dire : prends tout ce qu'il y a dans l'url + &lang=fr ?
merci