addslashes & stripslashes

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hans-Paul

Hans-Paul

27/03/2007 11:47:00
Quote Anchor link
Beste mensen,

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);
 
PHP hulp

PHP hulp

20/11/2024 15:20:36
 
Frank -

Frank -

27/03/2007 11:54:00
Quote Anchor link
Helaas, zowel add als strip kunnen de prullenbak in. Het is niet anders.

Hier een functie die ik eens van Jan Koehoorn heb gekregen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);
?>

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.
 
Hans-Paul

Hans-Paul

27/03/2007 17:22:00
Quote Anchor link
Al opgelost door stripslashes onder de str_replace te plaatsen.

@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?
 
Frank -

Frank -

27/03/2007 17:29:00
Quote Anchor link
Quote:
ik zie dat frank zijn code netjes in zo'n veld zet. Hoe doe je dat?
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.
 
Luke Banning

Luke Banning

27/03/2007 17:32:00
Quote Anchor link
als je de
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php hier je code plaatsen ?>
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 ;)
Gewijzigd op 01/01/1970 01:00:00 door Luke Banning
 
Frank -

Frank -

27/03/2007 17:36:00
Quote Anchor link
Ah! Op die fiets
 
Hans-Paul

Hans-Paul

27/03/2007 17:39:00
Quote Anchor link
Jep dat bedoelde ik! Maar in ieder geval: iedereen bedankt voor jullie hulp!
 



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.