Prob. de redirection PHP session, login, mdp

Résolu/Fermé
Utilisateur anonyme - 1 janv. 2011 à 15:25
informapierre Messages postés 418 Date d'inscription vendredi 30 novembre 2007 Statut Membre Dernière intervention 17 juin 2012 - 1 janv. 2011 à 16:38
Bonjour et bonne année à tous,

J'ai un petite problème de redirection php avec le header location.
Mon script est très simple, il s'agit de remplir des champs Login et Mot de passe.
Si le mot de passe et le login sont correctes, une session est créée et redirige l'utilisateur vers page_protegee.php.
Si la session n'est pas créée, on ne peut pas avoir accès à cette page.
Mon script fonctionne mais ne redirige pas.

Voici mon script de la page connexion.php

<?php session_start(); ?>
<h2>Connexion</h2>

<form method="POST">
<p>Login : <input name="login" type="text" size="30"/></p>
<p>Mot de passe : <input name="mdp" type="password" size="30"/></p>
<p><input type="submit" name="btn_envoyer" value="Envoyer"></p>
</form>


<?php
if (isset($_POST['btn_envoyer']))
{
$login = $_POST["login"];
$mdp = $_POST["mdp"];


if(($_POST["login"] == 'qq') AND ($_POST["mdp"] == 'ww')){
$_SESSION["login"] = $_POST["login"];
header('Location: page_protegee.php');
}else{
echo'Veuillez vérifier vos identifiants';
}
}
?>

Et le script de page_protegee.php

<?php
session_start();
if(isset($_SESSION['login']))
{ }

else
{
header('Location: connexion.php');
}
?>

<p><a href="deconnexion.php">Déconnexion</a><p>

Merci de bien vouloir m'aider.

spike999
A voir également:

1 réponse

informapierre Messages postés 418 Date d'inscription vendredi 30 novembre 2007 Statut Membre Dernière intervention 17 juin 2012 49
Modifié par informapierre le 1/01/2011 à 15:47
Humm essaie avec sa :


<?php session_start(); ?>
<h2>Connexion</h2>

<form method="post" action="connexion.php">
<p>Login : <input name="login" type="text" size="30"/></p>
<p>Mot de passe : <input name="mdp" type="password" size="30"/></p>
<p><input type="submit" name="btn_envoyer" value="Envoyer"></p>
</form>


<?php
if (isset($_POST['btn_envoyer']))
{

if(($_POST["login"] == 'qq') AND ($_POST["mdp"] == 'ww')){
$_SESSION["login"] = $_POST["login"];
header('Location: page_protegee.php');
}else{
echo'Veuillez vérifier vos identifiants';
}
}
?>

Et le script de page_protegee.php

<?php
session_start();
if(isset($_SESSION['login']))
{ }

else
{
header('Location: connexion.php');
}
?>

dans ton formulaire tu a oublier de préciser à quelle page les information doivent êtres envoyer :/
1
Utilisateur anonyme
1 janv. 2011 à 16:08
Tout d'abord merci d'avoir pris la peine de me répondre ! =)
Ça ne marche toujours pas.

J'ai oublié de préciser sur le message d'erreur qui est le suivant :
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\formulaire\connexion.php:11) in C:\xampp\htdocs\formulaire\connexion.php on line 20

Je ne comprends vraiment pas, car il s'agissait d'un code qui fonctionnait il y a 2 ans.

J'ai même essayer de mettre le session_start dans le résultat de la condition mais je rencontre une autre erreur car le session_start doit être placé en tête de page.

Merci de bien vouloir m'aider.

spike999
0
informapierre Messages postés 418 Date d'inscription vendredi 30 novembre 2007 Statut Membre Dernière intervention 17 juin 2012 49
1 janv. 2011 à 16:28
<?php session_start(); ?>
<h2>Connexion</h2>

<form method="post" action="connexion.php">
<p>Login : <input name="login" type="text" size="30"/></p>
<p>Mot de passe : <input name="mdp" type="password" size="30"/></p>
<p><input type="submit" name="btn_envoyer" value="Envoyer"></p>
</form>


<?php
if (isset($_POST['btn_envoyer']))
{

if(($_POST["login"] == 'qq') AND ($_POST["mdp"] == 'ww')){
$_SESSION["login"] = $_POST["login"];
header("Location: page_protegee.php");
}else{
echo'Veuillez vérifier vos identifiants';
}
}
?>

Et le script de page_protegee.php

<?php
session_start();
if(isset($_SESSION['login']))
{ }

else
{
header("Location: connexion.php");
}
?>

essai toujours avec sa :/
0
Utilisateur anonyme
1 janv. 2011 à 16:37
Finalement j'ai reprogrammé mon script, j'ai séparé le code de la validation du formulaire et le formulaire et j'ai rajouté action="connexion.php" et ça marche !

Merci de ton aide ! Si tu ne m'avais pas mis sur la piste j'aurais mis du temps avant de trouver une solution.

Merci encore ! Et bonne année !!
0
informapierre Messages postés 418 Date d'inscription vendredi 30 novembre 2007 Statut Membre Dernière intervention 17 juin 2012 49
1 janv. 2011 à 16:38
Bonne année a toi aussi ^
0