Formulaire d'identification membres
Posté : 01 oct. 2008, 11:20
Bonjour,
J'ai utilisé un script que j'ai trouvé sur un site.
J'ai une page de connexion pseudo/pass:
Voici le script de la page CONNEXION.PHP:
Premier problème:
Il m'affiche ça quand j'ai entrer un pseudo/pass CORRECT:
La ligne 43 correspond à celle-ci:
-----------------------------
Deuxieme problème,
Lorsque j'écris un pseudo/pass INCORRECT, j'ai ce message d'erreur:
La ligne 43 correspond à celle-ci:
--------------
Donc si quelqu'un à une idée de ce qui cloche et qui pourrait m'aider à résoudre mes deux problèmes ...
D'avance merci
J'ai utilisé un script que j'ai trouvé sur un site.
J'ai une page de connexion pseudo/pass:
Voici le script de la page CONNEXION.PHP:
<?php session_start();?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>xxx</title>
<!-- lien de la feuille de style des textes -->
<link href="../Design/styletext.css" rel="stylesheet" type="text/css" />
<!-- lien de la feuille de style de la position des blocs -->
<link href="../Design/stylepage.css" rel="stylesheet" type="text/css" />
<!-- lien de la feuille de style de la gestion du menu -->
<link href="../Design/stylemenu.css" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" type="image/png" href="../Images/favicon.png" />
</head>
<body>
<div id="corps">
<div id="image_fond"></div>
<div id="logo"><a href="../Index.php"><img src="../Images/Logo/colombe_couleur_text.png" width="160" height="160" border="0" /></a></div>
<div id="posmenu">
<?php include("../Menu/MenuPages.php");?>
</div>
<div id="titre">Se connecter en tant que membre de l'Association xxx</div>
<div id="texte"><br/><br/><br/><br/><center><?php include("../Formulaire/Connexion/test-Login.php");?></center><br/><br/><br/><br/><br/></div>
</div>
</body>
</html>
Cette page fait un INCLUDE de TEST-LOGIN.PHP (le script que j'ai récupéré) et dont voici le code:<?php session_start();?>
<?php
/* ecriture de l'entête html début de page */
$entete_debut='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>
<body>';
$entete_fin='</body></html>';
/* création du code de connexion à la bd */
// $connexion_mysql=mysql_connect('localhost','root','');
/* on teste maintenant si la session login n'est pas initialisé et le formulaire non posté on affiche le formulaire de connexion*/
if(empty($_SESSION['inscr_pseudo']) AND !isset($_POST['Envoyer']))
{
echo $entete_debut;
/* on affiche maintenant le formulaire */
?>
<form action="" method="post" name="login" id="login">
Pseudo :
<input name="inscr_pseudo" type="text" id="inscr_pseudo"><br />
Password :
<input name="inscr_pass" type="password" id="inscr_pass"><br />
<input type="submit" name="Envoyer" value="Envoyer">
</form>
<?php
echo $entete_fin;
}
/* si le formulaire a été posté on tente la connexion de l'utilisateur et si la session n'est pas ouverte */
elseif(empty($_SESSION['inscr_pseudo']) AND $_POST['Envoyer']=="Envoyer")
{
/* connexion à la table membre */
mysql_connect("localhost", "root", "") or die("Impossible de se connecter");
mysql_select_db("xxx") or die("Impossible de se connecter");
$requete="SELECT id, inscr_pseudo FROM membre WHERE inscr_pseudo='".mysql_real_escape_string($_POST['inscr_pseudo'])."'
AND inscr_pass='".mysql_real_escape_string($_POST['inscr_pass'])."'";
/* on teste que le membre existe bien dans la table */
if (mysql_num_rows(mysql_query($requete))==1)
{
$donnees_mysql=mysql_fetch_assoc(mysql_query($requete));
$_SESSION['inscr_pseudo']=$donnees_mysql['inscr_pseudo'];$_SESSION['id']=$donnees_mysql['id'];
mysql_close();
header('Refresh: 3;URL='.$_SERVER['PHP_SELF']);
$log_ok='www.google.fr';/* mettre ici l'url de la page de destination si la connexion est OK */
echo $entete_debut.'vous allez être redirigé dans 3 secondes sur l\'espace membre'.$entete_fin;
}
else
{
header('Refresh: 5;URL='.$_SERVER['PHP_SELF']);
echo $entete_debut.'la connexion à notre espace membre a échouée, merci de refaire un essai.
Vous allez être redirigé sur le formulaire dans 5 secondes.';
/* mettre ici la requête avec les liens vers les fichier du membre */
echo $entete_fin;
}
}
/* si une erreur dans le script ce produit on affiche un message */
else
{
echo $entete_debut.'une erreur est survenue'.$entete_fin;
}
?>
----------------Premier problème:
Il m'affiche ça quand j'ai entrer un pseudo/pass CORRECT:
Code : Tout sélectionner
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\Pages\Connexion.php:9) in C:\wamp\www\Formulaire\Connexion\TEST-LOGIN.php on line 43
vous allez être redirigé dans 3 secondes sur l'espace membremysql_close();
header('Refresh: 3;URL='.$_SERVER['PHP_SELF']);
$log_ok='www.google.fr';/* mettre ici l'url de la page de destination si la connexion est OK */
La ou il y a le mot HEADER(...)-----------------------------
Deuxieme problème,
Lorsque j'écris un pseudo/pass INCORRECT, j'ai ce message d'erreur:
Code : Tout sélectionner
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\Pages\Connexion.php:9) in C:\wamp\www\Formulaire\Connexion\TEST-LOGIN.php on line 49
la connexion à notre espace membre a échouée, merci de refaire un essai. Vous allez être redirigé sur le formulaire dans 5 secondes.else
{
header('Refresh: 5;URL='.$_SERVER['PHP_SELF']);
echo $entete_debut.'la connexion à notre espace membre a échouée, merci de refaire un essai. Vous allez être redirigé sur le formulaire dans 5 secondes.';
/* mettre ici la requête avec les liens vers les fichier du membre */
echo $entete_fin;
La ou il y a le mot HEADER(...)--------------
Donc si quelqu'un à une idée de ce qui cloche et qui pourrait m'aider à résoudre mes deux problèmes ...
D'avance merci