Titre: Parametre d'url...
Posté par: Ludomega le le 24-10-2003 a 16:28:48
Alors la je comprend vraiment aps ce qu'il se passe....
J'ai une page liens
Comme code j'ai
<a href='affichliens.php?rub=essai'>parfumeurs</a>
Et sur ma page affichliens j'ai
echo $rub;
Bref, rien de bien compliqué quoi..... et, pourtant, quand je clique sur le lien mon navigateur (IE) m'envoit a l'adresse affichliens.php?rub=essai mais sur ma page a la place d'avoir "essai" j'ai: Notice: Undefined variable: rub in e:\easyphp1-7\www\mini-parfum\affichliens.php on line 14
Ou alors c'est plane completement ou alors j'ai zappé un truc ou alors je sais pas.... A moins que ce ne soit un bug de la nouvelle version d'easy php, la 1.7 (mais bon je doute quand même).....
Ca fait une heure que je bloque dessus... j'ai pas zapper les <?php et ?> je les ai juste pas mis pour un gain de place... |
Titre: Re:Parametre d'url...
Posté par: Trantsiss le le 24-10-2003 a 16:55:47
Mmmh je ne sais pas essais de mettre $rub=$_GET['rub'] et vois peut être à mettre echo "$rub"; Sinon je ne vois pas trop ce qui pourrait déranger surtout que chez moi ça marche comme tel. |
Titre: Re:Parametre d'url...
Posté par: Ludomega le le 24-10-2003 a 16:58:35
Oki, merci beacoup ca marche ;)
Grace au $rub=$_GET['rub']
Mais je comprend pas trop, je l'avais déjà fait plusieurs fois auparavant et ca fonctionnait sans cette ligne de code ???
En tout cas merci beacoup 36 |
Titre: Re:Parametre d'url...
Posté par: Trantsiss le le 24-10-2003 a 17:04:22
| Ben en fait tu as du zapper une fonction qui permet au php de récupérer les variable dans les url sans utiliser $_GET ou $_POST. Par habitude j'y mets tjrs comme ça il n'y a pas de problème. ;) |
Titre: Re:Parametre d'url...
Posté par: Ludomega le le 24-10-2003 a 18:33:02
En fait j'ai chercher un peu apres sur le net, et j"suis tombé sur un site ou ils expliquent que depuis la version 4.0.2 (j'espere que je me trompe pas) il faut procéder comme ca, alors qu'avant ce n'était pas nécéssaire....
Etant donné que j'ai instaler hier la derniere version de easy php qui doit contenir cette version de php, ca pouvait aps marché....
Merci en tout cas, ca m'a permis d'avancer... |
Titre: Re:Parametre d'url...
Posté par: Trantsiss le le 24-10-2003 a 19:58:25
Je n'ai pas téléchargé la dernière version de easyphp en fait donc je en sais pas trop. Le truc c'est que l'option de pouvoir récupérer une var dans l'url sans les fonctions PHP est géré par une variable donc si jamais elle est à OFF et bien dans ce cas là plus rien ne marche :( Ca fait bizarre sans qu'on comprenne pourquoi ^__^; Comme je passe énormément de paramètres par url je dois dire que c'est uen chose sur laquelle je me suis vite renseigné :p Si ça t'as permis d'avancer tant mieux ;) |
Titre: Variable $rub
Posté par: Glux le le 20-12-2003 a 20:52:43
Salut les gars...
... je viens moi aussi d'installer Easy PHP 1.7, j'ai rien touché aux scripts... et j'ai exactement le même problème.
Je sais que Trantsiss a donné la solution, mais le problème c'est que... j'ai pas compris comment procédé ! Et ouais, chui désolé, chui un peu un newbie quoi... fo pas m'en vouloir :-\
Ma question : c'est ou que tu met ça dans le script : $rub=$_GET['rub'] ????
Juste avant le $rub ??
J'pige pas ! Quelqu'un peu m'aider ??
|
Titre: Re:Parametre d'url...
Posté par: erwinol le le 20-12-2003 a 22:54:45
| Dans les nouvelles versions vous êtes obligés d'utiliser $_POST[] ou $_GET[] pour récupérer les variables dans les URL ou via formulaire. |
Titre: Re:Parametre d'url...
Posté par: ric le le 21-12-2003 a 09:52:45
Bonjour Un lien que j'ai donné le 19 sur le sujet "transmettre une variable" http://www.phpdebutant.org/article113.php qui pourra vous aider.
|
Titre: Re:Parametre d'url...
Posté par: Glux le le 21-12-2003 a 15:27:54
Ouais ben... c'est trop cool ... ça fonctionne... MAIS MAINTENANT YA UN AUTRE PROBLEME ! :-[
Si je met par exemple www.monsite.ch/index.php?rub=home .... tout est ok !
Mais si je met seulement www.monsite.ch ... la ca va pas, ca me met exactement la meme erreur qu'avant ! ???
(home étant configuré comme étant la page par défaut)
HELP
THX |
Titre: Re:Parametre d'url...
Posté par: POde.uk le le 24-12-2003 a 01:09:05
c'est logique glux
le problème qu'avait ludo c'est que le server lui disait qu'il utilisait une variable qui n'était pas initialisée avant d'être utilisée.
PHP permet en fonction de la configuration du server d'utiliser des variables avant qu'elles soit initilialisées ou non
dans le cas de ludo, il voulait récupérer une variable passée par la méthode GET mais sans l'appeler par $_GET[] le script ne savait donc pas ou la chercher, et mettait son erreur, car dans les variables locales il n'existait pas de rub
(remarque que si les valeurs passées en GET et POST sont enregistrées en globales tout de suite -encore une possiblité de PHP qui n'est plus reglée par défaut sur ON avec les dernières versions de PHPet donc easyphp- le bug n'apparait pas, car la valeur initialisée en GET est passée en globale, et aurait donc été initialisée avant)
ton problème vient du fait que tu veuilles tout de suite inclure dans ta pseudo frame un fichier .php, sans même tester auparavant si on a bien demandé son inclusion
si tu appelles directement index.php, sans paramètres derrière, rub n'est pas setté, donc erreur d'inclusion c'est pour ça que ça marche quand tu mets index.php?rub=home
tout ce que tu as à faire, c'est avant l'include de mettre un isset.
Code:
if (isset($_GET['rub'])) include($_GET['rub'].".php")
|
|
ou bien
Code:
$rub = $_GET['rub'] ? $_GET['rub'] : "page_par_défaut"; include($rub.".php");
|
|
|
Titre: Re:Parametre d'url...
Posté par: Glux le le 24-12-2003 a 08:13:18
:'( :'( :'( Désolé POde, mais ça à l'air de ne pas jouer le code que tu m'as donné... Voilà l'erreur si j'emploie le premier code
Code:
code : if (isset($_GET['rub'])) include($_GET['rub'].".php") erreur : Parse error: parse error, unexpected T_SWITCH in c:\program files\easyphp1-7\www\sabulle\scripts\lien.inc.php on line 5 à la ligne 5 il y a : switch ($rub) |
|
Mais ça n'a rien à voir, en fait ... n'importe où je met le code que tu m'as donné, php n'arrive pas à lire la ligne de code suivante !
___
Pour ce qui est du deuxième code, alors là, à n'y rien comprendre... si ce n'est qu'il ne sait toujours pas ce que c'est $rub :
Code:
Code : $rub = $_GET['rub'] ? $_GET['rub'] : "index.php?rub=home"; include($rub.".php"); Erreurs :Notice: Undefined index: rub in c:\program files\easyphp1-7\www\sabulle\index.php on line 3
Warning: main(index.php?rub=home.php): failed to open stream: No such file or directory in c:\program files\easyphp1-7\www\sabulle\index.php on line 4
Warning: main(): Failed opening 'index.php?rub=home.php' for inclusion (include_path='.;C:\Program Files\EasyPHP1-7\php\pear\') in c:\program files\easyphp1-7\www\sabulle\index.php on line 4 |
|
|
Titre: Re:Parametre d'url...
Posté par: Glux le le 24-12-2003 a 08:26:44
Attendez... je crois avoir la solution...
J'espère pas que ça va foutre la M dans certain script par la suite... qu'est-ce que vous en pensez ? Voici le code :
Code:
if (!$_GET) $rub="home"; else $rub=$_GET['rub']; |
|
|
Titre: Re:Parametre d'url...
Posté par: POde.uk le le 24-12-2003 a 14:37:24
regarde ta première erreur de parsing : unexpected T_SWITCH, l'erreur vient d'ailleurs
en fait il ya un ";" après le include() et tu as un switch arpès je suppose, donc il n'est pas attendu puisque le script attends un ";"
dans ton deuxième code tu testes si le tableau $_GET existe, hors il existe tout le temps donc ton code revient à :
$rub=$_GET['rub'] |
Titre: Re:Parametre d'url...
Posté par: Glux le le 24-12-2003 a 16:03:30
Moi je ne regarde pas sur la signification du code... je regarde le résultat !
Alors voilà ce que j'ai obtenu :
Le premier code que tu m'as donné... j'ai beau ajouté un point virgule... rien n'y fait, l'erreur est exactement la meme que si je n'avais pas employé ce code !
Code:
CODE: if (isset($_GET['rub'])) include($_GET['rub'].".php") ;
ERREUR: Notice: Undefined variable: rub in c:\program files\easyphp1-7\www\sabulle\scripts\lien.inc.php on line 4
|
|
Pour ce qui est du code que j'ai donné avant: non, ca ne revient pas au même que $rub=$_GET['rub']. Je t'ai dit, je fonctionne aux résultats : Quand j'emploie $rub=$_GET['rub'] je suis obligé d'employé un "rub=..." dans l'URL (ex : www.monsite.com/index.php?rub=home). Mais par contre avec le code que j'ai donné avant, il n'y a aucun problème, et même avec l'URL : www.monsite.com.
Code:
AVEC : $rub=$_GET['rub'] ERREUR : Notice: Undefined index: rub in c:\program files\easyphp1-7\www\sabulle\index.php on line 3 |
|
Voilà... j'y comprendrai toujours rien au PHP... enfin ! Merci à tous.. et joyeuse Pâques ! |
Titre: Re:Parametre d'url...
Posté par: POde.uk le le 24-12-2003 a 19:04:46
désolé, tu ne progresseras pas si tu "fonctionnes au résultat" et je ne t'aiderai pas non plus dans ce cas
je ne suis pas là pour te taper ton code, mais pour t'aider à comprendre d'où vient ton erreur
j'ai apparement donné toutes les informations dont tu avais besoin pour faire ce que tu voulais, si je n'ai pas été clair reformule ta question pour que je puisse t'aider, mais en aucun cas je ne vais lire ton code et te le corriger parce que tu ne veux pas chercher à comprendre pourquoi ça marche pas |
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|