Les session en php
yuri648
Messages postés
785
Statut
Membre
-
Alain_42 Messages postés 5413 Statut Membre -
Alain_42 Messages postés 5413 Statut Membre -
Bonjour,
je suis un debutant en php et j'ai un probleme sur les session;
j'ai creé une table user qui contient login et pass;
quand j'identifie une session sa marche bien mais quand je deconnecte et je copie le lien de la page a afficher quand la session est ouvert elle souvre normalement elle souvre pas voila tout le code:
<html>
<form action="index.php" method="post" >
login:<input type="text" name="login"></br>
mot de pass:<input type="text" name="pass"></br>
<input type="submit" name="ok"><input type="submit" name="dec" value="deconnection">
<?php
if($_POST['ok'])
{
$login=$_POST['login'];
$pass=$_POST['pass'];
include("connect.php");
$c=new connection();
$c->acces();
$q=mysql_query("select *from user where login='$login' and pass='$pass'");
$s=mysql_fetch_object(($q));
if(is_object($s))
{
session_start() ;
$_SESSION["login"]=$login;
header("location: indexk.php");
}
}
if($_POST['dec']=="deconnection"){
session_start() ;
//destruction de toutes les variable de sessions
session_unset() ;
//destruction de la session
session_destroy() ;
}
?>
</form>
</html>
et merci d'avance;
je suis un debutant en php et j'ai un probleme sur les session;
j'ai creé une table user qui contient login et pass;
quand j'identifie une session sa marche bien mais quand je deconnecte et je copie le lien de la page a afficher quand la session est ouvert elle souvre normalement elle souvre pas voila tout le code:
<html>
<form action="index.php" method="post" >
login:<input type="text" name="login"></br>
mot de pass:<input type="text" name="pass"></br>
<input type="submit" name="ok"><input type="submit" name="dec" value="deconnection">
<?php
if($_POST['ok'])
{
$login=$_POST['login'];
$pass=$_POST['pass'];
include("connect.php");
$c=new connection();
$c->acces();
$q=mysql_query("select *from user where login='$login' and pass='$pass'");
$s=mysql_fetch_object(($q));
if(is_object($s))
{
session_start() ;
$_SESSION["login"]=$login;
header("location: indexk.php");
}
}
if($_POST['dec']=="deconnection"){
session_start() ;
//destruction de toutes les variable de sessions
session_unset() ;
//destruction de la session
session_destroy() ;
}
?>
</form>
</html>
et merci d'avance;
Configuration: Windows XP Firefox 2.0.0.20
5 réponses
-
Bonjour,
L'instruction session_start() est à mettre en tout premier dans les pages, et une seule fois pour chaque page.
Tes balises <html></html> ne servent à rien.
-
meme la page indexk.php sur la quel doit acceder si l'identification est réussite??
-
Si tu gère des sessions, TOUTES tes pages doivent avoir un 'session_start()'.
Donc oui :)
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
il faut que session_start() soit avant toute balise html
alors passes la partie de code php avant la partie html
<?php if($_POST['ok']) { $login=$_POST['login']; $pass=$_POST['pass']; include("connect.php"); $c=new connection(); $c->acces(); $q=mysql_query("select *from user where login='$login' and pass='$pass'"); $s=mysql_fetch_object(($q)); if(is_object($s)) { session_start() ; $_SESSION["login"]=$login; header("location: indexk.php"); } } if($_POST['dec']=="deconnection"){ session_start() ; //destruction de toutes les variable de sessions session_unset() ; //destruction de la session session_destroy() ; } ?> <html> <form action="index.php" method="post" > login:<input type="text" name="login"></br> mot de pass:<input type="text" name="pass"></br> <input type="submit" name="ok"><input type="submit" name="dec" value="deconnection"> </form> </html>