Bonjour,
Je développe actuellement mon 1er site internet et je me retrouve face à un problème: j'ai créé dans ma base de données un compte utilisateur, j'ai créé un formulaire d'inscription qui fonctionne bien mais le problème survient au moment de la connexion. Voici le code du formulaire de connexion:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Site de vente de matériel informatique</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Style" href="style.css" />
<?
$essai = $_POST["essai"];
$essai = 0;
?>
</head>
<body>
<form action="index.php?connecte=1" method="post">
<p>Nom d'utilisateur : <input type="text" name="login" />
<?php
$login=$_POST["login"];
$connexion = mysql_connect("localhost","root","");
$base="ma_base";
if (!$connexion)
{
die('Impossible de se connecter: ' . mysql_error());
}
mysql_select_db($base, $connexion);
$verifmembre = "SELECT * FROM client WHERE LOGIN = '$login';";
$result = mysql_query($verifmembre, $connexion);
$nbligne = "mysql_num_rows($result);";
if(!$result)
{
die("Problème lors de la création de votre compte client" . mysql_error());
}
elseif($nbligne == 0 and $essai == 1)
{
echo "Votre login est invalide";
}
mysql_close();
?>
</p>
<p>Mot de passe : <input type="password" name="mdp" />
<?php
$login=$_POST["login"];
$mdp=$_POST["mdp"];
$row = mysql_fetch_array($result);
$connexion = mysql_connect("localhost","root","");
$base="ma_base";
if (!$connexion)
{
die('Impossible de se connecter: ' . mysql_error());
}
mysql_select_db($base, $connexion);
$verifmembre = "SELECT * FROM client WHERE LOGIN = '$login';";
$result = mysql_query($verifmembre, $connexion);
if(!$result)
{
die("Problème lors de la création de votre compte client" . mysql_error());
}
elseif($mdp <> $row["MDP"])
{
echo "Votre mot de passe est incorrect";
}
mysql_close();
?>
</p>
<p><input type="submit" name="envoyer" value="Envoyer" /></p>
<p><input type="reset" value="Effacer"/></p>
</form>
<?php
if ($nbligne == 1 and $mdp == $row["MDP"])
{
$connecte=1;
$SESSION["login"]=$login;
}
?>
</body>
</html>
Lorsque je rentre les informations pour me connecter, je me retrouve bien sur l'index mais au lieu de marquer: Bienvenue, nom_login , il y a toujours les liens pour s'inscrire et pour se connecter. Voici le code du début de mon index:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Site de vente de matériel informatique</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Style" href="style.css" />
<?php
session_start();
?>
<?php
if (!empty($_GET['connecte']))
{
$_SESSION = array();
}
?>
</head>
<body>
<?php
$login = $_SESSION["login"];
if (isset($_SESSION["login"]))
{
echo "<p>Bienvenue $login</p>";
}
else
{
echo "<p><a class='lienmembre' href='connexion.php' title='Zone d\'identification pour les membres'>Connexion</a> - <a class='lienmembre' href='inscription.php?essai=0&verif=0&v=0' title='Zone d\'inscription pour les nouveaux membres'>Inscription</a></p>";
}
?>
...
Est-ce quelqu'un peut m'aider? SVP. C'est très important. Merci d'avance.
tu as déja la une anomalie:
$nbligne = "mysql_num_rows($result);";
c'est:
ensuite si tu mets:
$essai = $_POST["essai"];
$essai = 0;
tu auras toujours $essai=0 quoi qu'il arrive !
ensuite pourquoi tu te connectes et deconnectes plusieurs fois dans le même script.
et le code que tu donnes quel est son nom de fichier ?