Probleme redirection login
Résolu
lore
-
lore -
lore -
Bonjour,
j essaye de faire un formulaire de login et j ai un probleme. si je me login avec un nom et mot de passe enregistre dans la bdd j atteri sur une page blanche.
si je fais une erreur de login mes erreurs sont bien affichees.
si j utilise le formulaire d inscription j arrive bien sur ma page membres.
c est donc vraiment un probleme de redirection en cas de login correct et je ne vois pas ou.
voici mon code:
quelqu un peu m aider?
j essaye de faire un formulaire de login et j ai un probleme. si je me login avec un nom et mot de passe enregistre dans la bdd j atteri sur une page blanche.
si je fais une erreur de login mes erreurs sont bien affichees.
si j utilise le formulaire d inscription j arrive bien sur ma page membres.
c est donc vraiment un probleme de redirection en cas de login correct et je ne vois pas ou.
voici mon code:
<?php
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
include("code.php");
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result($req);
mysql_close();
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
elseif ($data[0] == 0) {
$erreur = 'Compte non reconnu.';
}
else {
$erreur = 'Problème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head>
<title>Accueil</title>
</head>
<body>
Connexion à l'espace membre :<br />
<form action="login.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
<input type="submit" name="connexion" value="Connexion">
</form>
<?php
if (isset($erreur)) echo ''.$erreur .'</br></br>';
?>
<a href="inscription.php">Vous inscrire</a>
</body>
</html>
quelqu un peu m aider?
6 réponses
Je m'en doutais...
Dans ton fichier code2.php, ligne 2, tu envoies déjà des données au client. Derrière, plus question de session_start() ni de header()
Tu peux montrer les premières lignes de code2.php ? Et si tu ne vois rien, il s'agit peut être simplement d'un espace ou d'une ligne vide qui précède le premier <?php
Dans ton fichier code2.php, ligne 2, tu envoies déjà des données au client. Derrière, plus question de session_start() ni de header()
Tu peux montrer les premières lignes de code2.php ? Et si tu ne vois rien, il s'agit peut être simplement d'un espace ou d'une ligne vide qui précède le premier <?php
voila la page membre.php
<?php
session_start();
if (!isset($_SESSION['login'])) {
header ('Location: index.php');
exit();
}
?>
<html>
<head>
<title>Espace membre</title>
</head>
<body>
Welcome : <?php echo htmlentities(trim($_SESSION['login'])); ?>!<br />
<a href="deconnexion.php">disconnection</a>
</body>
</html>
Bonjour
Ajoute un error_reporting (E_ALL); au début de ton script login.php pour voir si tu n'aurais pas un message qui te dit que les headers ont déjà été envoyés.
Ajoute un error_reporting (E_ALL); au début de ton script login.php pour voir si tu n'aurais pas un message qui te dit que les headers ont déjà été envoyés.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
voila la reponse:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /homepages/24/d364812003/htdocs/greenzulus2/code2.php:2) in /homepages/24/d364812003/htdocs/greenzulus2/login.php on line 16
Warning: Cannot modify header information - headers already sent by (output started at /homepages/24/d364812003/htdocs/greenzulus2/code2.php:2) in /homepages/24/d364812003/htdocs/greenzulus2/login.php on line 18
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /homepages/24/d364812003/htdocs/greenzulus2/code2.php:2) in /homepages/24/d364812003/htdocs/greenzulus2/login.php on line 16
Warning: Cannot modify header information - headers already sent by (output started at /homepages/24/d364812003/htdocs/greenzulus2/code2.php:2) in /homepages/24/d364812003/htdocs/greenzulus2/login.php on line 18