Les sessions

delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
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   Statut Membre Dernière intervention   48
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
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