|  | 		    
					
        
         
          
         
	
          | |  | 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
 
 
 |  |  | 
 |  |