Url met GET werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Remy Brokke

Remy Brokke

07/04/2008 19:09:00
Quote Anchor link
Goedenavond,

Ik ben bezig met een search met FULL TEXT SEARCH. Alles werkt op dit moment alleen het doorgeven van de pagina url met quote's (") lukt niet. Dit kun je hier zien. Dit in tegenstelling tot een search zonder quote's of met een plusje en minnetje. Dit kun je hier zien.

Ik geef de FORM door met een GET en doe daarna niks anders dan een stripslashes(); omdat anders de SQL niks vindt. Als ik dan de pagina nummering link zo probeer aan te roepen blijft hij leeg:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<a href="'.$_SERVER['PHP_SELF'].'?p='.$pn.'&search='.$_GET['search'].'">'.$pn.'</a>';
?>


Hier kunt u het gehele script bekijken.

Hopenlijk kan iemand mij hier bij helpen!

Groetjes,

Remy
Gewijzigd op 01/01/1970 01:00:00 door Remy Brokke
 
PHP hulp

PHP hulp

22/12/2024 18:46:07
 
Martijn B

Martijn B

07/04/2008 19:18:00
Quote Anchor link
Probeer deze functie is:

http://nl3.php.net/url+decode
 
Remy Brokke

Remy Brokke

07/04/2008 19:21:00
Quote Anchor link
Helaas. Dit werkte niet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<a href="'.$_SERVER['PHP_SELF'].'?p='.$pn.'&search='.urldecode($_GET['search']).'">'.$pn.'</a>';
?>


Toch bedankt! :)
 
Toine vd P

Toine vd P

07/04/2008 19:22:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
printf('<a href="?search=%s">Titel</a>',$_GET["search"]);
?>


?
 
Martijn B

Martijn B

07/04/2008 19:26:00
Quote Anchor link
Nee zo moet je hem niet gebruiken ;P

URL:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
http://.../shop/search?data%5Bkeywords%5D=%22testtest%22&data%5Bbool%5D=AND&data%5Bmode%5D=1&data%5Bonly_discount%5D=0&data%5Bprice_sort%5D=0#results


Ik zoek nu op ""testtest"" (zonder de 1e en laatste quote).

Nu zul je in PHP dit moeten doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$_GET
['keywords'] = urldecode($_GET['keywords']);
?>


Nu heb ik dit even getest in mijn eigen webwinkel het zoeken lijkt te werken maar ik gebruik die functie niet.

Maar met die functie zou het moeten werken.

edit:

Zou PHP5 dit standaard zelf al doen?
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
 
Remy Brokke

Remy Brokke

07/04/2008 19:32:00
Quote Anchor link
Twan van der Poel schreef op 07.04.2008 19:22:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
printf('<a href="?search=%s">Titel</a>',$_GET["search"]);
?>


?


Ik heb jouw methode even letterlijk overgenomen en in de file gezet. Dit kun je hier zien.

Ik heb echt geen idee waarom hij het niet zou doen.
 
Martijn B

Martijn B

07/04/2008 19:36:00
Quote Anchor link
Je hebt net zoveel resultaten zonder quotes, dat is toch de bedoeling?
 
Remy Brokke

Remy Brokke

07/04/2008 23:20:00
Quote Anchor link
Martijn! schreef op 07.04.2008 19:26:
Nee zo moet je hem niet gebruiken ;P

URL:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
http://.../shop/search?data%5Bkeywords%5D=%22testtest%22&data%5Bbool%5D=AND&data%5Bmode%5D=1&data%5Bonly_discount%5D=0&data%5Bprice_sort%5D=0#results


Ik zoek nu op ""testtest"" (zonder de 1e en laatste quote).

Nu zul je in PHP dit moeten doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$_GET
['keywords'] = urldecode($_GET['keywords']);
?>


Nu heb ik dit even getest in mijn eigen webwinkel het zoeken lijkt te werken maar ik gebruik die functie niet.

