Volledige versie bekijken : Speciale tekens in gastenboek wordt vreemd weergegeven ?!
tijmen_4real
%Europe/Berlin %821 %2008, 20:42
Hoi !
Op onze website (http://www.katwijk13.nl) heb ik een gastenboek, die door middel van Flash/AS, PHP en MySQL werkt. En hij werkt dan ook wel goed.
Het enige nadeel wat ik nu kan vinden is dat als iemand een bericht toevoegt met een speciaal teken, zoals bijvoorbeeld ' of " dat er in het uiteindelijke bericht altijd een \ voor komt te staan.
Video's wordt dan bijvoorbeeld Video\'s
Hoe kan dat, en hoe verhelp ik dit ?
Greetz,
Tijmen_4Real 8D
sander1
%Europe/Berlin %854 %2008, 21:30
Dat gebeurd als magic_quotes_gpc (http://www.php.net/manual/en/info.configuration.php#ini.magic-quotes-gpc) aan staat. Je kunt dit controleren en met de functie get_magic_quotes_gpc (http://www.php.net/manual/en/function.get-magic-quotes-gpc.php) en door het gebruik van stripslashes (http://www.php.net/manual/en/function.stripslashes.php) de extra slashes verwijderen, bijvoorbeeld zo:
if(get_magic_quotes_gpc())
{
$_POST = array_map(stripslashes, $_POST);
}Let er wel op dat je vervolgens bij het invoeren in je database de functie mysql_real_escape_string (http://www.php.net/manual/en/function.mysql-real-escape-string.php) gebruikt om misbruik in de vorm van SQL-injectie (http://nl.wikipedia.org/wiki/SQL-injectie) te voorkomen!
Bargok
%Europe/Berlin %909 %2008, 22:50
Mijn oplossing: zet het uit!.
Oplossing van sander1 is verkeerd, omdat je probleem bij de bron moet oplossen en niet voor een reactieve oplossing moet kiezen.
Aangezien magic_quotes er in PHP6 ook nog eens uitvliegt lijkt me de keuze gemakkelijk ;).
Vergeet inderdaad niet mysql_real_escape_string() toe te voegen.
sander1
%Europe/Berlin %915 %2008, 22:58
Mijn oplossing: zet het uit!.
Oplossing van sander1 is verkeerd, omdat je probleem bij de bron moet oplossen en niet voor een reactieve oplossing moet kiezen.Daar heb je helemaal gelijk in! Als je de php.ini niet kunt aanpassen kun je het met behulp van deze regel in je .htaccess magic quotes uitzetten:php_flag magic_quotes_gpc off
tijmen_4real
%Europe/Berlin %591 %2008, 15:11
Zet ik deze regel dan ook gewoon in mijn Guestbook.php ?
Of werkt dat anders...?
Galerius
%Europe/Berlin %594 %2008, 15:16
.htaccess (http://httpd.apache.org/docs/2.0/howto/htaccess.html)
tijmen_4real
%Europe/Berlin %616 %2008, 15:47
Als ik dan een .htaccess bestand aanmaak met de code:
php_flag magic_quotes_gpc offErin, krijg ik een internal server error (500)
Wat doe ik niet goed ??
Galerius
%Europe/Berlin %624 %2008, 15:59
Laat hem eens hier zien.
tijmen_4real
%Europe/Berlin %630 %2008, 16:08
Zie de bijlage (kheb dan wel de ditiseen weggehaald toen het bestand op m'n server stond)
Bargok
%Europe/Berlin %656 %2008, 16:44
Wat zijn je htaccess settings in je configuratie? :)
..Makkelijkste is nog steeds het in je php.ini uitzetten
tijmen_4real
%Europe/Berlin %690 %2008, 17:34
Wat zijn je htaccess settings in je configuratie?Hoe kom ik daar achter ?
..Makkelijkste is nog steeds het in je php.ini uitzettenHoe doe je dat ??
sander1
%Europe/Berlin %720 %2008, 18:17
Mooiste is php.ini, maar als je niet zelf de beheerder bent van de server waar je je site host, kun je hier meestal niet bij. 2e beste optie vind ik .htaccess, omdat het dan gelijk voor alle PHP scripts in die directory en subdirectories werkt. Een laatste optie is om dit regeltje op te nemen helemaal bovenin je PHP script:ini_set('magic_quotes_gpc', 'off');
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.