Hallo,

Ik ben bezig met het maken van een nieuws syteem, alleen nu heb ik een de mysql een rij staat waar in staat: TU Delft wacht op 'ready for take-off'. Alleen om hem via een GET uit de database te laten halen moet ik dubele haakjes gebruiken (geen idee waarom). Dus dan zou het worden: TU Delft wacht op ''ready for take-off''.

De pagina waarop het nieuws word wergegeven roep ik aan met: ?x=TU%20Delft%20wacht%20op%20'ready%20for%20take-off'. En via deze code wou ik de dubbele haakjes omzeilen:


$nieuws_uit_db_halen = $_GET['x'];
$weghalen = array("%20");
$replace = ' ';
$test = str_replace($weghalen, $replace, $nieuws_uit_db_halen);
$queryy = mysql_query("SELECT * FROM nieuws WHERE title LIKE '%".$test."%' ");


Helaas alleen werkt dit niet.
Bedoel je geen dubbele aanhalingstekens (quotes) in plaats van haakjes?

Gebruik " en voordat je er een url van maakt haal je urlencode () er overheen.
De output van de get kun je terugzetten naar nette tekst dmv urldecode.
Urldecode("TU%20Delft%20wacht%20op%20'ready%20for%20take-off'") geeft TU Delft wacht op 'ready for take-off'
Deze manier is vele malen beter dan een replace.
Wat je wel kan oplossen met een str_replace is het veranderen van een enkele haak naar een dubbele haak.
Dus:
<?php
$get = "TU%20Delft%20wacht%20op%20'ready%20for%20take-off'";
$get4db = str_replace('\'', '"', urldecode($get));
// vervolgens kun je met $get4db een query uitvoeren
?>
Let daarnaast ook op het beveiligen van je get.
Veel succes
Bijde; Erg bedankt! Hiermee moet het hopelijk wel lukken.

Reageren