Construction d'url

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Construction d'url

par Moker » 18 déc. 2005, 22:12

desolé pour l'enrmité que j'ai ecrite c'etait normal que cela fonctionnait je n'utilisait pas $url donc preg_remplace non plus :oops:

voici en fait le bon code :
foreach($rep as $cat=>$p)
	{
	if(isset($_GET['cat']))
		{
		$new_cat = 'cat='.$cat;
		$cur_cat = '/cat='.$_GET['cat'].'/';
		$url = preg_replace($cur_cat, $new_cat, $_SERVER['REQUEST_URI']);
		}
	print "<a href='".$url."'>| ".$rep[$cat]." |</a>\n";
	}
Bonne annés a tous :D

par Moker » 14 déc. 2005, 00:06

merci jobjertz :wink:

c'est tout a fait ce qu'il me fallait :)

j'ai lu quelque tuto sur les expressions regulieres et j'ai donc reussit à coder ceci :
	$rep = scandir($curdir);
	foreach($rep as $cat=>$p)
		{
		print "<a href='?page=".$_GET['page']."&cat=".$cat."&img=1'>| ".$rep[$cat]." |</a>\n";
		if(isset($_GET['cat']))
			{
			$cat = '/cat='.$_GET['cat'].'/';
			$new_cat = 'cat='.$cat;
			$url = preg_replace($cat, $new_cat, $_SERVER['REQUEST_URI']);
			}
		}
ca fonctonne nikel :wink:

merci le coup de pouce.

par jobherzt » 09 déc. 2005, 08:21

vu comme ca forcement... on avais pas pense a ce qui se passait apres le premier clic. dans ce cas, le plus simple a mon avis est d'utiliser une expression reguliere pour virer le ?cat.... au debut. un truc du genre :
//non teste et non garanti, devrait virer tout ce qui suit le ?
$url_initiale = preg_replace('#\?.*#,'',$_SERVER['REQUEST_URI']); 

par Invité » 09 déc. 2005, 02:32

j'ai besoin de votre aide, j'ai beau reflechir puis reflechir et reflechir encore je ne trouve aucune solution à mon probleme.

il doit bien avoir un moyen de venir a bout de ce script :?

par Moker » 06 déc. 2005, 14:55

Merci beaucoup les gars :wink:

malheureusement j'obtient le meme resultat

voici mon code :
$url_initiale = $_SERVER['REQUEST_URI'];

if(isset($_GET['page']))
	{
	$rep = scandir($curdir);
	foreach($rep as $cat=>$p)
		{
		$url = $url_initiale;
		printf ('<a href="%s&cat=%s">|%s|</a>'."\n", $url, $cat, $p); 
		}
	}
php ne fait qu'ajouter un &cat=X à chaque passage de boucle.

par exemble si je clique sur un des liens generé, au 2eme passage $_SERVER['REQUEST_URI'] vaut deja ?page=1&cat=X

du coup $url = ?page=1&cat=1&cat=2

auriez vous une autre idée pour ecraser ce resultat, je suis perdu :(

merci encore

par nicolas » 06 déc. 2005, 10:44

<?php
$url = $_SERVER['REQUEST_URI'];
if (!empty($_GET['page'])) {
    $rep = scandir($curdir);
    foreach($rep as $cat=>$p) {
        printf ('<a href="%s&cat=%s">|%s|</a>'."\n", $url, $cat, $p);
    }
}
?>

par jobherzt » 06 déc. 2005, 00:39

ben il suffit qu'au debut tu cree ta variable avec :

$url_initiale=$_SERVER[...

et dans ta boucle, tu commences par : $url=$url_initiale.

Construction d'url

par Moker » 05 déc. 2005, 22:46

bonjour :)

je voudrait construire mon url grace à php.

j'ai donc ecrit ce bout de code:
$url = $_SERVER['REQUEST_URI']; // qui vaut /site/?page=1

if(isset($_GET['page']))
	{
	$rep = scandir($curdir);
	foreach($rep as $cat=>$p)
		{
		$url .= '&cat='.$cat;
		print "<a href=".$url.">| ".$rep[$cat]." |</a>\n"; //lien que je desire afficher
		}
	}
malheuresement a chaque passage de la boucle j'ajoute &cat=1 puis &cat=2 ..... , ce qui donne /?page=1&cat=2&cat=3.

je voudrait en fait ecraser $url pour obtenir à chaque passage de boucle : /?page=1&&cat=1 , /?page=1&&cat=2 , ......

pouvez vous m'aider ?

Merci d'avance!