Chat : Retenir le pseudo

Résolu
bouboul-IV Messages postés 75 Date d'inscription   Statut Membre Dernière intervention   -  
bouboul-IV Messages postés 75 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour tout le monde (je suis nouveau),

Suite au tutoriel merveilleux https://openclassrooms.com/forum/sujet/tp-mini-chat-94457 de m@teo21 j'ai fais le chat sur mon humble site : http://bouboul-iv.legtux.org ...        

J'aimerais mettre que sa retienne le pseudo du gars mais je n'y arrive pas. Help me Please !


A voir également:

6 réponses

hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention   51
 
Utilise les sessions ;)
1
bouboul-IV Messages postés 75 Date d'inscription   Statut Membre Dernière intervention   10
 
Qu'est ce que j'étais nul à l'époque !
1
hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention   51
 
Envoie ton code je t'aiderais mieux ;)
0
hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention   51
 
Mauvaise id le coockie ! En plus c'est plus chiant à gérer que la session ;)

Fais ceci :
<div id="corps">
    
   <div class="chat"> <form action="minichat_post.php" method="post">
        <p>
		<?php
		if(isset($_SESSION['pseudo'])){
			echo "<b>".$_SESSION['pseudo']."</b><br />";
		}
		else{
		?>
        <label for="pseudo">Pseudo</label> : <input type="text" name="pseudo" id="pseudo" /><br />
		<?php
		}
		?>
        <label for="message">Message</label> :  <input type="text" name="message" id="message" /><br />
        <input type="submit" value="Envoyer" />
	<a href="http://bouboul-IV.legtux.org/minichat.php"><input type=button value="Actualiser"></a>
	</p>

    </form>
</div>

<?php

try{
	$bdd = new PDO('mysql:host=legtux.org;dbname=****', '***', '***');
}
catch(Exception $e){
        die('Erreur : '.$e->getMessage());
}

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


while ($donnees = $reponse->fetch()){
	echo '<p><b>'.htmlspecialchars($donnees['pseudo']).'</b>'.'<b> le '.date('d:m:y  H:i',$donnees['time']) .' </b> :<br /> ' . htmlspecialchars($donnees['message']) . '</p>';
}

$reponse->closeCursor();

?>
</div>


Et dans minichat_post.php tu ajout en première ligne :
session_start();
if(!isset($_SESSION['pseudo'])){
     $_SESSION['pseudo'] = $_POST['pseudo'];
}


Pense lors de l'insertion dans la base de donnée a remplacer dans ta requette insert into le $_POST['pseudo'] par $_SESSION['pseudo']

Voila :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention   51
 
Houla tant que ça :p
0
bouboul-IV Messages postés 75 Date d'inscription   Statut Membre Dernière intervention   10
 
ben ouais je galérer ^^
0
Jaina_ Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   9
 
Salut !

Tu peux gérer ceci avec un cookie, javascript ou php, c'est toi qui voit.

Le principe est de créer un cookie, auquel tu donnes une date (autant que tu le souhaites), tu lui donnes comme valeur le pseudo de l'utilisateur.

Tu récupères le cookie, si il existe, tu ecris dans ton formulaire la valeur du cookie, sinon tu laisses vide.

Ca me semble être la meilleure solution, bonne chance !
-1
hack_net Messages postés 783 Date d'inscription   Statut Membre Dernière intervention   51
 
Hum...
Mauvaise idée le coockies, si l'utilisateur block les coockies, c'est mort ton truc...
0