Problème de redirection
Posté : 19 févr. 2007, 14:11
Bonjour à tous,
Après plusieurs heures de recherche je reste au point mort.
Dans mon script qui permet au membre de se connecter (qui vérifie login etc). Il y a une redirection. Mais celle la ne se fait pas.
j'ai vérifié toutes les conditions, et elles sont bien acceptées. Le problème vient de la redirection qui ne se fait pas.
J'ai mis dans ma premiere include et avant tout HTml
ob_start();
ob_end_flush();.
Mais cela ne change rien.
Voici le code en question
Merci d'avance !
Après plusieurs heures de recherche je reste au point mort.
Dans mon script qui permet au membre de se connecter (qui vérifie login etc). Il y a une redirection. Mais celle la ne se fait pas.
j'ai vérifié toutes les conditions, et elles sont bien acceptées. Le problème vient de la redirection qui ne se fait pas.
J'ai mis dans ma premiere include et avant tout HTml
ob_start();
ob_end_flush();.
Mais cela ne change rien.
Voici le code en question
<?php
include("haut.php");
include("en_tete.php");
include("barre_menu.php");
include("menu.php");
?>
<!–– VERIFICATION DE CONNEXION ––!>
<?php //Si la variable $_SESSION['logged'] n'existe pas on la créée.
if (!isset($_SESSION['logged'])) $_SESSION['logged'] = false;
//Inclusion du fichier contenant les identifiants de connexion à la base de données.
require("config.inc.php");
mysql_connect($host,$username,$password);
mysql_select_db($bdd_name);
//Si la variable $_POST['connexion'] (bouton submit du formulaire) et la variable $_SESSION['logged'] vaut false (déconnecté) existent.
if (isset($_POST['connexion']) && $_SESSION['logged'] === false)
{
//Vérification des autres variables.
if (!empty($_POST['pseudo']) && !empty($_POST['mot_passe']))
{
//Vérification du pseudo.
$pseudo = htmlspecialchars($_POST['pseudo']);
$mot_passe = htmlspecialchars($_POST['mot_passe']);
//Requête comptant le nombre de pseudos $_POST['pseudo']
$sql = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM membres WHERE pseudo='".$pseudo."'");
//Si le pseudo existe.
if (mysql_result($sql,0,'nb_pseudo') == 1)
{
//Vérification du mot de passe
//Information sur le compte du membre.
$sql_infos = mysql_query("SELECT id, mot_passe, confirmation FROM membres WHERE pseudo='".$pseudo."'");
$donnees = mysql_fetch_array($sql_infos);
//Hashage du mot de passe.
$mot_passe_hash = md5($mot_passe);
//Comparaison du mot de passe.
if ($mot_passe_hash == $donnees['mot_passe'])
{
//On vérifie que le compte est confirmé.
//Si $donnees['confirmation'] vaut 1.
if ($donnees['confirmation'] == 1)
{
if (isset($_POST['souvenir']) && $_POST['souvenir'] == 'on')
{
//Temps d'expiration des cookies (1 an).
$expire = time() + 3600 * 24 * 365;
setcookie('pseudo', $pseudo, $expire);
setcookie('mot_passe', $mot_passe_hash, $expire);
}
//Tout est bon, on connecte le membre.
$_SESSION['logged'] = true;
//Création de 2 variables de session, contenant des informations sur le membre.
$_SESSION['id'] = $donnees['id']; //Id du membre.
$_SESSION['pseudo'] = $pseudo; //Pseudo du membre.
echo $_SESSION['id'];
//Redirection vers la page membre.
header("location: proposer_news.php");
}
else
echo 'Erreur : le compte n\'est pas confirmé !';
}
else
echo 'Erreur : le mot de passe est incorrect !';
}
else
echo 'Erreur : le pseudo n\'existe pas !';
}
else
echo 'Erreur : veuillez remplir tous les champs !';
}
//Déconnection de la base de données.
mysql_close();
?>
A savoir le formulaire pour se connecter est dans le fichier menu.php et pointe vers index.Merci d'avance !