Formulaire PHP - code incorrect

Résolu/Fermé
Utilisateur anonyme - 16 août 2011 à 20:16
magicshark Messages postés 399 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 6 mai 2014 - 17 août 2011 à 00:41
Bonjour à la communauté !!

Je débute dans le PHP et je rencontre un petit problème que je n'arrive pas à résoudre depuis quelques semaines. C'est pourquoi je me tourne vers vous, qui avez peut-être la réponse..

Quand un visiteur de mon site se rend sur la page "livre d'or", il a un formulaire lui proposant de rentrer son pseudo, son message et un code de vérification (anti-bot). Seulement depuis quelques temps, quand le visiteur valide son message avec le code de vérification.. ma page php lui dit : Erreur : Le code est incorrect. Veuillez réessayer. Même quand le code de vérification est bon (je l'ai testé plusieurs fois)

Mon code :


<?php
mysql_connect("***********", "**********", "**********");
mysql_select_db("**********");



if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
    if ($_POST['code'] == $_SESSION['chaine'])
{

    $pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES); 
        
    $message = htmlentities($_POST['message'], ENT_QUOTES); 
    $message = nl2br($message);
$date = date('dm Y');	

	
    mysql_query("INSERT INTO livredor VALUES('', '" . $pseudo . "', '" . $message . "')");
	
	echo "<b>Votre message a bien été enregistré. Merci !</b><bR><br>";
} 
else
{
echo "<b>Erreur :</b> Le code est incorrect. Veuillez réessayer.<br><br>";
}
}



$nombreDeMessagesParPage = 2;
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livredor');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_messages'];

$nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);

echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
    echo '<a href="livredor.php?pageor=' . $i . '">' . $i . '</a> ';
}

?>

</p>

<?php

if (isset($_GET['pageor']))
{
    $pageor = $_GET['pageor']; 
}
else 
{
    $pageor = 1; 
}


$premierMessageAafficher = ($pageor - 1) * $nombreDeMessagesParPage;

$reponse = mysql_query('SELECT * FROM livredor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);

while ($donnees = mysql_fetch_array($reponse))
{
    echo '<p><b>' . $donnees['pseudo'] . '</b> a écrit :<br><br>' . $donnees['message'] . '</p> ______________________';
}

mysql_close(); 
?>


Si quelqu'un pouvait m'(aider ce serait génial - je lui serais très reconnaissant.

Merci à vous et bonne soirée.

Alex



A voir également:

3 réponses

magicshark Messages postés 399 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 6 mai 2014 13
16 août 2011 à 23:01
verifiez en faisant des echo de $_SESSION['chaine'] et $_POST['code'] car si il voit pas l'égalité entre les deux le probleme doit venir de là.
à moins que vous ayez oublier d'ecrire session_start(); en tout debut de page !
0
Utilisateur anonyme
16 août 2011 à 23:16
Ca a marché !! Merci magicshark !!

--> J'avais oublié le SESSION_START(); !!

Merci beaucoup - cette communauté est vraiment très efficace - j'aime !
0
magicshark Messages postés 399 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 6 mai 2014 13
17 août 2011 à 00:41
de rien
0