J'ai précédemment créé un livre d'or grâce à un tutoriel que j'ai suivi, mais rien ne fonctionne ^^' ( pour changer x) )
Mon code se constitue sur deux page,
ma page livreor.php :
<?php session_start(); ?>
<!DOCTYPE HTML>
<html>
<head>
<link href="mafavicon.png" rel="shortcut icon" title="montitre" type="image/png" />
<link href="css1.css" rel="stylesheet" type="text/css">
<title>Livre d'or / Laissez votre avis par rapport au site, aux artistes, et divers sujets.</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="Livre d'or, donner votre avis, sur les artistes, le site ou d'autres thèmes." />
<meta name="keywords" content="livre d'or, avis, commentaires, messages, site, notation, sujet" />
</head>
<body>
<div id="container">
<?php include("header.inc.php"); ?>
<?php include("menus.inc.php"); ?>
<div id="corpslivreor">
<div id="retourselect">
<a href="livreor.php" title="recharger la page"><h1 class="titre1">Livre d'or</h1></a>
</div>
<div id="textelivreor">
<p class="texte2">Ici, vous pourrez donner votre avis par rapport au site, aux artistes ou autres sujets...</p>
</div>
<form action="signaturelivreor.php" method="post">
<fieldset>
<p class="classinscr"><label>Votre pseudo :
<input type="text" name="membre_pseudo" />
</label>
</p>
<p class="classinscr">
<label>Votre message :
<input type="text" name="messagelo" />
</label>
</p>
<p class="classinscr">
<label>donnez une note :
<input type="text" name="note" />
</label>
</p>
<p class="classinscr">
<label>
<input type="submit" name="submit" value="envoyer" />
</label>
</p>
</fieldset>
</form>
<?php require_once("connexionlivreor.inc.php");
$reponse = $bdd->prepare('SELECT membre_pseudo,messagelo,note,dateedit FROM commentaire ORDER BY dateedit DESC');
$reponse->execute();
$nb_signature = $reponse->fetch(PDO::FETCH_ASSOC);
if ($nb_signature==NULL)
{
echo '<p class="textewarning">'."aucune signature.".'<p>';
}
else {
while ($data = $reponse->fetch())
echo htmlspecialchars($data['membre_pseudo']);
echo htmlspecialchars($data['messagelo']);
echo htmlspecialchars($data['note']);
echo htmlspecialchars($data['dateedit']);
} $reponse->closeCursor(); ?>
</div>
<?php include("footer.inc.php"); ?>
</div>
</body>
</html>
et ma page signaturelivreor : <?php session_start(); ?>
<?php
if ((isset($_POST['membre_pseudo'])) && (isset($_POST['messagelo']))) {
if ((!empty($_POST['membre_pseudo'])) && (!empty($_POST['messagelo']))) {
require_once("connexionlivreor.inc.php");
$reponse = $bdd->prepare('INSERT INTO commentaire (membre_pseudo,messagelo,note,dateedit) VALUES (:membre_pseudo,:messagelo,CURDATE())');
$reponse->execute(array('membre_pseudo'=>$_POST['membre_pseudo'],'messagelo'=>$_POST['messagelo']));
header('Location: livreor.php');
}
else {
echo "Au moins un des champs est vide.";
}
}
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>laissez votre signature, vos commentaires et votre note</title>
</head>
<body>
</body>
</html>
une erreur s'affiche lorsque le membre tente d'envoyer un message :Merci pour votre attention.Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[21S01]: Insert value list does not match column list: 1136 Column count doesn't match value count at row 1' in /home/croba286/public_html/signaturelivreor.php:10 Stack trace: #0 /home/croba286/public_html/signaturelivreor.php(10): PDOStatement->execute(Array) #1 {main} thrown in /home/croba286/public_html/signaturelivreor.php on line 10