Problème d'enregistrement

Fermé
Tedd - 22 mai 2014 à 04:15
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 - 22 mai 2014 à 12:53
Bonjour ou Bonsoir, a tous je ne comprend pas ce qui cloche avec la fonction execute si quelqu'un veut bien m'aider merci.
[code]


<!doctype html>
<html>
<head>
<title>minichat</title>
</head>

<body>
<p>
<form methode='POST' action='minichat_Copie.php'>
<input type='text' name='pseudo' placeholder='Tapez votre pseudo ici' /> <br/>
<textarea name='message' placeholder='Tapez votre message ici' ></textarea>
<input type='submit' value='Envoyer'>

<form/>
</p>

</body>




</html>




<?php

try {
$bdd =new PDO('mysql:host=localhost;dbname=test', 'root', '',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch (Exception $e)

{


die('Erreur'.$e->getMessage());

}

$req=$bdd->prepare('INSERT INTO minichat(pseudo,message) VALUES(?,?)');

$req=execute(array($_POST['pseudo'], $_POST['message']));


$req->closecursor();





$reponse=$bdd->query('SELECT pseudo, message FROM minichat ORDER BY ID DESC LIMIT 0,10');

while($donnees=$reponse->fetch())
{
echo htmlspecialchars($donnees['pseudo']) .' '. htmlspecialchars($donnees['message']) ;




}


$reponse->closecursor();

?>










/code


A voir également:

2 réponses

Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
Modifié par Nhay le 22/05/2014 à 12:53
Google Translate est ton Ami :)
Undefined index => tu utilise une variable/clé de tableau qui n'existe pas.
Solutions :
Tester avec un isset pour le setter si besoin ou ignorer ce message d'erreur (Les messages de type notice ne sont pas bloquant).

Pour le deuxième, c'est même indiqué en français la chance !
Colonne' pseudo 'ne peut pas être null' qui signifie surement que la colonne pseudo ne peut pas être null.

En gros, tes variables Post ne doivent pas exister.
Surement parce que tu a écrit method avec un e en trop dans ton form.
2
pour execute c'est bon j'ai faisune bad copie donc on remplace = par -> .
maintenant le nouveau problème est :

Notice: Undefined index: pseudo dans C: \ wamp \ www \ TP2 \ minichat_Copie.php sur la ligne 43

puis
Notice: Undefined index: message dans C: \ wamp \ www \ TP2 \ minichat_Copie.php sur la ligne 43

et

(!) Fatal error: Uncaught exception 'PDOException' avec le message 'SQLSTATE [23000]: Integrity violation de contrainte: 1048 Colonne' pseudo 'ne peut pas être null' dans C: \ wamp \ www \ TP2 \ minichat_Copie.php sur la ligne 43
(!) PDOException: SQLSTATE [23000]: Integrity violation de contrainte: 1048 Colonne 'pseudo' ne peut pas être null dans C: \ wamp \ www \ TP2 \ minichat_Copie.php sur la ligne 43.

MERCI
0