Avatar billede !asp Nybegynder
14. maj 2000 - 15:21 Der er 12 kommentarer og
1 løsning

hvilke karakterer skal jeg passe på med ?

Når jeg (via php) smider data ind i MySQL. Hvilke karakterer skal jeg så være opmærksom på?

Jeg går ud fra at jeg ihvertfald skal erstatte ' med \'
Avatar billede nej Nybegynder
14. maj 2000 - 15:28 #1
Efter en kort lille test, så tror jeg faktisk ikke du skal tage hensyn til noget... det hele køre ganske automatisk.. ? ikke fordi jeg fatter hvad den laver, men det virker :-)

Mvh Emil
Avatar billede razor Nybegynder
14. maj 2000 - 15:29 #2
brug php's funktion addslashes(); så er du ihvertfald sikret!
Avatar billede nerdyguy Nybegynder
14. maj 2000 - 15:48 #3
Hvad gør den der addslashes() ??
Jeg bruger htmlentities .. eller sådan noget !
Den erstatter <> med øhh.. &etellerandet;
... Så man disse html-tegn simpelthen ikke bliver til html !!
Avatar billede nej Nybegynder
14. maj 2000 - 15:50 #4
nerdyguy: den skal du jo først bruge når du hente det ud af db'en. addslashes() bruges til at skikre man ikke får syntaks fejl når kan smider det i hovedet på sin db.
Avatar billede razor Nybegynder
14. maj 2000 - 15:53 #5
og den anden vej kan man bruge stripslashes();
Avatar billede nerdyguy Nybegynder
14. maj 2000 - 15:54 #6
Nåh ;))
Hva' så med stripslashes() ?
(jeg har stødt på det et par gange)
Avatar billede nerdyguy Nybegynder
14. maj 2000 - 15:57 #7
Altså skrive til db:
addslashes()
Og læse fra db'en:
stripslashes()

??
Avatar billede razor Nybegynder
14. maj 2000 - 15:57 #8
øhh? til at fjerne de slashes - \ - man satte med addslashes();
Avatar billede nerdyguy Nybegynder
14. maj 2000 - 16:18 #9
Jaja .... Men 'nej' skriver at for at undgå syntaks skal man bruge addslashes .. inden man skriver til databasen!

Så skal man vel bruge stripslashes når mna skal læse ...
Avatar billede nej Nybegynder
14. maj 2000 - 16:30 #10
du skal ikke undgår nogen syntaks, hehe :-)

Well, jeg ved man du mener. Ja, det er nemlig rigtigt, det er jo også det razor har fået skrevet :-)

Mvh Emil
Avatar billede chruker Nybegynder
15. maj 2000 - 01:28 #11
Hvilke funktion du skal bruge hvor, kommer helt an på konfigurationen af php på din server. PHP har en funktion som hedder Magic Quoutes, og som fungere ved at alt data som transporteres via http kommandoerne GET, POST samt Cookie information, automatisk bliver kørt igennem addslashes funktionen. Konfiguration option hedder i php3.ini filen noget med magic_qoutes_gpc. I starten havde jeg slået denne funktion til (af ren uvidenhed), men nu er den konsekvent slået fra. Den giver simpelthen mere bøvl end gavn for erfarne brugere, der alligevel har styr på variablerne.

Med magic qoutes slået fra følger jeg disse regler:
- brug addslashes() lige inde data indsættes i en database med eks. INSERT
- brug urlencode() når man putter variabler på en url, eks. via header("Location: index.php3?story=".urlencode("This is my story..."));
- brug htmlentities() når alt data fra databasen printes ud mellem html koden. Det gælder både i ren tekst, i formularer og sågar A HREF urls.
Avatar billede chruker Nybegynder
15. maj 2000 - 01:29 #12
Lige en kommentar til brugen af stripslashes():  Den er der kun brug for når magic qoutes er slået til.
Avatar billede nej Nybegynder
15. maj 2000 - 01:38 #13
Tak for det.. Havde ikke lige bidt mærke i den Magic Quotes funktion...

Mvh Emil
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
Computerworld tilbyder specialiserede kurser i database-management

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