Gå til innhold

Det kommer \ foran alle ' som blir hentet ut LØST


Anbefalte innlegg

Skrevet (endret)

Hei!

Hvorfor kommer det en slik backslash foran alle ' (husker ikke hva de heter), når jeg henter ut fra MySQL databasen min?

 

Noen som vet hvordan jeg kan bli kvitt dette?

 

 

Edit: det står forresten \ foran ' i databasen også :S

Endret av Andy-Pandy
Videoannonse
Annonse
Skrevet
Hei!

Hvorfor kommer det en slik backslash foran alle ' (husker ikke hva de heter), når jeg henter ut fra MySQL databasen min?

 

Noen som vet hvordan jeg kan bli kvitt dette?

 

 

Edit: det står forresten \ foran ' i databasen også :S

8017939[/snapback]

'stripslashes($string)

Skrevet

Jeg skrev slik på hver enkelt:

 

$navn = stripslashes($navn);

 

og så prøvde jeg

 

stripslashes($string);

 

men begge gjorde jo bare slik at det ble ca 20 ekstra \ på hvert sted :S

Skrevet

Hvis du først bruker stripslashes() et sted, trenger du ikke bruke den igjen.

 

Og CruellaDeVille, vær så snill; ikke quote trådstarters post når du har første svar ;)

Skrevet

Hmm...jeg har 5 input's, alle med forskjellige navn, men jeg trenger bare å skrive stripslashes($string); og ingenting mer? Altså...$string skal ikke byttes ut, eller skal det bare være () uten noe inni?

Dere gjør meg forvirret :S hehe

Skrevet
Hmm...jeg har 5 input's, alle med forskjellige navn, men jeg trenger bare å skrive stripslashes($string); og ingenting mer? Altså...$string skal ikke byttes ut, eller skal det bare være () uten noe inni?

Dere gjør meg forvirret :S hehe

8020182[/snapback]

 

Hvis variabelen din heter $navn skal du skrive stripslashes($navn), heter den $fisk skal du skrive stripslashes($fisk) osv.

 

Parameter til stripslashes er en hvilkensomhelst streng, ser at det var en teit måte å skrive det på.

Skrevet
Edit:

Får det ikke til å fungere...la til koden på pastebin på NWF her. Håper jeg får det til å fungere snart ...

8020262[/snapback]

 

Får du feilmeldinger? Ta å sleng på or die(mysql_error()) der hvor du kjører spørringen din.

Skrevet

Får ingen feilmeldinger, men det fungerer bare ikke...Det blir bare det samme.

 

Eneste forskjellen er at ikke hele teksten kommer med i tekstboksene jeg henter ut i. Det blir liksom sånn her:

I\

i stedet for kanskje...

I'm smart - not

Skrevet (endret)

Fra PHP Manualen: stripslashes:

Returns a string with backslashes stripped off.

Dette betyr at du også må lagre stringen i en variabel. MAO:

$tittel = stripslashes($tittel);

Men hvorfor du skal åpne sikkerhetshullet du nettopp har tettet skjønner ikke jeg. stripslashes() skal brukes på output, ikke på input.

 

EDIT: Så litt nøyere på koden din, og skjønner at du bare har missforstått hvor stripslashes skal stå.

 

På linje 21, 23, 27, osv, hvor du skriver ut $row['something'] er stedet du skal sette inn stripslashes. Bytt ut til echo stripslashes($row['something']); og du skal se at ting funker.

Endret av Torkild
Skrevet (endret)

Ah...det forklarer jo omtrent alt, gjør det ikke?

 

Men skal jeg gjøre slik da:

 

echo stripslashes(bbcode($navn));

 

Fungerer det i det hele tatt, egentlig?

 

 

Edit: yay! Takk :D Det fungerte :)

Endret av Andy-Pandy
  • 2 uker senere...
Skrevet (endret)

Nå trenger men vel egentlig ikke å bruke stripslash på noe som er lagt inn i databasen med mindre det er blitt escapet 2 ganger (1 gang fra magic quotes og en gang med addslashes eller mysql real escape).

Endret av shaker
Skrevet

Escapet 2 ganger? Du mener med f. eks mysql_real_escape_string og den magic quotes for eksempel? For jeg bruker bare mysql_real_escape_string. Kan ikke de andre

 

Men som sagt, så er den løst. Var bare å bruke

echo stripslashes(bbcode($string)); ;)

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...