Protection des autres pages d'un formulaire
sly25
-
sly25 -
sly25 -
Bonjour, j'aimerais simplement protéger les autres pages de mon formulaire au cas où la personne
ne se soit pas identifier ! Je souhaiterais que la personne n'accede pas aux pages suivantes simplement en rentrant
l'url de ces pages das la barre d'adresse !!! J'utilise les sessions et voici le début de mon script de ma page d'authentification
<?php
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connecter') {
if ((isset($_POST['nom']) && !empty($_POST['nom'])) && (isset($_POST['mdp']) && !empty($_POST['mdp'])))
{
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('recrutement', $base);
// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM login WHERE nom="'. mysql_real_escape_string ($_POST[
'nom']).'" AND mdp="'. mysql_real_escape_string ($_POST['mdp']).'" AND statut="1"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result($req);
mysql_close();
// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1)
{
session_start();
$_SESSION['nom'] = $_POST['nom'];
header('Location: userliste.php');
exit();
}
// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login,soit dans son mot de passe
elseif ($data[0] == 0)
{
$erreur = 'Compte non reconnu.';
}
// sinon, alors la, il y a un gros problème :)
else
{
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmesidentifiants de connexion.';
}
}
else
{
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<form action="connexion.php" name="form1" method="post" >
<p align="center" class="Style1">
</br>
<div align="center">
<p><span class="Style7"><u>Bonjour et bienvenue sur la page d'accès aux offres d'emplois !</u></span> <u></br>
</u>
<?php
// Enregistrons les informations de date dans des variables
$Jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
$Mois = array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
$datefr = $Jour[date("w")]." ".date("d")." ".$Mois[date("n")]." ".date("Y");
$heure = date("H");
$minute = date("i");
$seconde = date("s");
echo "<p align=\"center\" class=\"Style1\">
<div align=\"center\"><p>
<b><span class=\"Style1\">Nous sommes le $datefr et il est $heure h $minute.</span></br></b>";
?>
ne se soit pas identifier ! Je souhaiterais que la personne n'accede pas aux pages suivantes simplement en rentrant
l'url de ces pages das la barre d'adresse !!! J'utilise les sessions et voici le début de mon script de ma page d'authentification
<?php
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connecter') {
if ((isset($_POST['nom']) && !empty($_POST['nom'])) && (isset($_POST['mdp']) && !empty($_POST['mdp'])))
{
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('recrutement', $base);
// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM login WHERE nom="'. mysql_real_escape_string ($_POST[
'nom']).'" AND mdp="'. mysql_real_escape_string ($_POST['mdp']).'" AND statut="1"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result($req);
mysql_close();
// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1)
{
session_start();
$_SESSION['nom'] = $_POST['nom'];
header('Location: userliste.php');
exit();
}
// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login,soit dans son mot de passe
elseif ($data[0] == 0)
{
$erreur = 'Compte non reconnu.';
}
// sinon, alors la, il y a un gros problème :)
else
{
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmesidentifiants de connexion.';
}
}
else
{
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<form action="connexion.php" name="form1" method="post" >
<p align="center" class="Style1">
</br>
<div align="center">
<p><span class="Style7"><u>Bonjour et bienvenue sur la page d'accès aux offres d'emplois !</u></span> <u></br>
</u>
<?php
// Enregistrons les informations de date dans des variables
$Jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
$Mois = array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
$datefr = $Jour[date("w")]." ".date("d")." ".$Mois[date("n")]." ".date("Y");
$heure = date("H");
$minute = date("i");
$seconde = date("s");
echo "<p align=\"center\" class=\"Style1\">
<div align=\"center\"><p>
<b><span class=\"Style1\">Nous sommes le $datefr et il est $heure h $minute.</span></br></b>";
?>
Configuration: Windows XP Internet Explorer 7.0
3 réponses
-
moi pr protéger mes pages j'utilises des session couplées avec des droits attribué a chaque membres ...
0 aucun droit
1 membre
2 administrateur
j'les recupere a la connexion et sauvegarde ds un session ..
puis sur les page ou je veux que seul les membres passent ..
j'fait un testif(isset($_SESSION['droit']) && $_SESSION['droit']>0){ ... } else{ echo "page reservée aux membres"; } -
Bonjour Brachior et merci de ta réponse !!!
je vois ce que tu veu dire mais tes droits tu les attributs dans ta premiere page ? Est ce que tu mets $membre=1
$admin=2 et $aucundroit=3 dans ta premiere page?
et pour l'appel de tout ca dans ta deuxieme tu fais un include de ta page ? -
Apres beaucoup de recherche j'ai trouvé ma solution !!!!!
Je vous fais parvenir l'adresse du site en espérant aider du monde ayant rencontré le même problème que moi !!!
http://wiki.mediabox.fr/tutoriaux/php/utiliser-les-sessions-php