PHP TUTO CHAT - Problème d'insertion dans la Base de Données
- Accueil
- Forum
- Programmation
- PHP
- PHP TUTO CHAT - Problème d'insertion dans la Base de Données
Ce topic a été résolu
Adridri Le 4 avril 2018 à 19:07 (Édité le 25 janvier 2019 à 17:54)
Bonjour à tous et merci de m'accorder de votre temps,
Je suis actuellement en train d'apprendre le PHP, j'ai suivi le tutoriel de l'espace membre que j'ai reproduit, qui fonctionne parfaitement. Je souhaite maintenant intégrer un chat à mon site.
J'ai donc fait en sorte de récupérer l'id du membre qui se connecte au chat, puis je recupère le pseudo de ce membre, jusq'ici tout fonctionne. Le problème est au niveau de l'insertion dans la base de données. En effet, malgré toutes mes recherches, je n'ai pas trouvé pourquoi rien n'apparaissait dans ma table 'chat' dans ma base de données. Cependant je ne sais pas comment le corriger. J'ai vérifié et il me semble que le problème viens de la connexion à la base de données, ou quelque chose comme ça, mais je ne trouve pas où...
Je vous mets le code en dessous.
Merci d'avance. Adrien
PS : ma table 'chat' contient une ligne id (INT en A.I et index primaire), un pseudo (VARCHAR) et un message(TEXT)
ma table 'membres' contient une ligne id (INT en A.I index primaire), et un pseudo (VARCHAR), ainsi que d'autres lignes non utilisées
EDIT : j'ai trouvé l'erreur... Ligne _ il manquait le _ dans le $_POST ... Les erreurs les plus bêtes sont les plus dures à remarquer souvent ...
Je suis actuellement en train d'apprendre le PHP, j'ai suivi le tutoriel de l'espace membre que j'ai reproduit, qui fonctionne parfaitement. Je souhaite maintenant intégrer un chat à mon site.
J'ai donc fait en sorte de récupérer l'id du membre qui se connecte au chat, puis je recupère le pseudo de ce membre, jusq'ici tout fonctionne. Le problème est au niveau de l'insertion dans la base de données. En effet, malgré toutes mes recherches, je n'ai pas trouvé pourquoi rien n'apparaissait dans ma table 'chat' dans ma base de données. Cependant je ne sais pas comment le corriger. J'ai vérifié et il me semble que le problème viens de la connexion à la base de données, ou quelque chose comme ça, mais je ne trouve pas où...
Je vous mets le code en dessous.
Merci d'avance. Adrien
PS : ma table 'chat' contient une ligne id (INT en A.I et index primaire), un pseudo (VARCHAR) et un message(TEXT)
ma table 'membres' contient une ligne id (INT en A.I index primaire), et un pseudo (VARCHAR), ainsi que d'autres lignes non utilisées
<?php
session_start();
$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre;charset=utf8', 'root', '');
$requser = $bdd->prepare("SELECT * FROM membres WHERE id = ?");
$requser->execute(array($_SESSION['id']));
$user = $requser->fetch();
if (isset($user['pseudo'])) {
if (isset($POST['message']) AND !empty($_POST['message'])) {
$message = htmlspecialchars($_POST['message']);
$pseudo = $user['pseudo'];
$insertmsg = $bdd->prepare("INSERT INTO chat(pseudo, message) VALUES (?, ?)");
$insertmsg->execute(array($pseudo, $message));
}
?>
<html>
<head>
<title>Chat</title>
<meta charset="utf-8">
</head>
<body>
<?php echo('Vous etes '.$_SESSION['pseudo']); ?>
<form method="POST" action="">
<input type="text" name="message" placeholder="Message">
<input type="submit" name="envoi" value="Envoyer">
</form>
<?php
$allmessages = $bdd->query('SELECT * FROM chat ORDER BY id DESC');
while ($afficher = $allmessages->fetch()) {
?>
<b><?php echo($afficher['pseudo']); ?> :</b> <?php echo($afficher['message']); ?><br>
<?php
}
?>
</body>
</html>
<?php
} else {
header('Location:connexion.php');
}
?>
EDIT : j'ai trouvé l'erreur... Ligne _ il manquait le _ dans le $_POST ... Les erreurs les plus bêtes sont les plus dures à remarquer souvent ...
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte