20-10-2014, 01:10 PM
Bonjour à tous,
Avoir avoir développer mon script en local, je le met en ligne et la surprise mon système de connexion ne fonctionne plus.
Pour mon formulaire de connexion , je récupère les infos de l'utilisateur et si tout est ok je declare mes variables de Session et je redirige vers une autre page grâce à un window.location en js, seulement une fois redirigé sur la page mes variable de session sont vide.
Je ne sais pas pourquoi, et j'ai besoin de leur contenu pour accéder à la page suivante.
Ma page entete.php demare bien avec :
Ma page de connexion:
et sur ma page de destination:
Merci de votre aide.
Avoir avoir développer mon script en local, je le met en ligne et la surprise mon système de connexion ne fonctionne plus.
Pour mon formulaire de connexion , je récupère les infos de l'utilisateur et si tout est ok je declare mes variables de Session et je redirige vers une autre page grâce à un window.location en js, seulement une fois redirigé sur la page mes variable de session sont vide.
Je ne sais pas pourquoi, et j'ai besoin de leur contenu pour accéder à la page suivante.
Ma page entete.php demare bien avec :
Code :
<?php
session_start();
?>
Ma page de connexion:
Code :
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta name="robots" content="noindex,nofollow" />
<link rel="stylesheet" type="text/css" media="screen" href="css/style_admin.css" />
</head>
<?php
$i=0;
echo '<div id="corp_conexion_utilisateurs"><center>
<form method="post" action="">
<h3>Connexion</h3>
<label for="email">Email :</label>
<input type="text" name="email" id="email" size="17"/><br/><br/>
<label for="mdp">Pass :</label>
<input type="password" name="mdp" id="mdp" size="17"/><br/><br/>
<input type="submit" value="Connexion" class="btn btn-primary"/></center><br/><br/>
<br/>
</form>
</div>';
if($_POST){
if (empty($_POST['email']) || empty ($_POST['mdp']))
{
$i++;
echo "<center>Le login et/ou le mot de passe sont vide!</center>";
}
if (!preg_match("#^[a-z0-9]+$#", $_POST['mdp']))
{
echo '<center><p>Votre mot de passe ne peut contenir que des lettre et des chiffre.</p></center>';
$i++;
}
function VerifierAdresseMail($email)
{
$Syntaxe = '#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#';
if(preg_match($Syntaxe, $email))
return true;
else
return false;
}
$email = htmlspecialchars($_POST['email']);
if(VerifierAdresseMail($email)==false)
{
echo '<center>Le format du mail n\'est pas correct.</center><br/>';
$i++;
}
if($i > 0)
{
}
else{
$email = htmlspecialchars($_POST['email']);
$mdp = htmlspecialchars($_POST['mdp']);
include('connexion_bdd.php');
define('PREFIX_SALT', 'powaa');
$mdphash = sha1(sha1(PREFIX_SALT.$mdp));
$r ="SELECT * FROM utilisateurs WHERE email = '".$email."' AND mdp = '".$mdphash."'";
$d= mysql_query($r) or die(mysql_error());
$row1 = mysql_fetch_array($d);
$row1['utilisateur_ID'];
if (isset($row1['utilisateur_ID'])) {
$r = mysql_query('SELECT utilisateur_ID,role,email FROM utilisateurs WHERE email = "'.$email.'";') or die (mysql_error());
$d= mysql_fetch_array($r);
$role = $d['role'];
$email = $d['email'];
$utilisateur_ID = $d['utilisateur_ID'];
if($role == 3)
{
$_SESSION['email'] = $email;
$_SESSION['utilisateur_ID'] = $utilisateur_ID;
echo'<script>window.location="prochaine_vente.php";</script>';
}
else{
echo'<center>Vous n\'etes pas administrateur</center>';
}
}
else {
echo'<center>Le mot de passe ou le login sont errones</center>';
}
}
}
?>
et sur ma page de destination:
Code :
<?php
include('entete.php');
include('connexion_bdd.php');
if(empty($_SESSION['email']))
{
echo'Vous ne pouvez pas acceder à cette page';
}
else{
// affichage de ma page
}
include('footer.php');
?>
Merci de votre aide.