-
7 oct. 2004 à 14:24
magidev
Messages postés249Date d'inscriptionmardi 24 octobre 2000StatutMembreDernière intervention28 août 2009
-
7 oct. 2004 à 22:57
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é ! Quitter";
echo "
";
echo "Retour à la liste des fiches";
exit;
}
else
{
?>
<form method= "post" action="liste_fiches.php3">
<?php $login=$_POST['login']; ?>
----
,
----
Login
<hr noshade width='340' size='1'>
,
<?php echo "" ?>,
----
Mot de passe
<hr noshade width='340' size='1'>
,
<?php echo "" ?>,
----
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 ",
tri 1 tri 2,
tri 1 tri 2,
tri 1 tri 2,
, \";
while($table=mysql_fetch_array($requete2,MYSQL_ASSOC))
{
echo \"----
$table[id_fiche],
$table[titre_fiche],
";
$date=$table[date_fiche];
$temps = explode ("-", $date);
$ladate = date ("d-m-Y", mktime(0,0,0,$temps[1],$temps[2],$temps[0]));
echo "$ladate,
$table[titre_theme],
voir, \";
}
echo "
";
echo "
";
echo "Quitter";
exit;
exit;
}
}
}
echo "Votre login ou mot de passe est incorrect ! [Retour à l'identification]";
echo "
magidev
Messages postés249Date d'inscriptionmardi 24 octobre 2000StatutMembreDernière intervention28 août 2009 7 oct. 2004 à 22:05
Petite question comme ca : le ob_flush ne risque-t-il pas de provoquer une surchage du buffer en cas d'appel multiples de la page, je conseille plutot de place <?php session_start() ?> tout en haut de chaque page utilisant les sessions, cela evite le problème et de plus permet de controler rapidement la présence de ce dernier en cas de problèmes...
*************
On a parfois de la chance dans son malheur, moi par exemple, je me suis blessé avec une boite de sparadraps (P.Geluck)
Si vous désirez vous ajouter dans mes contacts MSN, veuillez m'envoyer un message via ce site.
Vous n’avez pas trouvé la réponse que vous recherchez ?