Session et php
Résolu
Rom190686
Messages postés
469
Statut
Membre
-
Rom190686 Messages postés 469 Statut Membre -
Rom190686 Messages postés 469 Statut Membre -
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
- Veuillez ouvrir une session avec les privilèges du gestionnaire ✓ - Forum Jeux vidéo
- Php alert ✓ - Forum PHP
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)