Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP/SQL: Miksi " muuttuu muotoon: \"

Haraldinho [14.04.2014 23:36:35]

#

Hei! Kun tallennan oheisella koodilla tietokantaan sivun tiedot, lainausmerkit (") muuttuvat tietokannassa muotoon \", vähän niin kuin käytettäisiin htmlspecialchars() -funktiota. Mistäköhän tämä johtuu ja miten saisin sen korjattua?

Lomake:

...
echo "<form name='edit' action='update.php?action=save&type=new' method='post'>
		<p>Name: <br><input type='text' class='text' name='name'/></p>
		<p>Title: <br><input type='title' class='text' name='title'/></p>
		<textarea name='content' class='textarea'>";
		echo "</textarea>";
		echo "<br><input type='submit' value='Publish'/></form>";
...

PHP -skripti, joka suorittaa kyselyn:

...
$name = $_POST["name"];
$title = $_POST["title"];
$content = $_POST["content"];

$query = $con->prepare("INSERT INTO pages (name, title, content) VALUES (?, ?, ?)");
$query->execute(array($name, $title, $content));
...

Triton [14.04.2014 23:42:32]

#

Etsipäs sellaiselle termillä googlesta kuin "magic quotes".

Haraldinho [14.04.2014 23:58:47]

#

Kiitos paljon Triton! Oli hankala yrittää googlettaa itse, kun en aluksi tiennyt, mitä hakisi :)

Eli se, onko magic quotes käytössä, on siis serverin määritettävissä? No, sain sen nyt joka tapauksessa korjattua kirjoittamalla .htaccessiin:

php_flag magic_quotes_gpc Off

, koska en pysty muuttamaan serverin asetuksia.

Grez [15.04.2014 04:10:19]

#

Ja mä kun luulin että tuosta syövästä olisi päästy eroon PHP 5.4 myötä o.O

No joo, näyttääpä 5.2 ja 5.3 olevan vielä 5 kertaa yleisemmin käytössä kuin 5.4

Haraldinho [15.04.2014 09:19:41]

#

Juu, hostilla on PHP:n versio 5.2...

Vastaus

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

Tietoa sivustosta