|
| mysql_real_escape_string? Fra : Kasper Lund |
Dato : 22-06-06 12:58 |
|
Hej med jer.
Jeg sidder og leger med subj.
Jeg vil kun havde den brugerindtastede tekst kørt gennem funktionen, og
har derfor delt det op som vist herunder:
$start = "insert into tgwall_txt(date, user, subject, body) values('";
$sep = "','";
$date = $dato;
$navn = $_POST['navn'];
$subject = $_POST['overskrift'];
$subject = mysql_real_escape_string($subject);
$body = $_POST['text'];
$body = mysql_real_escape_string($body);
$end = "')";
$sqlupdate = $start.$date.$sep.$navn.$sep.$subject.$sep.$body.$end;
echo $sqlupdate;
$sqlupdate er nu lig med følgende: (Har fødet den med lidt tekst med
nogle af dem her ' og dem her "
insert into tgwall_txt(date, user, subject, body) values('2006-06-22
13:51:12','Kasper Lund','Detter en en test','Endnu et te\\\'st \\\"Hej, ja
det er en test\\\"...')
Men hvorfor kommer der 3 \\\ "escapere" hver gang.
Hvis jeg fjerner de to linier med mysql_real_escape_string ser der fint ud
- bortset fra at den jo så ikke escaper.
Nogen der kan hjælpe.
Min udbyder (cliche) kører iøvrigt en så gammel version af php at end
ikke "mysql_escape_string" er med - hvad kan jeg gøre istedet?
Mvh.
Kasper Lund
| |
Johan Holst Nielsen (22-06-2006)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 22-06-06 20:06 |
|
Kasper Lund wrote:
> insert into tgwall_txt(date, user, subject, body) values('2006-06-22
> 13:51:12','Kasper Lund','Detter en en test','Endnu et te\\\'st \\\"Hej, ja
> det er en test\\\"...')
>
> Men hvorfor kommer der 3 \\\ "escapere" hver gang.
>
> Hvis jeg fjerner de to linier med mysql_real_escape_string ser der fint ud
> - bortset fra at den jo så ikke escaper.
Well - det er pga. det (forbandede) magic_quotes...
lav følgende funktion...
<?php
function smart_ass_escaper($s) {
if(get_magic_quotes_gpc()) { $s = stripslashes($s); }
return mysql_real_escape_string($s);
}
og brug den i stedet til at escape med ;)
?>
| |
Kasper Lund (23-06-2006)
| Kommentar Fra : Kasper Lund |
Dato : 23-06-06 06:31 |
|
On Thu, 22 Jun 2006 21:05:48 +0200, Johan Holst Nielsen wrote:
> Kasper Lund wrote:
>
>> insert into tgwall_txt(date, user, subject, body) values('2006-06-22
>> 13:51:12','Kasper Lund','Detter en en test','Endnu et te\\\'st \\\"Hej, ja
>> det er en test\\\"...')
>>
>> Men hvorfor kommer der 3 \\\ "escapere" hver gang.
>>
>> Hvis jeg fjerner de to linier med mysql_real_escape_string ser der fint ud
>> - bortset fra at den jo så ikke escaper.
>
> Well - det er pga. det (forbandede) magic_quotes...
>
> lav følgende funktion...
>
> <?php
> function smart_ass_escaper($s) {
> if(get_magic_quotes_gpc()) { $s = stripslashes($s); }
> return mysql_real_escape_string($s);
> }
>
> og brug den i stedet til at escape med ;)
>
> ?>
Takker
| |
|
|