Zoek formulier met GET
Goedendag ben nu al dik 3 uur aan het knoeien met het volgende
ik heb dit script
Maar als ik nu zoek dan ziet mijn URL er zo uit
http://www.blaat.net/p=member/s=search?q=a
maar doet niks verander ik het naar zo
http://www.blaat.net/p=member/s=search/q=a
Dan laat ie wel de zoek resultaten zien.
Hoe kan ik dit verhelpen.
Heb ook al met POST gewerkt maar dan zie ik niks.
Alvast bedankt voor de hulp.
ik heb dit script
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<form method="GET" action="/p=member/s=search">
Voorbeeld: "<b>a*</b>" zal een lijst genereren met alle namen die beginnen met een A!<br />
<!--<input type="hidden" name="s" value="search"/>-->
<input type="text" name="q" value="<?php if (isset($_REQUEST['q'])) { echo $_REQUEST['q']; } ?>"/>
<input type="submit" value="Zoek"/>
</form>
<?php
if($_GET['s'] == "search")
{
$_GET['q'] = preg_replace('/\*/','',$_GET['q']);
$_GET['q'] = htmlspecialchars($_GET['q']);
$_GET['q'] = addslashes($_GET['q']);
$dbres = mysql_query("SELECT login,UNIX_TIMESTAMP(signup) AS signup,attack,defence,clicks,cash,bank,level,clan,login FROM users WHERE login LIKE '".$_GET['q']."%' ORDER BY login LIMIT ".$begin.",30")or die (mysql_error());
}
?>
Voorbeeld: "<b>a*</b>" zal een lijst genereren met alle namen die beginnen met een A!<br />
<!--<input type="hidden" name="s" value="search"/>-->
<input type="text" name="q" value="<?php if (isset($_REQUEST['q'])) { echo $_REQUEST['q']; } ?>"/>
<input type="submit" value="Zoek"/>
</form>
<?php
if($_GET['s'] == "search")
{
$_GET['q'] = preg_replace('/\*/','',$_GET['q']);
$_GET['q'] = htmlspecialchars($_GET['q']);
$_GET['q'] = addslashes($_GET['q']);
$dbres = mysql_query("SELECT login,UNIX_TIMESTAMP(signup) AS signup,attack,defence,clicks,cash,bank,level,clan,login FROM users WHERE login LIKE '".$_GET['q']."%' ORDER BY login LIMIT ".$begin.",30")or die (mysql_error());
}
?>
Maar als ik nu zoek dan ziet mijn URL er zo uit
http://www.blaat.net/p=member/s=search?q=a
maar doet niks verander ik het naar zo
http://www.blaat.net/p=member/s=search/q=a
Dan laat ie wel de zoek resultaten zien.
Hoe kan ik dit verhelpen.
Heb ook al met POST gewerkt maar dan zie ik niks.
Alvast bedankt voor de hulp.
Lastig te zeggen, maar lijkt aan je RewriteRule te liggen. Staat achter je RewriteRule [QSA,L]?
Die QSA betekend: Query Append String, oftewel, plak de query string ook achter de omgeschreven URL.
De L betekend Last: hierna geen regels meer uitvoeren (deze heeft niks met je script te maken, maar vermoed wel dat deze achter je RewriteRule staat)
Die QSA betekend: Query Append String, oftewel, plak de query string ook achter de omgeschreven URL.
De L betekend Last: hierna geen regels meer uitvoeren (deze heeft niks met je script te maken, maar vermoed wel dat deze achter je RewriteRule staat)
Probleem opgelost
had dit
had dit
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
RewriteEngine On
RewriteBase /
# Bestaande bestanden of mappen uitsluiten
RewriteCond %{REQUEST_FILENAME} -f [NC,OR]
RewriteCond %{REQUEST_FILENAME} -d [NC]
RewriteRule ^(.*?)$ $1 [L,QSA]
# Alles naar ����n parameter
RewriteRule ^(.*?)$ index.php?p=$1
Verandert naar dit
RewriteEngine On
RewriteBase /
# Bestaande bestanden of mappen uitsluiten
RewriteCond %{REQUEST_FILENAME} -f [NC,OR]
RewriteCond %{REQUEST_FILENAME} -d [NC]
RewriteRule ^(.*?)$ $1 [L]
# Alles naar ����n parameter
RewriteRule ^(.*?)$ index.php?p=$1 [L,QSA]
Dus de l,qsa op de verkeerde plek.
RewriteBase /
# Bestaande bestanden of mappen uitsluiten
RewriteCond %{REQUEST_FILENAME} -f [NC,OR]
RewriteCond %{REQUEST_FILENAME} -d [NC]
RewriteRule ^(.*?)$ $1 [L,QSA]
# Alles naar ����n parameter
RewriteRule ^(.*?)$ index.php?p=$1
Verandert naar dit
RewriteEngine On
RewriteBase /
# Bestaande bestanden of mappen uitsluiten
RewriteCond %{REQUEST_FILENAME} -f [NC,OR]
RewriteCond %{REQUEST_FILENAME} -d [NC]
RewriteRule ^(.*?)$ $1 [L]
# Alles naar ����n parameter
RewriteRule ^(.*?)$ index.php?p=$1 [L,QSA]
Dus de l,qsa op de verkeerde plek.
Gewijzigd op 25/05/2010 10:38:51 door thomas de vries




