CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PHP] Améliorer mini-chat

Noel78
Noel78
Niveau 9
17 août 2014 à 19:29:14

Salutations ! J'ai réalisé le mini-chat demandé par Openclassrooms en 20 minutes, mais ensuite ils me demandent d'aller plus loin en enregistrant le pseudo de la personne dans un cookie.

Lien : http://fr.openclassrooms.com/informatique/cours/concevez-votre-site-web-avec-php-et-mysql/tp-un-mini-chat

Et je galère comme un fou dessus. J'ai ajouté un cookie via

<?php setcookie('pseudonyme', $_POST["pseudo"], time() + 365*24*3600, null, null, false, true); ?>

Ensuite j'essaye "d'écrire" grâce à la BDD le cookie suivit du message grâce à

$req = $bdd->prepare('INSERT INTO minichat(pseudo,message) VALUES(?, ?)');
$req->execute(array(htmlspecialchars($_COOKIE["pse
udo"]),
htmlspecialchars($_POST["message"])));

Mais, ça n'affecte absolument RIEN au chat. On met un pseudo, un message et ça l'envoie. Mais si on remet un message sans le pseudo, le pseudo devient " (vide) " et donc le cookie n'est-il pas lu j'imagine ?

Si c'est un peu flou n'hésitez pas à me demander des explications à propos de certains points. :)

Voici mes 2 fichiers :

testminichatauto.php

<!doctype html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="minichat.css" />
</head>
<body>
<form action="testminichatauto1.php" method="POST"><p>Pseudo : <input type="text" name="pseudo">
Message : <input type="text" name="message"> <input type="submit"></p>
</form>
<div id="chat">
<?php $bdd = new PDO("mysql:host=localhost;dbname=test", "root", "", array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
$reponse = $bdd->query('SELECT * FROM minichat ORDER BY id DESC LIMIT 10');
while ($donnees = $reponse->fetch())
{

echo "<p>" . $donnees["pseudo"] . " : " . $donnees["message"] . "</p>";
}?></div>
</body>
</html>

testminichatauto1.php

<?php setcookie('pseudonyme', $_POST["pseudo"], time() + 365*24*3600, null, null, false, true); ?>

<!doctype html>
<html>
<head>
</head>
<body>
<?php
$pseudo = $_COOKIE["pseudonyme"];
$message = $_POST["message"];
$bdd = new PDO("mysql:host=localhost;dbname=test", "root", "", array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));

$req = $bdd->prepare('INSERT INTO minichat(pseudo,message) VALUES(?, ?)');
$req->execute(array(htmlspecialchars($_COOKIE["pse
udo"]),
htmlspecialchars($_POST["message"])));

header('Location: testminichatauto.php');
?>
</body>
</html>

Votre aide me serait vraiment utile, merci d'avance. :)

patchwerk
patchwerk
Niveau 19
17 août 2014 à 21:40:22

regarde si ton cookie est bien créé via un dump.
autre chose, pense à mettre une condition si le cookie existe -> tu l'utilises sinon il recupere l'input

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment