Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/11/2010, 10h21   #1
Membre régulier
 
Inscription : juillet 2004
Messages : 393
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 393
Points : 80
Points : 80
Par défaut mon $_GET['param1'] est vide.

Bonjour à tous,

j'ai récupéré un site en local (wamp) qui fonctionne très bien sur le serveur.

Je suis en train de faire quelques modifs pour qu'il puisse marcher correctement en local.

Là je tombe sur un OS : le $_GET['param1'] est vide, comment faire pour qu'il soit instancié ??

Merci d'avance
__________________
www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org
shadeoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 10h28   #2
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
Bonjour,

pourrais tu nous montrer ton code ?

le params1 est un argument de ton url ?

du style :
Code :
http://www.url.fr?params1=...
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 10h41   #3
Membre régulier
 
Inscription : juillet 2004
Messages : 393
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 393
Points : 80
Points : 80
Citation:
Envoyé par syl2095 Voir le message
Bonjour,

pourrais tu nous montrer ton code ?

le params1 est un argument de ton url ?

du style :
Code :
http://www.url.fr?params1=...
En fait, j'ai par exemple un chemin du type :

www.exemple.com/titi/toto

et ensuite dans le code :

Code :
1
2
3
4
5
switch($_GET['param1'])
{
    case 'titi' :
        echo "c'est titi";
 }
__________________
www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org
shadeoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 10h42   #4
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
fais un

Code :
1
2
3
echo '<pre>';
print_r($_GET);
echo '</pre>';
ça t'affiche quoi ?
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 10h55   #5
Membre régulier
 
Inscription : juillet 2004
Messages : 393
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 393
Points : 80
Points : 80
Citation:
Envoyé par syl2095 Voir le message
fais un

Code :
1
2
3
echo '<pre>';
print_r($_GET);
echo '</pre>';
ça t'affiche quoi ?
$_GET est pas instancié
__________________
www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org
shadeoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 11h17   #6
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
Expliques nous ce qui est censé faire le code ?

quel est le rôle de params1 ?
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 11h24   #7
Membre régulier
 
Inscription : juillet 2004
Messages : 393
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 393
Points : 80
Points : 80
Citation:
Envoyé par syl2095 Voir le message
Expliques nous ce qui est censé faire le code ?

quel est le rôle de params1 ?
EN fait le développeur qui a fait l'appli (je pense) ne devait pas maitriser l'url rewriting du coup il utilise ce système.

Me but de param1 est de connaitre le chemin, ça serait l'équivalent d'un ^([a-z-])/([a-z-])$ index.php?params1=$1
__________________
www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org
shadeoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 11h50   #8
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
donc il y a en place un module de rewrite..

as tu activé le mod_rewrite dans ton wamp ?
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 23/11/2010, 11h56   #9
Modérateur
 
Avatar de ThomasR
 
Homme Thomas Rambaud
Développeur Web
Inscription : décembre 2007
Messages : 2 134
Détails du profil
Informations personnelles :
Nom : Homme Thomas Rambaud
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 2 134
Points : 2 877
Points : 2 877
Ce serait pas une bête erreur de lecture ? La REGEX mentionne "params1", ton code "param1".

__________________
Développeur Web, accessoirement geek (ou l'inverse)
http://thomasrambaud.com
ThomasR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 12h36   #10
Membre régulier
 
Inscription : juillet 2004
Messages : 393
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 393
Points : 80
Points : 80
Euh, j'ai peut être mal expliqué : le rewrite n'est justement pas utilisé (c'était un exemple que j'avais mis)

Voici un exemple concret lorsque ça fonctionne (en ligne notamment) :

Lorsque je vais sur l'url :

http://www.exemple.com/art-culture/rezrez/ezrezr.html

mon print_r de $_GET donnera :

* array(3) { ["param1"]=> string(11) "art-culture" ["param2"]=> string(6) "rezrez" ["file1"]=> string(6) "ezrezr" }


Pour résumer ma question : existe-t-il quelques sur apache/php qui permette de remplir $_GET de cette manière ?

Sinon est-ce que c'est forcément un code qui a été fait pour l'application ?
__________________
www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org
shadeoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 12h54   #11
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
théoriquement tu as une page que tu appelles action.php?params=1

Code :
http://www.url.com/action.php?params=1
pour la réécrire, tu dois créer une règle pour que url deviennes

Code :
http://www.url.com/action/params/1
par exemple.

Mais si tu ne lui spécifies pas à l'url que tu envoies des parametres, apache ne peut pas le deviner
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 13h18   #12
Membre régulier
 
Inscription : juillet 2004
Messages : 393
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 393
Points : 80
Points : 80
Pourtant sur la version en ligne, j'ai mis un print_r($_GET) sur la ligne 1 de mon index.php et j'ai bien mon $_GET avec les param1, etc...
__________________
www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org
shadeoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 13h25   #13
Modérateur
 
Avatar de ThomasR
 
Homme Thomas Rambaud
Développeur Web
Inscription : décembre 2007
Messages : 2 134
Détails du profil
Informations personnelles :
Nom : Homme Thomas Rambaud
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 2 134
Points : 2 877
Points : 2 877
Sans la mise en place du mod_rewrite t'as pas 36 solutions :
- soit tu fais un rewrite maison en modifiant le rendu de la page 404, mais tu auras un référencement minable donc cette technique est à proscrire,
- soit tu modifies toutes tes URLs comme syl2095 te l'a montré, c'est à dire en utilisant une affectation normale (par défaut) des paramètres dans l'URL :
Code :
1
2
 
http://monsite.com/?param1=rubrique&param2=article1
- soit, le plus simple, tu modifies tes URLs de manière à avoir quelque-chose du type :
Code :
1
2
 
http://monsite.com/?q=rubrique1/article1
de cette manière il te suffit de faire :
Code :
1
2
3
4
5
6
7
8
9
10
 
<?php
$route = isset($_GET['q']) ? explode('/', $_GET['q']) : array();
 
var_dump($route);
 
// et pourquoi pas, pour la compatibilité :
foreach($route as $i => $part){
    $_GET['param' . ($i + 1)] = $part;
}
__________________
Développeur Web, accessoirement geek (ou l'inverse)
http://thomasrambaud.com
ThomasR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 13h30   #14
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
donc tu as la même source et quand tu affiches la page

http://www.exemple.com/art-culture/rezrez/ezrezr.html

tu as tes GET sur le site en ligne mais pas en local avec ton wamp...

art-culture/rezrez/ezrezr.html est bien la résultante d'une réécriture d'url non ?
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 14h44   #15
Membre régulier
 
Inscription : juillet 2004
Messages : 393
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 393
Points : 80
Points : 80
Citation:
Envoyé par syl2095 Voir le message
donc tu as la même source et quand tu affiches la page

http://www.exemple.com/art-culture/rezrez/ezrezr.html

tu as tes GET sur le site en ligne mais pas en local avec ton wamp...

art-culture/rezrez/ezrezr.html est bien la résultante d'une réécriture d'url non ?
non y'a aucun url rewriting via apache
__________________
www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org
shadeoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 14h50   #16
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
donc tu ne devrais pas pouvoir afficher

art-culture/rezrez/ezrezr.html

à moins que ce soit du statique...
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2010, 16h21   #17
Membre régulier
 
Inscription : juillet 2004
Messages : 393
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 393
Points : 80
Points : 80
Bon bah finalement j'ai trouvé le pot aux roses, y'avait bien un .htaccess....

Merci du temps que vous avez consacré pour moi
__________________
www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org
shadeoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h46.


 
 
 
 
Partenaires

Hébergement Web