|
|
|
|
Bonjour,
Je developpe un site internet.
J'ai fait un formulaire d'identification en php, celui-ci recupere les variables mot de pass et login.
Quand je valide le formulaire j'utilise une page "ValidationIdentification.php" qui verifie si tout est correct.
C'est la que j'ai un probleme, j'ai l'erreur suivante :
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\nautiscaphe\validationidentification.php:4) in c:\program files\easyphp1-8\www\nautiscaphe\validationidentification.php on line 17
et le code de la page de validation est :
<?php
session_start();?>
<?
function testSaisie($login, $motpasse)
{
if (empty($login) or empty($motpasse))
return "pasOK";
}
$login= $_REQUEST["login"];
$motpasse = $_REQUEST["motpasse"];
if (testSaisie($login, $motpasse)=="pasOK")
{
#####################################################
ci-dessous la ligne 17 qui pose probleme :
header("location:ErreurIdentification2.php");
exit();
}
include("connexion.php");
$sql = "SELECT login, mdp FROM admin WHERE login='$login'";
$result = mysql_query($sql);
$ligne = mysql_fetch_array($result);
if ($ligne['mdp'] != $motpasse)
{
header("location:ErreurIdentification.php");
exit();
}
else
{
$_SESSION['login']=$login;
header ("Location: liste_news.php");
exit;
}
?>
Je ne sais pas si ca a de l'importance mais la page "ErreurIdentification2.php" contient un include qui appelle une feuille de style contenant la mise en page html.
merci d'avance pour votre aide.
Configuration: Windows Vista Internet Explorer 7.0
Oui biensur :
|
Seulement tu tu a besoin d'utiliser des variable de session, vu qu'elle sont sauvegarder entre les page.
<form action="ValidationIdentification.php" name="identification" method="POST"> <table> <tr> <td>Nom d'utilisateur :</td> <td><input type="text" name="login" size="15" maxlength="25"></td> </tr> <tr> <td>Mot de passe :</td> <td><input type="password" name="motpasse" size="6" maxlength="6"></td> </tr> </table> <input type="submit" name="validation" value="Valider"> </form> Ce formulaire est bon.
<?php session_start(); ?>
<?php
function testSaisie($login, $motpasse){
if (empty($login) or empty($motpasse))
return "pasOK";
autant utiliser un boolean?
}
$login= $_POST["login"]; // récuppère les champs en post vu que tu les envoi en post
$motpasse = $_POST["motpasse"];
if (testSaisie($login, $motpasse)=="pasOK") { // Je laisse comme sa mais avec des boolean on supprime le '=='
header("location:ErreurIdentification2.php");
}else{
include("connexion.php");
$sql = "SELECT login, mdp FROM admin WHERE login='$login'";
$result = mysql_query($sql);
$ligne = mysql_fetch_array($result);
if ($ligne['mdp'] != $motpasse){
header("location:ErreurIdentification.php");
} else{
$_SESSION['login']=$login;
header ("Location: liste_news.php");
}
}
?>
|