Salut à tous. J'ai un gros soucie avec une fonction.
J'explique mon algorithme :
Si la variable $_GET['page'] existe, si oui
Je prends l'adresse du navigateur
je regarde la valeur de $_GET['page']
je la remplace dans l'adresse par une nouvelle valeur qui est avec l'appel de la fonction
Sinon
Je rajoute : &page=$laValeurDeMaNouvellePage
fin du si
je retourne la nouvelle adresse
function changer_page ($page){ if (isset($_GET['page'])){ $page = 'page='.$page; $addresse_page = $_SERVER['REQUEST_URI']; $a_remplacer = 'page='.$_GET['page']; $adresse_dest = str_replace($a_remplacer, $page, $adresse_page); } else{ $adresse_dest = $_SERVER['REQUEST_URI'].'&page='.$page; } return $adresse_dest; }
Et je l'appel par exemple comme ça :
echo '<a href="'.changer_page('4'). '">4</a>';
Le problème, c'est que ça marche pas. A partir du moment où &page= existe les liens ont tous la même adresse : celle qui est encours...
HELP ! Je pige pas là
Merci d'avance ^^
Hors ligne
Posté le 12-12-2008 18:56:34
Peut-tu m'expliquer quelle but veux tu atteindre comme sa, si je trouve un autre moyer je te le donne .
Hors ligne
Posté le 12-12-2008 19:38:54
En fait dans mon adresse url de la page j'ai plusieurs paramêttre variable. C'est pour afficher une liste pour modérer une galerie.
Donc dans l'adresse, j'ai des paramêtre pour : - afficher la liste true/false - trier par ordre alphabétique, ou id, croissant/décroissant - afficher une galerie particulière - le numero de page
Ca ressemble à ça par exemple : admin_galerie.php?liste=true&cat=photo&ordre=titredesc&page=1
Je veut changer la page sachant que : &cat=photo&ordre=titredesc ne sont pas fixe, et peuvent changer. C'est pour ça que si je change de page, je dois pas changer le reste, seulement le numéro de page. Dur, dur..
J'ai une autre idée... Je vais essayer, mais je veux bien la tiennes ^^.
Hors ligne
Posté le 12-12-2008 19:53:54
Ok, je comprend pas très bien sa m'a l'aire dûr, dûr, c'est arde
comme code sa^^
Hors ligne
Posté le 12-12-2008 20:21:39
Ouais dur dur ^^ Mais pas tant que ça ^^ Je me compliquais la vie pour mon cas précis ! J'ai au max 2 truc qui change dans l'adresse ^^ ordre et cat.
Il me suffit de récupérer la valeur de ceux-ci si ils existent et de les ajouter à l'adresse, comme ceci :
function changer_page ($page){ $adresse_dest = 'admin_galerie.php?liste=true'; $adresse_dest = $adresse_dest.'&page='.$page; if (isset($_GET['ordre'])){ $adresse_dest = $adresse_dest.'&ordre='.$_GET['ordre']; } if (isset($_GET['cat'])){ $adresse_dest = $adresse_dest.'&cat='.$_GET['cat']; } return $adresse_dest; }
Hors ligne
Posté le 12-12-2008 21:12:53
Résolu ?
Sinon par mesure de sécurité, toujours récupérer les Get en le faisant passer sous htmlspecialchars():
$page=htmlspecialchars($_GET['page']);
De plus si c'est sensé être un nombre vérifier avec
if(is_numeric($_GET['page']))
Hors ligne
Posté le 12-12-2008 22:57:28
Ba y a pas grand risque avec met get ^^. Ils sont utilisé après avec un switch, ou un if. Donc pas de risque que du html soit exécuté.
Sinon pour le is_numeric, merci pour l'info ^^
Mais bon vu que c'est pour ma page d'admin, y a pas grand risque que je m'amuse moi même a modifier mes propres trucs ^^
Hors ligne
Posté le 12-12-2008 23:07:29