Pb authentification PHP

Fermé
ZaNy - 3 janv. 2008 à 09:22
 ZaNy - 4 janv. 2008 à 09:01
Bonjour,
Je voudrai créer une authentification afin d'accéder à une page perso de mon site.
Je possède une base de donnée composé d'une colonne ID, pass et user remplie bien sur avec un ID, un mots de passe et un utilisateur.

Je souhaite que mon code PHP récupére le mot de passe et l'utilisateur dans ma base et le compare aux zone texte login et password que j'ai crée sur ma page d'authentification, et si c'est correct, ouvrir une autre page.

Voici mon code PHP qui ne marche pas:

<!-- Fait appel a la page connexion.php dans laquelle on effectue notre connexion à la base -->
<?php include("connexion.php"); ?>

<?php $requete = "SELECT * FROM membres ORDER BY id DESC";
$resultat = mysql_query($requete,$connexion) or die("Erreur de requête");
while ($uneLigne = mysql_fetch_array($resultat))
{
if(isset($_POST) && !empty($_POST['login'])
&& !empty($_POST['password']))
{
if($_POST['login'] == $donnees['user'] &&
$_POST['password'] == $donnees['pass'])
{
include("perso.php")};
else {
echo "Login et mot de passe incorrect"};
}}
mysql_close($connexion); ?>

Merci de m'aider
Cordialement
Alexis

7 réponses

Tiller Messages postés 781 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 14 septembre 2008 211
3 janv. 2008 à 10:56
$donnees, explique moi où tu as trouvé cette variable? n_n
C'est plutot $uneLigne
0
Oui effectivement, j'ai remplacé $donnees par $ uneLigne.
> Voici le message d'erreur:
>
> Parse error: syntax error, unexpected ';' in
> C:\wamp\www\authentification.p= hp on line 61
0
Tiller Messages postés 781 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 14 septembre 2008 211
3 janv. 2008 à 11:16
<?php
include("connexion.php");

$requete = "SELECT * FROM membres ORDER BY id DESC";
$resultat = mysql_query($requete, $connexion) or die("Erreur de requête");
while ($uneLigne = mysql_fetch_array($resultat))
{

    if (isset($_POST))
    {
        if ($_POST['login'] == $uneLigne['user'] && $_POST['password'] == $uneLigne['pass'])
        {
            include("perso.php");
        }
        else
        {
            echo "Login et mot de passe incorrect";
        }
    }
}
mysql_close($connexion);
?>


Tu codes quand même mal, c'est sale, tu empiles les trucs sur la même ligne...
Ton erreur viens justement que tu met )}; au lieu );}
0
Merci Tiller pour ta reponse.
Je n'ai plus la ligne d'erreur PHP grace à ton code.
Par contre la ligne "Login et mot de passe incorrect" s'affiche à l'écran, et je n'ai pas besoin de rentrer les bon login et mots de passe pour rentrer sur ma page perso.php (si je ne rentre aucune valeur et que je clique sur le bouton envoyer, j'accède comme meme à ma page.
0

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

Posez votre question
Tiller Messages postés 781 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 14 septembre 2008 211
3 janv. 2008 à 18:38
<?php
include("connexion.php");

$requete = "SELECT * FROM membres ORDER BY id DESC";
$resultat = mysql_query($requete, $connexion) or die("Erreur de requête");
$find = 0;
while ($uneLigne = mysql_fetch_array($resultat))
{
    $dbLog = $uneLigne['user'];
    $dbPass = $uneLigne['pass'];
    if (isset($_POST))
    {
        $postLog = $_POST['login'];
        $postPass = $_POST['password']
        if ($postLog == $dbLog && $postPass == $dbPass && !empty($postLog))
        {
            $find = 1;
            include("perso.php");
            break 1;
        }
    }
}

if ($find == 0)  echo "Login et mot de passe incorrect";

mysql_close($connexion);
?>


Perso j'aurais pas fais comme ça mais j'ai voulus conserver ton code quand même
0
Merci de votre précieuse aide.

J'ai copié votre code mais j'ai ce message d'erreur:

Parse error: syntax error, unexpected T_IF in C:\wamp\www\authentification.php on line 69

Cordialement

Alexis
0
J'ai résolu le probleme liè au message d'erreur si dessus,

$postPass = $_POST['password']; Le point virgule était manquant à la fin de cette ligne.

Malgré cela, je passe toujours tous droit si je ne tape rien comme login et mot de passe, et meme si je tape un login et mot de passe faux.

De plus, j'ai toujours la ligne " Login et mot de passe incorrect" qui s'affiche à l'écran.

Je suis preneur de tous autre format de ton code Tiller si tu trouve qu'il ne fallais pas faire comme cela.

Merci de ton aide

Cordialement.
0