Bonjour à tous et merci d'avance à tous ceux qui voudront bien se pencher sur mon problème !
Voilà, j'ai une page d'identification classique avec LOGIN et MOT DE PASSE (cf. le script sur les sessions de TORTUE GENIALE).
Si les identifiants sont corrects, nous accédons à la page suivante.
Sur cette page, il y a des requêtes de classement et chaque fois que je clique sur un lien permettant de classer les données, ma session n'est plus valable.
Le problème est que lorsque je demande un tri des données, la page est rechargée avec la variable "tri".
La session n'est alors plus reconnue comme ouverte.
Comment faire ?
Merci à tous pour votre aide !
Voici les deux pages:
index.php3 (identification):<?
session_start();
if (session_is_registered(variable))
{
echo "Vous êtes déjà identifié ! <a href=destruction.php3>Quitter</a>";
echo "<br><br>";
echo "<a href=liste_fiches.php3>Retour à la liste des fiches</a>";
exit;
}
else
{
?>
<form method="post" action="liste_fiches.php3">
<table>
<?php $login=$_POST['login']; ?>
<tr><td colspan="2">
</td></tr>
<tr><td>
<b><font face='verdana' size='1'>Login<br><hr noshade width='340' size='1'><br></font></b>
</td>
<td valign="top">
<?php echo "<input type=text name=login value=$login>" ?>
</td></tr>
<tr><td>
<b><font face='verdana' size='1'>Mot de passe<br><hr noshade width='340' size='1'><br></font></b>
</td>
<td valign="top">
<?php echo "<input type=password name=mdp>" ?>
</td></tr>
<tr><td height="40" colspan="2" align="center">
<input name="ok" type="submit" value="valider">
</td></tr>
</table>
</form>
<?php
session_unset();
session_destroy();
echo "ID session : ".session_id()."";
}
?>
liste_fiches.php3<?
include("connexion.php3");
$variable = "";
session_start();
$login=$_POST['login'];
$mdp=$_POST['mdp'];
$mdp=MD5($mdp);
include("connexion.php3");
$requete=mysql_query("SELECT * FROM utilisateur WHERE login_utilisateur='$login'",$connexion);
while ($resultat=mysql_fetch_array($requete))
{
$comparaison = $resultat[mdp_utilisateur];
if($comparaison==$mdp)
{
$variable = "";
session_register("variable");
if (session_is_registered(variable))
{
if ($tri==1) {$requete2=mysql_query("SELECT * FROM fiches,themes WHERE fiches.theme_fiche=themes.id_theme ORDER BY titre_fiche DESC",$connexion);}
else if ($tri==2) {$requete2=mysql_query("SELECT * FROM fiches,themes WHERE fiches.theme_fiche=themes.id_theme ORDER BY date_fiche",$connexion);}
else if ($tri==3) {$requete2=mysql_query("SELECT * FROM fiches,themes WHERE fiches.theme_fiche=themes.id_theme ORDER BY date_fiche DESC",$connexion);}
else if ($tri==4) {$requete2=mysql_query("SELECT * FROM fiches,themes WHERE fiches.theme_fiche=themes.id_theme ORDER BY titre_theme",$connexion);}
else if ($tri==5) {$requete2=mysql_query("SELECT * FROM fiches,themes WHERE fiches.theme_fiche=themes.id_theme ORDER BY titre_theme DESC",$connexion);}
else {$requete2=mysql_query("SELECT * FROM fiches,themes WHERE fiches.theme_fiche=themes.id_theme ORDER BY titre_fiche ASC",$connexion);}
echo "<table border='1'><tr>
<td align='center'><font size='1' face='verdana'> </td>
<td align='center'><font size='1' face='verdana'><a href='liste_fiches.php3?tri=0'>tri 1</a> <a href='liste_fiches.php3?tri=1'>tri 2</a></td>
<td align='center'><font size='1' face='verdana'><a href='liste_fiches.php3?tri=2'>tri 1</a> <a href='liste_fiches.php3?tri=3'>tri 2</a></td>
<td align='center'><font size='1' face='verdana'><a href='liste_fiches.php3?tri=4'>tri 1</a> <a href='liste_fiches.php3?tri=5'>tri 2</a></td>
<td align='center'><font size='1' face='verdana'> </td></tr>";
while($table=mysql_fetch_array($requete2,MYSQL_ASSOC))
{
echo "<tr><td align='center'><font size='1' face='verdana'>$table[id_fiche]</td>
<td align='center'><font size='1' face='verdana'>$table[titre_fiche]</td>
<td align='center'><font size='1' face='verdana'>";
$date=$table[date_fiche];
$temps = explode ("-", $date);
$ladate = date ("d-m-Y", mktime(0,0,0,$temps[1],$temps[2],$temps[0]));
echo "$ladate</font></td>
<td align='center'><font size='1' face='verdana'>$table[titre_theme]</td>
<td align='center'><font size='1' face='verdana'><a target='blank' href='admin/fichiers/$table[fichier_fiche]'>voir</a></td></tr>";
}
echo "</table>";
echo "<br><br>";
echo "<a href=destruction.php3>Quitter</a>";
exit;
exit;
}
}
}
echo "Votre login ou mot de passe est incorrect ! <a href=index.php3>[Retour à l'identification]</a>";
echo "<br><br>";
session_unset();
session_destroy();
echo "ID session : ".session_id()."";
echo "</form>";
?>