fredrick Posté 28 Mai 2006 Posté 28 Mai 2006 Bonjour à tous, Voici mon problème. J'ai besoin de récupérer une variable GET dans l'url de ma page. Tout fonctionne bien en temps normal donc sur une simple page. Donc je sais que mon code est bon. Seulement mon site contient des includes et lorsque je mets le code dans une include plus rien ne va car je n'arrive pas à récupérer la valeur d'une variable get étant donné qu'il y en a deux : -une première variable qui indique la page incluse (ex: index.php?page=forum) -et la deuxième que j'ai besoin pour mon code afin de savoir la page actuelle (ex : start=2) donc mon url ressemble à ceci par exemple : ...index.php?page=forum&start=2 j'aimerais que la variable $_GET['start'] soit = à 2. Comment faire ??? Elle me met toujours 0 Merci pour votre aide, Fred
K-Ola Posté 28 Mai 2006 Posté 28 Mai 2006 Peut être est ce un probléme de configuration de php , pour utiliser get,il faut que "register_globals = on" Sinon cela peut venir u code,mais il nous faudrait un peu plus de détails (de code) Sinon essai sur une autre page ce code : <? $test=$_GET['test']; echo $test; ?> test le et dit nous ce que ça te donne.
Dan Posté 28 Mai 2006 Posté 28 Mai 2006 pour utiliser get,il faut que "register_globals = on" Non, seulement pour utiliser $test en lieu et place de $_GET['test'] $_GET['text'] ne dépend absolument pas de register_globals Dan
astrofiles Posté 28 Mai 2006 Posté 28 Mai 2006 (modifié) Ton php principal se doit de traiter les variables en entrée (get ou post) en les mémorisant dans des variables qui seront alors accessibles par tes sources php inclus. Gérer les paramètres d'url dans des sources inclus me parait moins lisible à mes yeux. Attention si tu faits des includes dynamiques à bien tester ce qui arrive ...., sécurité oblige . Modifié 28 Mai 2006 par astrofiles
fredrick Posté 28 Mai 2006 Auteur Posté 28 Mai 2006 Voici mon code // Si la variable $_GET['start'] n'existe pas, on l'initialise à 0if(!isset($_GET['start'])){$_GET['start'] = 0;}// On selectionne les 15 prochains messages à partir de $_GET['start']$req = mysql_query('SELECT id, auteur, titre, date_derniere_reponse FROM forum_sujets ORDER BY date_derniere_reponse DESC LIMIT '.$_GET['start'].','.$nb_record_by_page);/*********************** Troisième partie ***********************/echo 'salut fred voila la donnée '.$_GET['start'];// Si il y a une page précédenteif( $_GET['start'] >= $nb_record_by_page) { echo '<a href="index.php?page=forum&start='.($_GET['start']-$nb_record_by_page).'">Précédent</a>';// Sinon} else { echo 'Précédent';}echo ' | ';// Si il y a une page suivanteif($nb_total_record > $_GET['start'] + $nb_record_by_page) { echo '<a href="index.php?page=forum&start='.($_GET['start']+$nb_record_by_page).'">Suivant</a>';// Sinon} else { echo 'Suivant';}
astrofiles Posté 28 Mai 2006 Posté 28 Mai 2006 (modifié) if(!isset($_GET['start'])){$_GET['start'] = 0;} alimenter la variable $_get.... je ne sais pas si cela fonctionne mais cela n'est pas très propre Après lorsque tu utilises $_get tu ne sauras pas si cela provient de l'url ou de ton code (en supposant que cela fonctionne.....) Modifié 28 Mai 2006 par astrofiles
fredrick Posté 28 Mai 2006 Auteur Posté 28 Mai 2006 Ben écoute cela fonctionnait très bien sur une page simple donc qui n'était pas includée. C'est-à-dire quand j'ai fait mes premiers tests. Une fois que tout était ok, je l'ai transféré sur mon site. Donc sur une page includée. Et c'est là que ça foire. Alors j'ai changé les liens et j'ai mis <a href="index.php?page=forum&start='. au lieu de <a href="?start=blabla comme c'était au début Voilà, j'espère que ça vous éclaire un peu
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant