Session et php
Résolu
Rom190686
Messages postés
436
Date d'inscription
Statut
Membre
Dernière intervention
-
Rom190686 Messages postés 436 Date d'inscription Statut Membre Dernière intervention -
Rom190686 Messages postés 436 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Malgré mes nombreuses recherche je reste bloqué avec ma session.
J'ai une page d'identification avec formulaire qui interroge une base de donnée pour vérifier que l'utilisateur et le mot de passe sont OK.
Jusque là pas de souci.
Si les infos sont OK, alors on redirige le visiteur vers une page.
Cependant, si dans la barre d'adresse, je tape le nom de cette page sans avoir avant entré mon login et mot de passe, la page s'affiche quand même.
Donc elle n'est pas vraiment sécurisée.
Voici, ci-dessous mon code.
Merci d'avance pour votre aide.
Page de traitement des infos du formulaire et création de la session :
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("mabdd");
if(isset($_POST) && !empty($_POST['mail']) && !empty($_POST['mdp'])) {
$mail = $_POST['mail'];
$mdp = $_POST['mdp'];
$sql = "SELECT mot_de_passe FROM matable WHERE ad_mail='".$mail."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
if($data['mot_de_passe'] != $mdp) {
Header("Location: identification-incorrecte.html");
exit;
}
else {
session_start();
$_SESSION['login'] = $mail;
Header("Location: espace-perso.php");
}
}
else {
Header("Location: identification-vide.html");
exit;
}
?>
Ci-dessous, la vérification en haut de chacune de mes pages "sécurisées" :
<?php
session_start();
if(!isset($_SESSION['login'])) {
Header("Location: espace-organisateur_1.php");
}
?>
Merci de me dire ce qui ne va pas dans mon code...
Malgré mes nombreuses recherche je reste bloqué avec ma session.
J'ai une page d'identification avec formulaire qui interroge une base de donnée pour vérifier que l'utilisateur et le mot de passe sont OK.
Jusque là pas de souci.
Si les infos sont OK, alors on redirige le visiteur vers une page.
Cependant, si dans la barre d'adresse, je tape le nom de cette page sans avoir avant entré mon login et mot de passe, la page s'affiche quand même.
Donc elle n'est pas vraiment sécurisée.
Voici, ci-dessous mon code.
Merci d'avance pour votre aide.
Page de traitement des infos du formulaire et création de la session :
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("mabdd");
if(isset($_POST) && !empty($_POST['mail']) && !empty($_POST['mdp'])) {
$mail = $_POST['mail'];
$mdp = $_POST['mdp'];
$sql = "SELECT mot_de_passe FROM matable WHERE ad_mail='".$mail."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
if($data['mot_de_passe'] != $mdp) {
Header("Location: identification-incorrecte.html");
exit;
}
else {
session_start();
$_SESSION['login'] = $mail;
Header("Location: espace-perso.php");
}
}
else {
Header("Location: identification-vide.html");
exit;
}
?>
Ci-dessous, la vérification en haut de chacune de mes pages "sécurisées" :
<?php
session_start();
if(!isset($_SESSION['login'])) {
Header("Location: espace-organisateur_1.php");
}
?>
Merci de me dire ce qui ne va pas dans mon code...
A voir également:
- Session et php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Www.yahoomail.com ouverture de session - Forum Yahoo mail
- Teamviewer code de session expiré ✓ - Forum logiciel systeme
- Session invalide ou obsolète ✓ - Forum finances
7 réponses
Est ce que tu fermes ton navigateur avant de faire les essais ? Si non, c'est tout à fait normal et y'a pas à s'inquiéter !
Si je remplace le : if(!isset($_SESSION['login'])) {
par if(isset($_SESSION['login'])) {
(j'ai en levé le "!" devant le isset)
alors là, il me refuse l'accès à la page.
Plutôt bizarre, en gros même si je ne me suis pas identifié, pour lui, ma session éxiste...
par if(isset($_SESSION['login'])) {
(j'ai en levé le "!" devant le isset)
alors là, il me refuse l'accès à la page.
Plutôt bizarre, en gros même si je ne me suis pas identifié, pour lui, ma session éxiste...
Je pense que le problème se situe sur le sessionstart(), que tu dois placer avant tout code. Mais je ne suis pas sûr.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
EDIT:
Désolé, je n'avais pas vu que tu le mettais déjà...je n'arrive pas à trouver le soucis(en même temps, mes connaissances sont limitées)
Désolé, je n'avais pas vu que tu le mettais déjà...je n'arrive pas à trouver le soucis(en même temps, mes connaissances sont limitées)