Je suis en train de faire un script de minitchat. Tout marche sauf la protection de mon texte. Quand je rajoute "->quote(), plus rien ne s'enregistre dans ma base de donnée pourtant on m'a dit que pour protéger ses données li fallait faire comme ça. Quand je met rien par contre sa marche mais les données ne sont pas protéger!
J'aimerais donc savoir comment protéger mes données sans activer la fonction get_magic_quote() !
Merci d'avance.
div id="minitchat">
<div class="corps_menu">
<?php
$login = "root";
$pass = "";
$dsn = 'mysql:host=localhost;dbname=test';
try {
$dbh = new PDO($dsn, $login, $pass);
} catch (Exception $e) {
print "erreur ! :" . $e.getMessage() . "<br />";
die();
}
if (!empty($_POST['pseudo']) and !empty($_POST['message']))
{
$pseudo = ($_POST['pseudo']); // variable a protéger
$message = ($_POST['message']); // variable a protéger
$sql = "INSERT INTO minichat VALUES('', '".$pseudo."', '".$message."', '".time()."')";
$resultat = $dbh->exec($sql);
}
?>
<?php
$reponse = "SELECT * FROM minichat ORDER BY id DESC LIMIT 0,15";
$sth = $dbh->query($reponse);
while ($donnees = $sth->fetch() )
{
?>
<p class="minchat"><strong><span class="form_pseudo"><?php echo $donnees['pseudo']; ?></span></strong><br / >
<?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?><br />
<?php echo $donnees['message']; ?><hr />
</p>
<?php
}
$dbh = NULL;
?>
<form action="index.php" method="post">
<p>
<input type="text" name="pseudo" value="<?php echo $_POST['pseudo']; ?>" /><br />
<input type="text" name="message" /><br />
<input type="submit" value="envoyer" />
</p>
</form>
</div>
</div>
</body>
</html>