WRInaute discret
Bonjour,
J'ai mis en place un système permettant aux visiteurs de mon site de poster des réactions (sur le film Casino Royale), qui ensuite apparaissent dans ma console d'admin pour être validées ou supprimées.
Le problème que j'ai déjà remarqué est que certains messages lorsqu'ils sont validés n'apparaissent pas dans la base de données. Pourtant le script n'affiche aucune erreur PHP.
J'ai essayé beaucoup de possibilités différentes mais rien n'y fait c'est très étrange (ça ne vient ni de la longueur ni de caractères spéciaux) :?
Je vous met une portion du code qui ajoute les données du formulaire à la BDD (4 informations au total : date, auteur, commentaire et note).
Vous remarquerez que j'ai mis beaucoup de sécurités pour formater le texte entré par l'utilisateur. Il est possible que le problème vienne de là.
Annexe :
Merci d'avance pour vos idées !
J'ai mis en place un système permettant aux visiteurs de mon site de poster des réactions (sur le film Casino Royale), qui ensuite apparaissent dans ma console d'admin pour être validées ou supprimées.
Le problème que j'ai déjà remarqué est que certains messages lorsqu'ils sont validés n'apparaissent pas dans la base de données. Pourtant le script n'affiche aucune erreur PHP.
J'ai essayé beaucoup de possibilités différentes mais rien n'y fait c'est très étrange (ça ne vient ni de la longueur ni de caractères spéciaux) :?
Je vous met une portion du code qui ajoute les données du formulaire à la BDD (4 informations au total : date, auteur, commentaire et note).
Code:
$auteur = htmlspecialchars($auteur, ENT_QUOTES);
$auteur = spec_chars($auteur);
$commentaire = trim($commentaire);
$commentaire = htmlspecialchars($commentaire);
$commentaire = nl2br($commentaire);
$commentaire = spec_chars($commentaire);
$commentaire = str_replace("Â","",$commentaire);
$date = date('j M Y \à G:i');
$date = spec_chars($date);
db_connect();
$sql = "INSERT INTO $dbtable (ok, auteur, commentaire, note, date) VALUES ('0', '$auteur', '$commentaire', '$note', '$date')";
mysql_query ($sql);
Vous remarquerez que j'ai mis beaucoup de sécurités pour formater le texte entré par l'utilisateur. Il est possible que le problème vienne de là.
Annexe :
Code:
function spec_chars($chaine) {
for ($i = 161; $i < 255; $i++)
$chaine = ereg_replace(chr($i), "&#$i;", $chaine);
return $chaine;
}
Merci d'avance pour vos idées !