Avatar billede lraj Nybegynder
31. august 2009 - 19:50 Der er 15 kommentarer og
1 løsning

Addslash nl2br

Hej Eksperter.

Det forholder sig således, at jeg har en form for nyheder på mit site. Da apostrof fucker op og laver en helveds masse \\\\\\\\\\\ alt efter hvor mange gange man retter nyheden, mm. så har jeg valgt at bruge stripslashes() når den gemmer indholdet, som man tilføjer via. admin.

Men, her er problematikken:
Jeg udskriver så via print nl2br($hent_variabel[tekst]);
Det vil normalt når jeg ikke har brugt stripslashes gøre, at der kommer linjeskift. Men, det ser ud til, at de steder der er linjeskift, der står der bare et "r", uanset om nl2br er på ved udskrivelse eller ej. Hvad kan jeg gøre?

Mvh. Jonas
Avatar billede lraj Nybegynder
31. august 2009 - 19:51 #1
Beklager overskriften med addslash, jeg mente stripslashes
Avatar billede repox Seniormester
31. august 2009 - 20:18 #2
Hvordan ser den kode ud du bruger når du skal redigere din tekst?  Altså, den del der henter det frem? Samt den du gemmer din tekst med? Og har en en sample-text (bare et udsnit) af det der f.eks giver dig problemer med backslashes.
Avatar billede lraj Nybegynder
31. august 2009 - 20:50 #3
Problemet er slet ikke redigeringen lige nu, men generelt bare apostrof, for selvom jeg så smider mit rette script væk og slet ikke retter noget, så laver den stadig '\\ ved oprettelse
Avatar billede lraj Nybegynder
31. august 2009 - 20:51 #4
Opretter:

mysql_query("INSERT INTO tabel (overskrift, tekst, dato) VALUES ('$_POST[overskriftdato]', '$_POST[tekstdato]', '".$_POST[dag]."/".$_POST[mdr]."/".$_POST[aar]."')") OR DIE (mysql_error());

Henter:

$se_todayevent = mysql_query("SELECT * FROM tabel WHERE id = '$_GET[datoid]'") or die(mysql_error());
$se_event = mysql_fetch_array($se_todayevent);

print nl2br($se_event[tekst]);
Avatar billede repox Seniormester
31. august 2009 - 21:10 #5
Har du tilfældigvis magic_quotes slået til?
Avatar billede lraj Nybegynder
31. august 2009 - 22:26 #6
magic_quotes_gpc    On    On
magic_quotes_runtime    Off    Off
magic_quotes_sybase    Off    Off
Avatar billede repox Seniormester
31. august 2009 - 22:32 #7
Det har du, så det er sådan set det der er problemet.
Du må strippe slashes inden du smider i databasen, på grund af at der i dine $_POST data bliver tilføjet slashes...
Avatar billede lraj Nybegynder
01. september 2009 - 18:08 #8
Jeg var lige inde og prøve, at bede hostet om at disable det, men det var standard og kunne ikke ændres .. kan du evt. give et eksempel på hvordan jeg stripper slashes inden jeg smider det i databasen?
Avatar billede repox Seniormester
01. september 2009 - 18:17 #9
$overskrift = stripslashes($_POST["overskriftdato"]);
$tekst = stripslashes($_POST["tekstdato"]);
$dato = stripslashes($_POST["dag"]."/".$_POST["mdr"]."/".$_POST["aar"]);

$sql = "INSERT INTO tabel (overskrift, tekst, dato) VALUES ('".$overskrift."', '".$tekst."', '".$dato."')";

$res = mysql_query($sql);
if(!$res)
    echo mysql_error();
Avatar billede lraj Nybegynder
02. september 2009 - 09:59 #10
Jeg har prøver at stripslashe dem inden jeg sætter det ind, her er problemet blot at den "fucker" mit nl2br($hent_tekst); op når jeg skal udskrive teksten. Linjeskift bliver til et r
Avatar billede repox Seniormester
02. september 2009 - 10:05 #11
str_replace("\r", "<br />", $hent_tekst);
Avatar billede lraj Nybegynder
02. september 2009 - 11:37 #12
Problemet er, den laver ikke engang \r der står bare et r
Avatar billede lraj Nybegynder
02. september 2009 - 11:38 #13
der står faktisk bare "rn"
Avatar billede repox Seniormester
02. september 2009 - 11:42 #14
Smid det her i din .htaccess fil, og glem de oprindelige rettelser for at imødekomme problemet:
php_flag magic_quotes_gpc Off
Avatar billede lraj Nybegynder
24. januar 2010 - 16:56 #15
undskyld, jeg fik vidst aldrig bedt dig om at lægge et svar i sin tid, men det virkede husker jeg. Læg et svar.
Avatar billede repox Seniormester
24. januar 2010 - 18:10 #16
Det fik du her
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