Les sessions

Fermé
delavega470 Messages postés 298 Date d'inscription dimanche 9 février 2014 Statut Membre Dernière intervention 24 mars 2020 - 17 déc. 2016 à 12:46
yg_be Messages postés 23323 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 12 novembre 2024 - 17 déc. 2016 à 18:30
Bonjour,
j'ai essayé de faire une appli de tchat mais l’ennui dans mon code quand je connect plusieurs membre et j'envoie un sms chacun il prend en compte la session du dernier membre connecté. comment je peux résoudre ce problème . voici mon index.php
  
<?php session_start(); 
	?>
<!DOCTYPE html>
<html lang="fr">

<head>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">

    <title>Salle de discussion</title>

    <!-- Bootstrap Core CSS -->
    <link href="css/bootstrap.min.css" rel="stylesheet">

    <!-- Custom CSS -->
    <link href="css/style.css" rel="stylesheet">
</head>

<body>
<style>
body {
    background-color: #3D3D3D;
}
b
{
	color:red; }
} 
</style>

    <div class="container">
        <div class="row">
            <div class="col-md-4 col-md-offset-4">
                <div class="login-panel panel panel-default">
                    <div class="panel-heading">
                        <h3 class="panel-title" style="color:inherit">Authentification</h3>
                    </div>
                    <div class="panel-body">
                        <form role="form" action="#" method="post">
                            <fieldset>
                                <div class="form-group">
                                    <input class="form-control" placeholder="pseudo" name="pseudo" type="text" autofocus>
                                </div>
                                <div class="form-group">
                                    <input class="form-control" placeholder="Password" name="password" type="password" value="">
                                </div>
                                <div class="checkbox">
                                 <a href="mdp.php" rel="nofollow noopener noreferrer" target="_blank">  Mot de passe oublié? </a>
                              </div>
                                <!-- Change this to a button or input when using this as a form -->
                                <input name="connect" type="submit" class="btn btn-lg btn-success btn-block" value="Se connecter">
                            </fieldset>
                            <?php
include('connexion/bdcon.php');
if (isset($_POST['connect']))
{
      // Hachage du mot de passe
        $pass_hache = sha1($_POST['password']);
       $pseudo=$_POST['pseudo'];
            $poste='';     
           $r='SELECT id_m,role_m FROM membre WHERE mdp = "'.$pass_hache.'" AND pseudo="'.$pseudo.'" AND etat_m=1';
        $res=$bdd->query($r);  
        $num=$res->rowcount();
        $tab=$res->fetch();
        $id = array();
        $id=$tab['id_m'];
		$poste=$tab['role_m'];
 if($id > 0 AND $poste=='Administrateur')
     {    
      $_SESSION['id_m']=$id;
          //un redirection vers un fichier
		  if(isset($id))
		  {  $code_con=1;
		  $connexion = $bdd ->query('UPDATE membre SET connexion ='.$code_con.' Where id_m='.$id.' '); 
		  header('location:admin/index1.php');
		  
		  } else 
		     header('location:index.php'); 
		 
        
	 } 
	  else if ($id > 0 AND $poste=='Membre')
	     {  
			   $_SESSION['id_m']=$id;
          //un redirection vers un fichier
		  if(isset($id))
		  {  $code_con=1;
		  $connexion = $bdd ->query('UPDATE membre SET connexion ='.$code_con.' Where id_m='.$id.' '); 
		  header('location:membre/index2.php'); 
		  } else 
		     header('location:index.php'); 
		 }
		 else if ($id > 0 AND $poste=='Client')
		  {   
			   $_SESSION['id_m']=$id;
          //un redirection vers un fichier
		  if(isset($id))
		  {  $code_con=1;
		  $connexion = $bdd ->query('UPDATE membre SET connexion ='.$code_con.' Where id_m='.$id.' '); 
		  header('location:client/index3.php'); 
		  } else 
		     header('location:index.php'); 
		  }
 else
  { 
   echo '   <b>mot de passe ou pseudo incorrect</b>';
    }
}
?> 
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>

1 réponse

yg_be Messages postés 23323 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 12 novembre 2024 Ambassadeur 1 551
17 déc. 2016 à 14:10
Quel est le lien entre l'envoi de sms et la page index.php?
Tu as d'autres pages php, et tu es certain que le problème est causé par la page index.php?
Regarde un peu le contenu de ta table membre : tout te semble normal?
0
delavega470 Messages postés 298 Date d'inscription dimanche 9 février 2014 Statut Membre Dernière intervention 24 mars 2020 48
Modifié par delavega470 le 17/12/2016 à 14:37
dans la table membre pas de souci . voici fichier envoi
<?php 
session_start(); 
include('connexion/bdcon.php');
 $id=$_SESSION['id_m'];
                if(isset($id)&&( $_POST['message']) && !empty($_POST['message']))
                {$id=$_SESSION['id_m'];
                $req=$bdd->query("SELECT * FROM membre WHERE id_m='".$id."'");
    
                   $tab=$req->fetch();
                   $pseudo=$tab['pseudo'];
				   $date=date('d-m-y');
				   $heure=date('H:i');
				  $message =$_POST['message'];
				  $reponse = $bdd->query('INSERT INTO message (msg,date_msg,heure_msg,id_m)
				   VALUES("'.$message.'","'.$date.'","'.$heure.'","'.$id.'")');
echo "<span class ='success'> message envoyées</span>";
	}  
else
 {
 	echo "<span class ='error'>Veuillez saisir quelque chose</span>";
 } 
?> 
c'est tjrs le meme id dans la table message meme avec des membres differents !
0
yg_be Messages postés 23323 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 12 novembre 2024 1 551
17 déc. 2016 à 18:30
Quand tu testes avec plusieurs membres, comment fais-tu? Tu utilises plusieurs ordis, plusieurs navigateurs?
Je te suggère d'afficher le pseudo en même temps que "message envoyé".
0