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 !


6 réponses

  1. hack_net Messages postés 814 Statut Membre 51
     
    Utilise les sessions ;)
    1
  2. bouboul-IV Messages postés 91 Statut Membre 10
     
    Qu'est ce que j'étais nul à l'époque !
    1
  3. hack_net Messages postés 814 Statut Membre 51
     
    Envoie ton code je t'aiderais mieux ;)
    0
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. hack_net Messages postés 814 Statut Membre 51
     
    Houla tant que ça :p
    0
    1. bouboul-IV Messages postés 91 Statut Membre 10
       
      ben ouais je galérer ^^
      0
  7. 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
    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