Probleme redirection php

Fermé
sly25 - 4 juin 2008 à 12:00
 sly25 - 5 juin 2008 à 14:21
Bonjour, je n'arrive pas a me connecter sur ma page userliste.php alors que je rentre le nom et le mdp présent dans ma base mysql !!! On m'affiche 'Au moins un des champs est vide' alors qu'il devrait me rediriger sur ma page userliste.php puisque les 2 champs correspondent à ceux présents dans la base de données. Merci d'avance à ceux qui m'aideront!!! le script ci dessous est celui présent sur ma page connexion.php ou est présent mon formulaire également.

<?php

// on teste si le visiteur a soumis le formulaire de connexion

if ((isset($_POST['nom']) && !empty($_POST['nom'])) && (isset($_POST['mdp']) && !empty($_POST['mdp'])))

{

$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('recrutement', $base);


// on teste si une entrée de la base contient ce couple login / pass

$sql = 'SELECT count(*) FROM login WHERE nom="'. mysql_real_escape_string ($_POST[
'nom']).'" AND mdp="'. mysql_real_escape_string ($_POST['mdp']).'" AND statut="1"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result($req);
mysql_close();


// si on obtient une réponse, alors l'utilisateur est un membre

if ($data[0] == 1)
{
session_start();

$_SESSION['nom'] = $_POST['nom'];
$_SESSION['mdp'] = $_POST['mdp'];

header ('location:userliste.php');
}

// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login s,soit dans son mot de passe

elseif ($data[0] == 0)
{
$erreur = 'Compte non reconnu.';
}


// sinon, alors la, il y a un gros problème :)
else
{
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
}
else
{
$erreur = 'Au moins un des champs est vide.';
}

?>
A voir également:

5 réponses

adgem0 Messages postés 119 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 7 mai 2010 158
4 juin 2008 à 12:13
J'ai parcouru rapidement ce que tu as écrit et je pense pas qu'il y ait une erreur.
Vérifie que le nom de tes champs de texte correspondent bien à "nom" et "mdp" ....

C'est la balise "name" de ton input, par exemple :
<input type="text" name="nom" maxlength="30" />
0
Tout concorde ! En fait j'utilise dreamweaver et dans les comportements de serveur j'ai mis authentifier l'utilisateur avec le mot de passe et le nom (à l'aide du bouton +)!! Il me génere alors un sript automatique en javascript !!! Lorsque je n'ai pas cette protection tout fonctionne correctement mais j'ai accès à ma page directement depuis l'url ! Pour ne pas y avoir accès j'instaure donc cette protection qui me bloque carrémen l'accès a cette page !!!!
0
En disant tout concorde je ne voulais pas dire j'ai trouvé !!! Je suis toujours en train d'essayer de trouver .... sans succès!!
0
adgem0 Messages postés 119 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 7 mai 2010 158
5 juin 2008 à 09:34
Pourrais-tu afficher s'il-te-plaît tout le code de la page où se trouve le formulaire de connexion ?
Ca permettra de voir ce que fait exactement ta page lorsque tu valide.

Est-ce que le formulaire de connexion se trouve dans la même page que ton script qui vérifie les identifiants de connexion dans la BDD ?

Je n'aime pas rester invaincu ... on va trouver ce qui ne va pas !
0
Oui mon formulaire se trouber dans la meme page que ton script qui vérifie mes identifiantss de connexion à la BDD! voila ma page connexion.php
<?php

// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['nom']) && (!empty($_POST['nom'])) && (isset($_POST['mdp']) && !empty($_POST['mdp'])))

{

$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('recrutement', $base);


// on teste si une entrée de la base contient ce couple login / pass

$sql = 'SELECT count(*) FROM login WHERE nom="'. mysql_real_escape_string ($_POST[
'nom']).'" AND mdp="'. mysql_real_escape_string ($_POST['mdp']).'" AND statut="1"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result($req);
mysql_close();


// si on obtient une réponse, alors l'utilisateur est un membre

if ($data[0] == 1)
{
session_start();
$_SESSION['nom'] = '$lenom' ;
header ('Location: userliste.php');
exit();
}

// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login s,soit dans son mot de passe

elseif ($data[0] == 0)
{
$erreur = 'Compte non reconnu.';
}


// sinon, alors la, il y a un gros problème :)
else
{
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
}
else
{
$erreur = 'Au moins un des champs est vide.';
}

?>

<form action="connexion.php" name="form1" method="post" >
<p align="center" class="Style1">
</br>
<div align="center">
<p><span class="Style7"><u>Bonjour et bienvenue sur la page d'accès aux offres d'emplois !</u></span> <u></br>
</u>


<?php

// Enregistrons les informations de date dans des variables

$Jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
$Mois = array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
$datefr = $Jour[date("w")]." ".date("d")." ".$Mois[date("n")]." ".date("Y");
$heure = date("H");
$minute = date("i");
$seconde = date("s");

echo "<p align=\"center\" class=\"Style1\">
<div align=\"center\"><p>
<b><span class=\"Style1\">Nous sommes le $datefr et il est $heure h $minute.</span></br></b>";

?>



<!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=utf-8" />
<title>Connexion aux offres d'emplois</title>
<style type="text/css">
<!--
.Style1 {
color: #FF6600;
font-size: 10mm;
}
.Style2 {
color: #009900;
font-weight: bold;
font-size: 6mm;
}
.Style3 {
color: #0066FF;
font-weight: bold;
font-size: 5mm;
}
.Style4 {
color: #000000;
font-family: Geneva, Arial, Helvetica, sans-serif;
}
.Style7 {color: #FF6600; font-size: 10mm; font-weight: bold; }
.Style8 {
font-size: 7mm
}
-->
</style>

</head>

<body>

</p>
</p>
</u> </div> </br> </br>
<hr align="center" width="80%" size="8" noshade="noshade" " > </hr>
<p align="center" class="Style2"> </p>
<p align="center" class="Style2"> </p>
<p align="center" class="Style2"><tt><ins>Connectez vous pour créer, modifier ou tout simplement consultez les offres d'emplois.</ins></tt></p>
<p align="center" class="Style2"> </p>
<p align="center" class="Style2"> </p>
<fieldset>
<legend class="Style3 Style8">Connexion aux offres d'emplois</legend>
<p align="center" class="Style2">
<label><span class="Style4">Utilisateur</span>
<input type="text" name="nom" size="30" value="<?php
if (isset($_POST['nom'])) echo
htmlentities(trim($_POST['nom']));
?>">

</label>
</p>
<p align="center" class="Style2">
<label> <span class="Style4">Mot de passe</span>
<input type="password" name="mdp" size="35" value="<?php
if (isset($_POST['mdp']))
echo htmlentities(trim($_POST['mdp']));
?>">

<br />
<br />
<input type="hidden" name="statut" value="statut" checked="checked" > </input>
<br />
<br />
<input type="submit" name="connexion" value="Connexion" /> </input>
<br />
<br />
</label>
</p>
</fieldset>
</form>

<?php
if (isset($erreur))
{
echo '<br /><br />',$erreur;
}

?>



</body>
</html>
0
adgem0 Messages postés 119 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 7 mai 2010 158
5 juin 2008 à 11:03
Je suis désolé je trouve pas ....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
C'est pas grave merci d'y avoir prêté attention quand même !!
0