Problème de Session avec base mysql

nooTe91 Messages postés 11 Date d'inscription mercredi 15 octobre 2008 Statut Membre Dernière intervention 3 novembre 2009 - 13 nov. 2008 à 15:36
nooTe91 Messages postés 11 Date d'inscription mercredi 15 octobre 2008 Statut Membre Dernière intervention 3 novembre 2009 - 13 nov. 2008 à 17:00
Bonjour,j'ai un petit problème avec les variables de sessions. J'ai déja fait des essais avec des variables et constantes en session avec le tutorial du site mais avec les connections aux bases de données je n'arrive pas.
Je débute je précise . Et je bloque sur ceci :






Je précise que ce que j'utilise dans $_POST['login'] correspond au nom du input de ma page de loginconnection.php



qui requiert connectbase.php.
$_POST[
'password'] pareil.

Ma base de données s'appelle passager et les champs de connection sont :
email pour le login   et   pwd pour le password .





J'ai fait en premier temps ceci :
fichier : connectbase.php
<?php

if(isset($_POST['login']) && $_POST ['login'] !="")
$log = $_POST['login'];
else $log = "";

if (isset ($_POST['password']) && $_POST['password'] !="")
$pass = $_POST['password'];
else $pass = "";
?>

<?php
// Ma connection a la base de données
//#################################################
    //############ SQL DB connection ##################
    //#################################################
    if(!mysql_connect("localhost","root",""))
    {echo "error to connected to DB ";exit();}
    if(!mysql_select_db("basetest"))
    {echo "error to open DB sitebase";exit();}
  
//Ma requête de connection à la base pour récuperer le login et le pass :
$sql 'select EMAIL,PWD,NOM,SEXE from passager where EMAIL "'.$log .'"  AND PWD = "'.$pass.'"';
$verif = mysql_query($sql);

// Ma condition qui renvoi a la page loginconnection.php si le login et pass ne fonctionne pas

if (mysql_fetch_row($verif) > 0 ) {
} else
{
header('location:loginconnection.php');
}
 mysql_close();
?>

Donc quand je rentre sur ma page loginconnection.php les logins et mot de passe se trouvant dans la base de données ensuite je suis bien rediriger vers index.php ET quand les logins et pass n'existe pas on est bien revenu sur loginconnection.php comme prévu ,Sauf un message d'erreur me disant que ce n'est pas bon.

Néenmoins j'ai vu qu'il était possible d'utiliser des variables de Session mais je ne sais pas trop comment ont les utilises,fin à quoi cela peut-il me servir de plus.

J'ai commencé un code un peu modifié mais je pense pas que ce soit juste :

<?php

if(isset($_POST['login']) && $_POST ['login'] !="")
$log = $_POST['login'];
else $log = "";

if (isset ($_POST['password']) && $_POST['password'] !="")
$pass = $_POST['password'];
else $pass = "";
?>

<?php session_start(); ?>

<?php
//#################################################
    //############ SQL DB connection ##################
    //#################################################
    if(!mysql_connect("localhost","root","cooptis"))
    {echo "error to connected to DB ";exit();}
    if(!mysql_select_db("basetest"))
    {echo "error to open DB sitebase";exit();}

   
if (isset($_POST["email"]) && $_POST["email"]){$sql 'select EMAIL,PWD,NOM,SEXE from passager where EMAIL "'.$log .'"  AND PWD = "'.$pass.'"';
$verif = mysql_query($sql);

if (mysql_fetch_row($verif) > 0 ) {
$_SESSION['logged']=true;
$_SESSION['email']=$_POST['email'];

} else
{
header('location:loginconnection.php');
}
mysql_close();  
?>

Merci d'avance,en espérant avoir été assez précis .

1 réponse

nooTe91 Messages postés 11 Date d'inscription mercredi 15 octobre 2008 Statut Membre Dernière intervention 3 novembre 2009
13 nov. 2008 à 17:00
Bon j'ai trouvé pour faire comme ceci ==>



if (isset($_POST["login"]) && $_POST["login"]){$sql 'select EMAIL,PWD,NOM,SEXE from passager where EMAIL"'.$log.'" AND PWD ="'.$pass'"';
$verif = mysql_query($sql);
//$row = mysql_fetch_row($verif);

if (mysql_fetch_row($verif) > 0 ) {
$_SESSION["logged"]=true;
$_SESSION["login"]=$_POST["login"];

} else
{

header('location:loginconnection.php');

}
}
//echo $sql;
   
mysql_close();

Je ne sais pas aussi si la syntaxe de mon code est exacte ....

Mais le truc c'est que je voulais savoir si donc la session est bien ouverte,mais comment l'arreter ? je sais qu'il faut placer session_destroy(); mais je ne vois pas comment l'utiliser.
Et de plus j'ai lu qu'il fallait replacer la variable session dans les autres pages,mais je ne vois pas comment non plus .
0
Rejoignez-nous