addslashes & stripslashes
Ben momenteel bezig met het ontwikkelen van een website.
Hiervoor worden dingen in een database gezet.
Om problemen te voorkomen netjes met addslashes in de database gezet.
Maar als ik nu het via stripslashes eruit haalt laat php de slashes gewoon staan.
zie hier onder de code voor addslashes:
$titel = addslashes($titel);
$bericht = addslashes($bericht);
Code voor stripslashes:
$titel = stripslashes($titel);
$bericht = stripslashes($bericht);
$titel = $record1->titel;
$bericht = $record1->bericht;
$url1 = '<a href="';
$bericht1 = str_replace('[url=', $url1, $bericht);
$url2 = '</a>';
$bericht2 = str_replace('[/url]', $url2, $bericht1);
$url3 = '" target="_blank">';
$bericht3 = str_replace(']', $url3, $bericht2);
Hier een functie die ik eens van Jan Koehoorn heb gekregen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
function quote_smart ($value) {
if (get_magic_quotes_gpc ()) {
$value = stripslashes($value);
}
if (version_compare (phpversion (),"4.3.0") == "-1") {
return mysql_escape_string ($value);
}
else {
return mysql_real_escape_string ($value);
}
}
$titel = quotes_smart($titel);
?>
function quote_smart ($value) {
if (get_magic_quotes_gpc ()) {
$value = stripslashes($value);
}
if (version_compare (phpversion (),"4.3.0") == "-1") {
return mysql_escape_string ($value);
}
else {
return mysql_real_escape_string ($value);
}
}
$titel = quotes_smart($titel);
?>
Deze constructie is voor MySQL, voor PostgreSQL heb je uiteraard een andere quote-functie nodig (zie de php-handleiding).
Het is nog handiger (pers. mening) om PDO te gebruiken en die te laten quoten. Dan hoef jij je helemaal nooit meer ergens druk over te maken, ook niet als je een ander type database gaat gebruiken. PHP versie 5 is wel vereist.
@frank: jou oplossing hou ik ook in me achterhoofd. De oplossing van php5 gaat niet werken in mijn geval. Ik gebruik dit script voor diverse servers, waar php 4 en 5 op draaien. In ieder geval bedankt voor het mee denken!
Hieronder de oplossing in codes:
$titel = $record1->titel;
$bericht = $record1->bericht;
$url1 = '<a href="';
$bericht1 = str_replace('[url=', $url1, $bericht);
$url2 = '</a>';
$bericht2 = str_replace('[/url]', $url2, $bericht1);
$url3 = '" target="_blank">';
$bericht3 = str_replace(']', $url3, $bericht2);
$titel = stripslashes($titel);
$bericht4 = stripslashes($bericht3);
Ander vraagje overigens: ik zie dat frank zijn code netjes in zo'n veld zet. Hoe doe je dat?
Quote:
Ten eerste is de code afkomstig van Jan Koehoorn en ten tweede heb ik geen flauw idee wat je hier probeert te vragen. Wellicht kun je de vraag op een andere manier stellen.ik zie dat frank zijn code netjes in zo'n veld zet. Hoe doe je dat?
tekens gewoon typt word het automatisch in een code vak gezet.
Een andere optie is het typen van
hier je code plaatsen.
Dat bedoelde hij ;)
als je de Een andere optie is het typen van
hier je code plaatsen.
Dat bedoelde hij ;)
Gewijzigd op 01/01/1970 01:00:00 door Luke Banning
Ah! Op die fiets
Jep dat bedoelde ik! Maar in ieder geval: iedereen bedankt voor jullie hulp!