Bonjour j'ai un souci avec une variable de session qui ne veut pas passer dans une boucle while
voici mon code:
La personne s'identifie via un formulaire 'login.php' lequel envoie les login et pwd dans une variable de session
<?php
session_start();
$login=$_POST['login'];
$_SESSION['login']=$login;
$pwd=$_POST['pwd'];
$_SESSION['pwd']=$pwd;
//echo 'Votre login est '.$_SESSION['login'].' et votre mot de passe est '.$_SESSION['pwd'].'.<br/>';
// On démarre la session (ceci est indispensable dans toutes les pages de notre section membre)
// On teste nos variables de session
if (isset($_SESSION['login']) && isset($_SESSION['pwd']))
{
include "connection.php";
$sql = mysql_query("SELECT * FROM bb_membres WHERE email = '$login' AND password = '$pwd' ");
// On fait la recherche du couple login/password directement :)
// Ensuite, on regarde si il existe un membre avec ce login et ce pass
if (mysql_num_rows($sql) == 0)
{echo 'erreur'; //aucun utilisateur n'existe avec ces informations
}
else
{//login et pwd sont ok
while($row = mysql_fetch_array($sql))
{
//echo $row['id_m'];
$identifiant=$row['id_m'];
$prenom=$row['prenom'].' '.$row['nom'];
session_register("prenom");
session_register("identifiant");
}
echo ("<script language = \"JavaScript\">");
echo ("location.href = '../index2.php';");
echo ("</script>");
}}
else {echo 'Les variables de sessions ne sont pas déclarées.';}
?>
sur ma page index2 j'ai session_start();
depuis cette page index2.php je peux aller vers 2 pages (profil, project discussion)
jusque là tout est ok
maintenant je veux afficher tous les projets (confidentiels ou pas) dans lequel mon visiteur peut aller ainsi que leur détails
<?php
include '../fonctions/connection.php';
$id_p=$_GET['id_p'];
?>
<table width="979 px" border="0">
<tr valign="top">
<td>
<?php //pour la liste des projets non confidentiels
$project=mysql_query("SELECT id_p, bb_membres.id_m, titre, descr, teammate1, teammate2, teammate3, bb_projets.p_comm, bb_projets.p_techn, bb_projets.p_artist, confidential, nom, prenom FROM bb_projets, bb_membres WHERE (bb_membres.id_m = bb_projets.id_m AND actif=1) AND confidential='no'");
while($row = mysql_fetch_array($project))
{if($id_p==$row[id_p])
{
$prenom=ucwords($row[prenom]); //met une majuscule à la première lettre du mot
$nom=ucwords($row[nom]); //met une majuscule à la première lettre du mot
echo "<span class='title_h2'><b><a href='chat.php?id_p=".$row[id_p]."'><img src='../img/arrow.gif'>".$row[titre]."</span>, ".$prenom." ".$nom."</a></b><br /><br />";
include 'details.php';
}
else
{
$prenom=ucwords($row[prenom]); //met une majuscule à la première lettre du mot
$nom=ucwords($row[nom]); //met une majuscule à la première lettre du mot
echo "<span class='title_h2'><a href='chat.php?id_p=".$row[id_p]."'><img src='../img/arrowdn.gif'>".$row[titre]."</span>, ".$prenom." ".$nom."</a><br /><br />";
}
}
//pour la liste des projets confidentiels
$project_conf=mysql_query("SELECT id_p, bb_membres.id_m as id_m, titre, descr, teammate1, teammate2, teammate3, bb_projets.p_comm, bb_projets.p_techn, bb_projets.p_artist, confidential, nom, prenom FROM bb_projets, bb_membres WHERE (bb_membres.id_m = bb_projets.id_m AND actif=1) AND confidential='yes'");
while($row = mysql_fetch_array($project_conf))
{ if(($_SESSION[id]=$row[teammate1])||($_SESSION[id]=$row[teammate2])||($_SESSION[id]=$row[teammate])||($_SESSION[id]=$row[id_m]))
{//echo 'vous avez le droit de le voir';
if($id_p==$row[id_p])
{
$prenom=ucwords($row[prenom]); //met une majuscule à la première lettre du mot
$nom=ucwords($row[nom]); //met une majuscule à la première lettre du mot
echo "<span class='title_h2'><b><a href='chat.php?id_p=".$row[id_p]."'><img src='../img/arrow.gif'>".$row[titre]."</span>, ".$prenom." ".$nom."</a></b><br /><br />";
include 'details.php';
}
else
{
$prenom=ucwords($row[prenom]); //met une majuscule à la première lettre du mot
$nom=ucwords($row[nom]); //met une majuscule à la première lettre du mot
echo "<span class='title_h2'><a href='chat.php?id_p=".$row[id_p]."'><img src='../img/arrowdn.gif'>".$row[titre]."</span>, ".$prenom." ".$nom."</a><br /><br />";
}
}
else{
//echo 'vous ne pouvez pas le voir';
}
}
?> </td>
</tr>
</table>
à ce moment là il perd l'identifiant $_SESSION[id] et prend par défaut l'id 1.
Pouvez-vous me dire où est ma faute svp?