Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: '-merkki aiheuttaa ongelmia kyselyissä :(

TH [09.05.2004 11:54:01]

#

Huomasin kun lisään MySQL tietokantaan tai muutan tietoja, tekstissäni oleva '-merkki aiheuttaa ongelmia kyselyissä.

Onko olemassa mitään valmista funktiota jolla pääsisi eroon tästä ongelmasta?

Vai pitäisikö esim. ennen tietokantaan tallentamista muuttaa kaikki '-merkit vaikkapa "[merkki]"-muotoon ja tekstiä tulostettaessa sitten muuttaa kaikki "[merkki]"-kohdat '-merkeiksi?

Ja, onko mitään muita merkkejä joita tulisi varoa käyttämästä?

kasetti [09.05.2004 12:00:10]

#

addslashes (tietokantaan tallettaessa) lisää merkkien kuten (' ja ") eteen kenoviivan. stripslashes (tietokannasta haettaessa) poistaa tuon kenoviivan.

sitten on quotemeta joka laittaa kans kenon (\) näitten merkkien eteen: . \\ + * ? [ ^ ] ( $ )

tossa ainakin muutama esimerkki mitä itse käytän...

TH [09.05.2004 12:24:05]

#

Jes, kiitos. :)

folio [09.05.2004 12:25:15]

#

addslashes on hyvä, stripslashes-funktiota et tarvitse.

TH [09.05.2004 16:54:11]

#

Hmmm, jotenkin outoa. Jostain syystä stripslashes ei tunnu toimivan. Addslashes kyllä toimii, mutta stripslashes ei millään. :/ Ja ei kai stripslashes niin kovin uusi käskykään ole PHP:ssä? En tiedä mikä vikana..

Edit: Idiootti taas vauhdissa....
Käytin

stripslashes($teksti);

..vaikka olisi pitänyt käyttää

$teksti = stripslashes($teksti);

Nyt toimii hyvin. Tajusin vian kun katsoin miten olin addslashesia käyttänyt.

folio [09.05.2004 23:06:36]

#

Ei sitä stripslashesia edelleenkään tarvita...

https://www.php.net/manual/en/function.addslashes.php:

The PHP directive magic_quotes_gpc is on by default, and it essentially runs addslashes() on all GET, POST, and COOKIE data. Do not use addslashes() on strings that have already been escaped with magic_quotes_gpc as you'll then do double escaping.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta