Chat : Retenir le pseudo

Résolu
bouboul-IV Messages postés 91 Statut Membre -  
bouboul-IV Messages postés 91 Statut Membre -
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 814 Statut Membre 51
 
Utilise les sessions ;)
1
bouboul-IV Messages postés 91 Statut Membre 10
 
Qu'est ce que j'étais nul à l'époque !
1
hack_net Messages postés 814 Statut Membre 51
 
Envoie ton code je t'aiderais mieux ;)
0
hack_net Messages postés 814 Statut Membre 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 814 Statut Membre 51
 
Houla tant que ça :p
0
bouboul-IV Messages postés 91 Statut Membre 10
 
ben ouais je galérer ^^
0
Jaina_ Messages postés 82 Statut Membre 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 814 Statut Membre 51
 
Hum...
Mauvaise idée le coockies, si l'utilisateur block les coockies, c'est mort ton truc...
0