création de tchat php/mysql

Eléphanteau du PHP | 10 Messages

09 juil. 2019, 21:48

Bonjour pour un exercice sur openclassroom je dois créer un tchat. Et j'ai créer une pages de connexion ou je demande à l'utilisateur un pseudo, sa date de naissance, son sexe, et sa région. Ces données vont bien dans la base de donnée pas de problème. Je voudrais que le pseudo suive l'utilisateur sur la page du chat.php pour qu'il puisse écrire ces message et voir comme ça: pseudo : message
Voila mes codes pour l'instant:

Code : Tout sélectionner

<?php $bdd = new PDO("mysql:host=localhost;dbname=chat;charset=utf8", "root", "", array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); if(isset($_POST['pseudo']) AND isset($_POST['birthday']) AND isset($_POST['type']) AND isset($_POST['country']) AND !empty($_POST['pseudo']) AND !empty($_POST['birthday']) AND !empty($_POST['type']) AND !empty($_POST['country'])) { $pseudo = htmlspecialchars($_POST['pseudo']); $birthday = htmlspecialchars($_POST['birthday']); $type = htmlspecialchars($_POST['type']); $country = htmlspecialchars($_POST['country']); $insertmsg = $bdd->prepare('INSERT INTO chat(pseudo, birthday, type, country) VALUES (?, ?, ?, ?)'); $insertmsg->execute(array($pseudo, $birthday, $type, $country)); header('Location: chat.php'); } ?> <!DOCTYPE html> <html> <head> <title>Chat</title> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="css/style.css"> </head> <body> <div id="form"> <h1>Chat</h1> <form action="" method="post"> <!--pseudo--> <p><label>Pseudo : <input type="text" name="pseudo" /></label></p> <!--age--> <p><label>Date de naissance : <input type="date" name="birthday" /></p> <!--sexe--> <!--homme--> <p><label>Sexe : <input type="radio" name="type" value="homme" id="homme" checked="checked" ><label>Homme</label> <!--femme--> <input type="radio" name="type" value="femme" id="femme" /><label>Femme</label> </label></p> <!--region--> <p><label>Region : <input type="text" name="country" id='country' /></label></p> <!--bouton envoyer--> <p><input type="submit" /> </p> </form> </div> </body> </html>

Code : Tout sélectionner

<?php // On définit un login de base pour tester notre exemple. CEpendant, vous pouvez très bien interroger votre base de données afin de savoir si le visiteur qui se connecte est bien membre de votre site $pseudo_valide = "pseudo"; // on teste si nos variables sont définies if(isset($_POST['pseudo'])) { // on vérifie les informations du formulaire, à savoir si le pseudo saisi est bien un pseudo autorisé if ($pseudo_valide == $_POST['pseudo']) { session_start(); // on enregistre les pramètres de notre visiteur comme variable de session $_SESSION['pseudo'] = $_POST['pseudo']; header ('location: chat.php'); } } $bdd = new PDO("mysql:host=localhost;dbname=chat;charset=utf8", "root", "", array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); if(isset($_POST['message']) AND $_POST['pseudo'] AND !empty($_POST['message'])) { $message = htmlspecialchars($_POST['message']); $insertmsg = $bdd->prepare('INSERT INTO chat(pseudo, message) VALUES (?, ?)'); $insertmsg->execute(array($pseudo, $message)); } ?> <!DOCTYPE html> <html> <head> <title>Chat</title> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="css/style.css"> </head> <body> <!--Div pour tout le chat--> <div id="grande"> <!--Titre du chat--> <h1 id="bandeau">chat<h1> <!--Menu du tchat haut pseudo bas salon--> <!--Contenu du tchat--> <div id="contenu"> <form action="" method="POST" value=""> </form> <?php $allmsg = $bdd->query('SELECT * FROM chat ORDER BY id DESC LIMIT 0, 5'); While($msg = $allmsg->fetch()) { ?> <?php echo '<p>' . $msg['pseudo'] . '-' . $msg['message'] . '</p>'; ?> <?php } ?> </div> <!--Zone de texte--> <div id="pied_page"> <form action="chat.php" method="POST"> <!--Votre message--> <label for="message">Message</label> : <input type="text" name="message" id="message" /> <br /> <input type="submit" value="Envoyer"> </form> </div> </div> </body> </html>
Merci à ceux qui vont prendre le temps de tout lire de me répondre et de m'aider à trouver une solution.