Maar met die functie zou het moeten werken.

edit:

Zou PHP5 dit standaard zelf al doen?


Ik heb even gekeken en op de server draait: PHP Version 4.4.8-dev. Misschien komt het daarom dat hij het bij jouw wel doet en hier niet. Ik heb weer even je functie er in gezet en deze doet het niet. Helaas.

Martijn! schreef op 07.04.2008 19:36:
Je hebt net zoveel resultaten zonder quotes, dat is toch de bedoeling?


Ik begrijp even niet wat je met deze zin bedoelt. Sorry.

Ik begin steeds meer met mijn handen in het haar te zitten. Waarom geeft hij hem niet goed door? Komt het door de PHP 4 versie of is dit de oplossing:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$_GET
['search'] = str_replace("%22","\"",$_GET['search']);
?>


Lijkt me niet! ;)
 
Remy Brokke

Remy Brokke

09/04/2008 12:14:00
Quote Anchor link
Klein kickje.
 
Jan Koehoorn

Jan Koehoorn

09/04/2008 12:18:00
Quote Anchor link
Als je de link aanmaakt moet je urlencode gebruiken. Bij het uitlezen van de GET variabele gebruik je urldecode.
 
Remy Brokke

Remy Brokke

09/04/2008 12:42:00
Quote Anchor link
Ik heb nu het volgende gedaan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
        $urlpage
= urlencode($_GET['search']);
?>


Maar nu geeft hij de link nog niet goed door. Zie het zelf: http://www.loopings.nl/search_news.php?search=%22Efteling%22.

Ook een stripslashes(); haalde niks uit.

Voor de zekerheid heb ik weer even het gehele nieuwe script op plaatscode.be gezet: http://www.plaatscode.be/6601/
 
Remy Brokke

Remy Brokke

09/04/2008 12:57:00
Quote Anchor link
Ik heb net even dit gedaan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$urlpage
= urlencode($_GET['search']);
$urlpage = stripslashes($urlpage);
?>


En dan geeft hij (eindelijk) wel een url door maar niet erg goed. Zoals je hier kunt zien: http://www.loopings.nl/search_news.php?search=%22Tower+of+Terror%22
Gewijzigd op 01/01/1970 01:00:00 door Remy Brokke
 
Jan Koehoorn

Jan Koehoorn

09/04/2008 13:00:00
Quote Anchor link
Niet bumpen!

Om urlencode over je GET variabele heen te halen is onzin, want dan staan ze al in de url. Je moet dat doen voordat ze daar terecht komen, dus als je de links echoot:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    echo '<a href="' . urlencode ($hyperlink) . '">linktekst</a>';
?>


dan wordt je url gecodeerd. Daarna kun je dan dit doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
    if (isset ($_GET['variabele'])) {
        $variabele = urldecode ($_GET['variabele']);
    }

?>
 
Remy Brokke

Remy Brokke

09/04/2008 13:28:00
Quote Anchor link
Ik begrijp het nog niet helemaal. Ten eerste verstuur ik de form in het begin met een GET. Daarna heb ik bovenaan dit staan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
    if(!isset($_GET['p']))
      {


        $_GET['search'] = urldecode($_GET['search']);
           }

?>


En als ik daarna de pagina door wil echoen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<a href="'.$_SERVER['PHP_SELF'].'?p='.$pn.'&search='.urlencode($_GET['search']).'"><b>'.$pn.'</b></a>';
?>


Voor de rest doe ik niks met $_GET['search']. Nu vind hij helemaal niks en als ik bijvoorbeeld zoek op: "Tower of Terror" dan krijg ik dit terug: http://www.loopings.nl/search_news.php?search=%22tower+of+terror%22.
Gewijzigd op 01/01/1970 01:00:00 door Remy Brokke
 
Remy Brokke

Remy Brokke

10/04/2008 13:11:00
Quote Anchor link
Iemand nog ideeën?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.