/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
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

Søg
Reklame
Statistik
Spørgsmål : 177516
Tips : 31968
Nyheder : 719565
Indlæg : 6408629
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste