Forum Clubic

[Php/mySQL] URL Rewriting et Formulaire en GET

Salut a tous,

Surement j’ai un probleme bete mais apres passages et recherhes sur le web… j’ai pas trouvé la solution :

Voici le formulaire :

<div style="text-align:center; margin-bottom: 2px;">
	<form action="pages/post-search.php" method="get">
  <input type="text" name="term" size="10" value="Search" onfocus="this.value='';" style="background-color: #6495ed;border: 1px solid #556677; padding-left: 2px;" />
  <input type="submit" value="Ok" style="background-color: #778899;border: 1px solid #556677;" />
	</form>
</div>

Voici la page intermediaire (post-search.php) :

[i]<?php

header(&quot;Location: ../page-search-&quot;.&#036;_GET[&quot;term&quot;].&quot;.html?quot;);

?>[/i]

Voici le rewriting :

RewriteRule ^page-search-(.*).html?#036; /index.php?term=$1 [L]

Et le petit bout de code qui affiche la page selon les variables :

    if(isset($_GET["p"])){
    	$p = 'pages/'.$_GET["p"].'.php';
    	
    	if(file_exists($p))
      include($p);
    	else
      include('includes/acc3.php');
    }
    elseif(isset($_GET["no"]))
    	include('pages/media.php');
    elseif(isset($_GET["comment"]))
    	include('pages/comment.php');
    [b]elseif(isset($_GET["term"]))
    	include('pages/search.php');[/b]
    else
    	include('includes/acc3.php');	

Je suis donc bien redirigé vers une page du type :

http://www.exemple.com/page-search-test.html

test, etant la recherche

Mais cela ne m’inclue pas la page includes/search.php, c’est la page includes/acc3.php qui est appellée, je comprends pas… apache n’interprete pas bien ce genre de variables ?

Merci ^^

Edit : Bizarre, quand je poste cela me transforme mes quotes en ?quot; et mon dollar en ?#036;

ta variable get est “term” et l’autre que tu check c’est $p, enfin en speed c’est ce que je vois :wink:

Donc fort logiquement, ca charge acc3 :slight_smile:

Non, il cheack la bonne variable get, ce sont des elseif et si $_GET[‘p’] n’est pas trouvé il test d’autre variable y comprent ‘term’.

Essais un print_r( $_GET ); en tous debut de page pour voir si une quelquonque variable $_GET est passe et meme si ‘term’ est la :slight_smile:

Merci a vous deux…

En fait, apres quelques essais… c’est apache le probleme…

Il supporte pas :

^page-search-

j’ai du remplacer par :

^search-

et ça marche correctement, probleme bizarre je le nie pas… mais tant que ça marche… mais ça me laisse quand même perplexe…

Merci tout de même pour votre aide :slight_smile: