8800 sujets

Développement web côté serveur, CMS

Bonjour a tous voilà j'ai un souci au niveau de la gestion des membres le code s'execute sans erreur mais il me charge toujours la page avec la demande de login et mot de passe que puis-je-faire ?? voici mon code


<?php
session_start();
mysql_connect("localhost","root","");
mysql_select_db("site_voyage");

if (isset($_SESSION['pseudo']))   {

echo"Bienvenue a {$_SESSION['pseudo']}";
?>

<form action="Co.php" method="post">
 <input type="submit" value="D&eacute;connexion" />
</form>

<?php 
}

else //$_SESSION['pseudo'] n'existe pas
{
?>

<form action="accueil.php" method="post">
 <input type="text" name="pseudo" value="pseudo" />
 <input type="password" name="pass" value="pass" />
 <input type="submit" value="Connexion" />
</form>

<?php
$nom=$_POST['pseudo'];
$pass=$_POST['pass'];
$req= mysql_query("Select * From membres where pseudo='$nom' and passe='$pass'");
} //Ferme le else

if($req!=NULL){

$_SESSION['pseudo']="$nom";
header('Locate:accueil.php');


} // ferme le if

else //$req est nul
{

header('Locate:accueil.php');
}
?>


Merci de m'aider
Bon j'ai quasiment résolu mon probléme. J'envoi mon formulaire dans une page de gestion et la dedans je teste tout seul probleme mes 2 header locate (dans le if et le else) ne fonctionne pas que puis-je faire pour faire rediriger vers la page d'accueil tout de meme voici le code qui se trouve dans la partie gest.php
<?php
session_start();
mysql_connect("localhost","root","");
mysql_select_db("site_voyage"); ?>

<?php
$nom=$_POST['pseudo'];
$pass=$_POST['pass'];
$req= mysql_query("SELECT * FROM membres WHERE pseudo='$nom' AND pass='$pass'");
$rep=mysql_num_rows($req);

if($rep!=NULL){

$_SESSION['pseudo']="$nom";

header('Locate:accueil.php');


} // ferme le if

else //$req est nul
{

header('Locate:accueil.php');
}
mysql_close(); 
?>

Modifié par anthonydb1 (09 Oct 2008 - 19:26)
Modérateur
Salut,

De mémoire, ton header est faut. Je crois que tu dois écrire ceci :

header("location:accueil.php");

Je ne comprends pas très bien pourquoi tu as fait deux fois l'ouverture de balise php (<?php ... ?>). À moins que tu aies de l'html au milieu et donc tes header ne peuvent pas fonctionner correctement.

++
Nolem a écrit :
...

De mémoire, ton header est faut. Je crois que tu dois écrire ceci :
...


...faux
Modérateur
oups, j'ai fait une petite coquille. Ce soir je suis un peu à l'envers de l'endroit. :$
Bonsoir, voici ce que j'essaierai:
<?php
session_start();
mysql_connect("localhost","root","");
mysql_select_db("site_voyage");
if (isset($_SESSION['pseudo']))   {
echo"Bienvenue a {$_SESSION['pseudo']}";
?>
<form action="Co.php" method="post">
<input type="submit" value="Déconnexion" />
</form><?php 
}
else //$_SESSION['pseudo'] n'existe pas
{
// en post uniquement
if(isset($_POST['pseudo'])) 	$pseudo 	=  ($_POST['pseudo']); 	else $pseudo = '';
if(isset($_POST['pass'])) $pass = trim($_POST['pass']); else $pass = '';
$query = "Select * From membres where pseudo='$pseudo' and passe='$pass'";
$result = mysql_query ($query);
if (($result == TRUE) && (mysql_num_rows($result) > 0)) {
// --> OK Trouvé..
 $_SESSION['pseudo']="$pseudo";
 Header('Location: accueil.php');
 exit;
}
elseif ($result != TRUE) {die ('Erreur sql: '.$result.mysql_errno().' - '.$result.mysql_error();}
} ?>
<form action="accueil.php" method="post">
<input type="text" name="pseudo" value="pseudo" />
<input type="password" name="pass" value="pass" />
<input type="submit" value="Connexion" />
</form>

Cordialement,
Marco