Avatar billede michaeltryl Seniormester
15. november 2007 - 21:41 Der er 4 kommentarer og
1 løsning

problem med stripslashes

jeg har følgende udtræk til et forum, men skriver jeg f.eks.

hej med "dig"
som et indlæg i forummet udskrives det som
hej med \"dig\"
Jeg har prøvet og flytte lidt rundt på stripslashes men det giver ingen ændring.
Det har virket før, men efter jeg har flyttet til anden server er den fejl kommet.
håber der er en som har et bud (stripslashes er til sidst i koden herunder)
$grupper = mysql_query("SELECT * ,DATE_FORMAT(dato, '%d') AS ndato, DATE_FORMAT(dato, '%m') AS nmaaned, DATE_FORMAT(dato, '%Y') AS naar, DATE_FORMAT(dato, '%H:%i:%s') AS ntid FROM forumtraad WHERE parent = $traad AND spg = 1 ORDER BY dato ASC limit $vis_fra, $pr_side") or die(mysql_error());
while ( $b = mysql_fetch_array($grupper))
{
$id = $b['traadID'];

$ntekst = $b['tekst'];

//replace <b> og </b> til og i $text
$ord_der_skal_erstattes = array("<b>","</b>","<i>","</i>","<u>","</u>","<boks>","</boks>");
$erstat_ord_med = array("","","","","","","[boks]","[/boks]");
$ntekst = str_replace($ord_der_skal_erstattes, $erstat_ord_med, $ntekst);
//erstat slut

$ntekst = htmlentities($ntekst);

//replace og til <b> og </b> i $text
$ord_der_skal_erstattes = array("","","","","","","[boks]","[/boks]");
$erstat_ord_med = array("<b>","</b>","<i>","</i>","<u>","</u>","<div class='boks'>","</div>");
$ntekst = str_replace($ord_der_skal_erstattes, $erstat_ord_med, $ntekst);
//erstat slut

$ntekst = nl2br("$ntekst");
$ntekst = url2link($ntekst);

$nbruger = $b['bruger'];
$nforfatter = $b['forfatter'];
$ndato = $b['ndato'];
$nmaaned = $b['nmaaned'];
$naar = $b['naar'];
$ntid = $b['ntid'];

$nban_tekst = str_replace($bad, $good, $ntekst);
//smileys insættes
$nsmil = mysql_query("SELECT tekst, billede FROM smiley ORDER BY smilid");
while($nsmi = mysql_fetch_array($nsmil))
{
  $nban_tekst = str_replace($nsmi['tekst'], "<img border='0' src='$side/smiley/".$nsmi['billede']."'>", $nban_tekst);
}
$nsmil_tekst = $nban_tekst;
//smiley slut
$nsmil_tekst =stripslashes($nsmil_tekst);
Avatar billede delphinarious Nybegynder
16. november 2007 - 12:49 #1
Hvad står der i databasen, hvis du kigger direkte der?

Det kunne godt være fordi der er sat 2 x slashes. Ved f.eks. at hos Wannafind add'es der automatisk slashes ved posted vars, så hvis du så selv gør det også bagefter, så er der 2 x slashes, og så vil stripslashes() kun strippe det ene lag...
Avatar billede ilithanos Nybegynder
16. november 2007 - 15:25 #2
prøv lige at lave en php fil med koden: <?php get_magic_quotes_gpc()?> og lig den op på din server, og se hvilket tal den giver, hvis den skriver 1, har vi problemet der, hvis den skriver 0 er det et andet problem.

hvis din host har magic_quotes slået til laver den selv addslashes på dine ting, hvilket så vil sige at når du smider tingene ind i databasen skal du ikke bruge addslashes kommandoen, dette kan være problemet i den her sammenhæng.
Avatar billede michaeltryl Seniormester
16. november 2007 - 19:53 #3
ved ikke lig hvad der har været galt igår, men problemet har løst sig selv. idag virker det perfekt.
jeg bruger ikke addslashes kommandoen når der postes indlæg men mysql_real_escape_string
I skal alligevel have tak for jeres bud og vil godt give point så bare smid et svar så fordeler jeg points i mellem jer.
Avatar billede ilithanos Nybegynder
16. november 2007 - 20:49 #4
bare i orden. her er et svar, op til dig selv om du vil give mig point dog, da jeg ikke ved om jeg har været til nogen hjælp for dig.
Avatar billede michaeltryl Seniormester
17. november 2007 - 16:25 #5
jeg lukker her. tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester