IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Système] Aide pour authentification


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 40
    Points : 4
    Points
    4
    Par défaut [Système] Aide pour authentification
    Bonjour,

    J'utilise un script en php pour un concours de pronostic. Pour consulter ma page admin, il y a une authentification "My realm" qui demande pseudo et mot de passe pour pouvoir rentrer des matchs à projnostiquer ainsi que leur mise à jour ! Chez Free, tout fonctionne ! Par contre, je suis nouvellement hébergé chez 1&1 et l'authentification ne fonctionne pas, on me demande toujours de rentrer le pseudo et le mot de passe même quand je rentre les bonnes infos

    Je vous laisse essayer http://www.pronos.lesangesverts.com/admin

    login : admin mdp : toto

    Je vous montre le code de la page d'index concernant l'authentification :

    if (!isset($_SERVER['PHP_AUTH_USER']))
    {
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo '<center><strong>Attention vous n\'êtes pas autorisé à entrer</strong></center>';
    exit;
    }
    else
    {
    include("../config.php");

    $db = mysql_connect($host, $user, $pwd);
    mysql_select_db($base, $db);

    $requete = "SELECT * FROM ".$tbl_admin." WHERE pseudo='".$_SERVER['PHP_AUTH_USER']."' AND passe='".$_SERVER['PHP_AUTH_PW']."'";
    $result = mysql_query ($requete, $db);
    $nb = mysql_num_rows ($result);

    if ($nb == 0)
    {
    echo '<center><strong>Attention vous n\'êtes pas autorisé à entrer</strong></center>';
    exit;
    }
    else
    {
    J'ai eu l'idée de supprimer ce code et de mettre un .htaccess (par l'intermédiaire de 1&1), je peux accéder à ma page d'admin, je peux rentrer des matchs mais, je ne peux mettre à jour les matchs ... !?

    Est-ce que quelqu'un peux m'aider ou m'expliquer ce que je peux faire !?

    Merci d'avance

  2. #2
    Membre éclairé Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 858
    Points : 783
    Points
    783
    Par défaut
    Essaye ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    if (!isset($_SERVER['PHP_AUTH_USER'])){
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo '<center><strong>Attention vous n\'êtes pas autorisé à entrer</strong></center>';
    exit;
    }
     
    require('../config.php');
    mysql_connect($host, $user, $pwd);
    mysql_select_db($base);
     
    $pseudo = $_SERVER['PHP_AUTH_USER'];
    $passe = $_SERVER['PHP_AUTH_PW'];
     
    $result = mysql_query ("SELECT * FROM $tbl_admin WHERE pseudo='$pseudo' AND passe='$passe' ");
    $nb = mysql_num_rows($result);
     
    if (empty($nb)){
    echo '<center><strong>Attention vous n\'êtes pas autorisé à entrer</strong></center>';
    exit;
    }
    else{
    Header(Location:lapagequetuveux.php);
    }

    Je peux te proposer un script avec criptage en MD5, récupération du mot de passe par base mysql, et sessions si tu veux
    Dire Straits, Bob Dylan, Led Zeppelin, the Who, Pink Floyd, AC/DC, Guns & Roses, the Doors, ...
    Nicolas Jaar, Paul Kalkbrenner, Marek Hermann

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 40
    Points : 4
    Points
    4
    Par défaut
    J'ai un parse error au niveau de la dernière ligne :
    Parse error: parse error, unexpected ':' in /homepages/25/d168829383/htdocs/pronos/admin/index.php on line 42
    Déjà, merci de ton aide et j'accepte ta proposition

    Encore merci d'avance !

  4. #4
    Invité
    Invité(e)
    Par défaut
    merci d'éviter de poster pour une parse error, et de regarder un peu dans la doc... la fonction header prend un string en parametre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Location: lapagequetuveux.php');
    au lieu de
    Citation Envoyé par Elwyn
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Header(Location:lapagequetuveux.php);

  5. #5
    Membre éclairé Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 858
    Points : 783
    Points
    783
    Par défaut
    Citation Envoyé par torvalds17
    merci d'éviter de poster pour une parse error, et de regarder un peu dans la doc... la fonction header prend un string en parametre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Location: lapagequetuveux.php');
    au lieu de

    Merci de considerer que c'est une erreur
    Dire Straits, Bob Dylan, Led Zeppelin, the Who, Pink Floyd, AC/DC, Guns & Roses, the Doors, ...
    Nicolas Jaar, Paul Kalkbrenner, Marek Hermann

  6. #6
    Invité
    Invité(e)
    Par défaut
    lol, une petite erreur d'inattention, ça peut arriver à tout le monde . de plus, ton script est bon, c'est juste que notre ami Pushka07 aurait pu se forcer un peu en le mettant en place

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 40
    Points : 4
    Points
    4
    Par défaut
    Oups, excusez moi !

    Après rectification, le problème demeure encore

  8. #8
    Membre éclairé Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 858
    Points : 783
    Points
    783
    Par défaut
    Ok alors moi pour mon identification j'ai fais :

    index.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <?
    if(isset($_SESSION['login']) and isset($_SESSION['pass'])){
    echo'.::Bienvenue <b>'.$_SESSION['login'].' ::.</b>';
    }
    else{
    echo'<div align="center"><font color="red" size="4">Identification</font><br><br>';
    echo'<form method="post" action="indentification.php">';
    echo'<font color="red">Login :</font><br>';
    echo'<input type="text" name="login"><br>';
    echo'<font color="red">Pass :</font><br>';
    echo'<input type="password" name="pass"><br><br>';
    echo'<input type="submit" value="Go"></form>';
    echo'</div>';
    }
    ?>
    identification.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <?
    session_start();
     
    $login=$_POST['login'];
    $pass=md5($_POST['pass']);
     
    $count = mysql_query("SELECT COUNT(*) AS count FROM admin WHERE (login = '$login') AND (pass = '$pass') ");
    $count = mysql_fetch_array($count);
    $count = $count['count'];
     
    if(!empty($count)){
    $_SESSION['login']=$login;
    $_SESSION['pass']=$pass;
    }
    else{
    }
    header('Location:index.php');
    ?>
    <html>
    </html>
    Et une table avec :

    id
    login
    pass

    Il fait évidemment que tu remplisse la table avec un id, un login (jusque la c'est logique) ET le mot de passe en MD5
    Pour le trouver ? Tu fais, dans une page a part, un truc bete du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $pass = md5("ton mot de pass");
    echo $pass;
    Voila, en esperant que ca te convienne
    Dire Straits, Bob Dylan, Led Zeppelin, the Who, Pink Floyd, AC/DC, Guns & Roses, the Doors, ...
    Nicolas Jaar, Paul Kalkbrenner, Marek Hermann

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 40
    Points : 4
    Points
    4
    Par défaut
    Je patauge grave dans la choucroute ! normal, je débute à peine dans le php !

    Voici le fichier index.php du répertoire admin (c'est le seul d'ailleur)
    <?

    if (!isset($_SERVER['PHP_AUTH_USER']))
    {
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo '<center><strong>Attention vous n\'êtes pas autorisé à entrer</strong></center>';
    exit;
    }
    else
    {
    include("../config.php");

    $db = mysql_connect($host, $user, $pwd);
    mysql_select_db($base, $db);

    $requete = "SELECT * FROM ".$tbl_admin." WHERE pseudo='".$_SERVER['PHP_AUTH_USER']."' AND passe='".$_SERVER['PHP_AUTH_PW']."'";
    $result = mysql_query ($requete, $db);
    $nb = mysql_num_rows ($result);

    if ($nb == 0)
    {
    echo '<center><strong>Attention vous n\'êtes pas autorisé à entrer</strong></center>';
    exit;
    }
    else
    {
    ?>
    <html>
    <head>
    <title>Administration des pronostics</title>
    <link href="feuille.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <p align="center"><strong><font size="4" face="Arial, Helvetica, sans-serif">
    Espace d'administration des pronostics</font></strong></p>
    <p align="center"><font size="2" face="Arial, Helvetica, sans-serif">Pour vous
    d&eacute;connecter, fermez votre navigateur internet</font></p>
    <table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr bgcolor="#FFCC99">
    <td valign="top" class="fontGras"><strong>Ajout d'une manche</strong></td>
    <td align="center" class="font"> <form action="scripts/valid_ajout.php" target="_blank" method="post">
    <div align="center"><i>Informations générales</i></div>
    <p align="left">Intitul&eacute; :
    <input name="match" type="text">
    </p>
    <p align="left">Heure :
    <input name="heuretxt" type="text">
    </p>
    <p align="left">Date :
    <input name="datetxt" type="text">
    </p>
    <div align="center"><i>Clôture du pronostic</i></div>
    <p align="left">Heure / Minutes / Secondes :
    <SELECT name="heure">
    <?
    for ($num = 23; $num >= 0; $num--)
    print ("<option value=".$num.">".$num."</option>");
    ?>
    </SELECT>
    &nbsp;
    <SELECT name="min">
    <?
    for ($num2 = 0; $num2 <= 59; $num2++)
    print ("<option value=".$num2.">".$num2."</option>");
    ?>
    </SELECT>
    &nbsp;
    <SELECT name="sec">
    <?
    for ($num3 = 0; $num3 <= 59; $num3++)
    print ("<option value=".$num3.">".$num3."</option>");
    ?>
    </SELECT>
    </p>
    <p align="left">Jour / Mois / Année :
    <SELECT name="jour">
    <?
    for ($num4 = 1; $num4 <= 31; $num4++)
    print ("<option value=".$num4.">".$num4."</option>");
    ?>
    </SELECT>
    &nbsp;
    <SELECT name="mois">
    <?
    for ($num5 = 1; $num5 <= 12; $num5++)
    print ("<option value=".$num5.">".$num5."</option>");
    ?>
    </SELECT>
    &nbsp;
    <SELECT name="annee">
    <?
    for ($num6 = 2005; $num6 <= 2010; $num6++)
    print ("<option value=".$num6.">".$num6."</option>");
    ?>
    </SELECT>
    </p>
    <p align="left">Equipe à domicile :
    <input name="dom" type="text">
    </p>
    <p align="left">Equipe à l'ext&egrave;rieur :
    <input name="ext" type="text">
    </p>
    <p align="left">
    <?
    $reqCat = "select * from ".$tbl_categorie;
    $resCat = mysql_query ($reqCat, $db);
    $nbCat = mysql_num_rows ($resCat);

    if ($nbCat == 0)
    print ("<br><center><font face=arial size=3><b>Pas de catégories.</b></font></center>");
    else
    {
    ?>
    <br>
    Catégorie de la manche :
    <select name="cat">
    <?
    for ($t = 0; $t < $nbCat; $t++)
    {
    print ("<option value=".mysql_result($resCat, $t, "id").">".mysql_result($resCat, $t, "nom")."</option>");
    }
    ?>
    </select>
    <?
    }
    ?>
    </p>
    <p align="center">
    <input type="submit" name="validAjout" value="Valider">
    </p>
    </form></td>
    </tr>
    <tr>
    <td valign="top" class="fontGras"><strong>Modification d'une manche</strong></td>
    <td class="font">
    <?
    $today = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y"), -1);

    $req = "select * from ".$tbl_prochainspronos." where ((limite-$today)>0) order by `limite` DESC";
    $res = mysql_query ($req, $db);
    $nb = mysql_num_rows ($res);

    if ($nb == 0)
    print ("<br><center><font face=arial size=3><b>Pas de modification possible.</b></font></center>");
    else
    {
    ?>
    <div align="left"><br>
    Sélectionnez la manche à modifier :</div>
    <form action="scripts/valid_modif.php" target="_blank" method="post">
    <select name="ident">
    <?
    for ($t = 0; $t < $nb; $t++)
    {
    $req_t = "select * from ".$tbl_resultats." where idpp = '".mysql_result($res, $t, "idpp")."'";
    $res_t = mysql_query ($req_t, $db);
    $nb_t = mysql_num_rows ($res_t);

    if ($nb_t == 0)
    print ("<option value=".mysql_result($res, $t, "idpp").">".mysql_result($res, $t, "matchpp")."</option>");

    mysql_free_result($res_t);
    }
    ?>
    </select>
    <input type="submit" name="validModif" value="valider">
    </form>
    <?
    }

    mysql_free_result($res);
    ?>
    <br> </td>
    </tr>
    <tr bgcolor="#FFCC99">
    <td valign="top" class="fontGras"><strong>Mise &agrave; jour d'une manche</strong></td>
    <td class="font">
    <?
    $req = "select * from ".$tbl_prochainspronos." where ((limite-$today)<0) order by `limite` DESC";
    $res = mysql_query ($req, $db);
    $nb = mysql_num_rows ($res);

    $req2 = "select * from ".$tbl_resultats.",".$tbl_prochainspronos." where ".$tbl_resultats.".idpp = ".$tbl_prochainspronos.".idpp";
    $res2 = mysql_query ($req2, $db);
    $nb2 = mysql_num_rows ($res2);

    if ($nb == 0)
    print ("<br><center><font face=arial size=3><b>Pas de mise à jour à faire.</b></font></center>");
    else
    {
    if ($nb2 == $nb)
    print ("<br><center><font face=arial size=3><b>Pas de mise à jour à faire.</b></font></center>");
    else
    {
    ?>
    <br>
    Sélectionnez la manche à mettre à jour :<br> <form action="scripts/valid_result.php" target="_blank" method="post">
    <select name="ident">
    <?
    for ($t = 0; $t < $nb; $t++)
    {
    $req_t = "select * from ".$tbl_resultats." where idpp = '".mysql_result($res, $t, "idpp")."'";
    $res_t = mysql_query ($req_t, $db);
    $nb_t = mysql_num_rows ($res_t);

    if ($nb_t == 0)
    print ("<option value=".mysql_result($res, $t, "idpp").">".mysql_result($res, $t, "matchpp")."</option>");

    mysql_free_result($res_t);
    }
    ?>
    </select>
    <input type="submit" name="validUpdate" value="valider">
    </form>
    <?
    }
    }

    mysql_free_result($res);
    mysql_free_result($res2);
    ?>
    <br> </td>
    </tr>
    <tr>
    <td valign="top" class="fontGras"><strong>Annulation d'une manche</strong></td>
    <td class="font">
    <?
    $req = "select * from ".$tbl_prochainspronos." where ((limite-$today)>0) order by `limite` DESC";
    $res = mysql_query ($req, $db);
    $nb = mysql_num_rows ($res);

    if ($nb == 0)
    print ("<br><center><font face=arial size=3><b>Pas de manche à annuler.</b></font></center>");
    else
    {
    ?>
    <br>
    Sélectionnez la manche à mettre à annuler :<br> <form action="scripts/valid_supprime.php" target="_blank" method="post">
    <select name="ident">
    <?
    for ($t = 0; $t < $nb; $t++)
    {
    $req_t = "select * from ".$tbl_resultats." where idpp = '".mysql_result($res, $t, "idpp")."'";
    $res_t = mysql_query ($req_t, $db);
    $nb_t = mysql_num_rows ($res_t);

    if ($nb_t == 0)
    print ("<option value=".mysql_result($res, $t, "idpp").">".mysql_result($res, $t, "matchpp")."</option>");

    mysql_free_result($res_t);
    }
    ?>
    </select>
    <input type="submit" name="validSuppr" value="valider">
    </form>
    <?
    }

    mysql_free_result($res);
    ?>
    <br> </td>
    </tr>
    <tr bgcolor="#FFCC99">
    <td valign="top" class="fontGras"><strong>Gestion des cat&eacute;gories</strong></td>
    <td class="font">
    Ajout d'une cat&eacute;gorie :<br>
    <form action="scripts/add_categorie.php" target="_blank" method="post" ENCTYPE="multipart/form-data">
    <p>Intitulé :
    <input type="text" name="intitule" />
    <input type="submit" name="validAjoutCat" value="Valider">
    </p>
    </form>
    <br><br>
    <?
    $req = "select * from ".$tbl_categorie;
    $res = mysql_query ($req, $db);
    $nb = mysql_num_rows ($res);

    if ($nb == 0)
    print ("<br><center><font face=arial size=3><b>Pas de catégories.</b></font></center>");
    else
    {
    ?>
    <br>
    Sélectionnez la catégorie à supprimer :<br>
    <form action="scripts/del_categorie.php" target="_blank" method="post">
    <select name="ident">
    <?
    for ($t = 0; $t < $nb; $t++)
    {
    print ("<option value=".mysql_result($res, $t, "id").">".mysql_result($res, $t, "nom")."</option>");
    }
    ?>
    </select>
    <input type="submit" name="validSupprCat" value="valider">
    </form>
    <?
    }

    mysql_free_result($res);
    ?>
    <br> </td>
    </tr>
    </table>
    <?
    }

    mysql_free_result($result);
    mysql_close($db);
    }
    ?>
    </body>
    </html>
    Avez vous le temps de me dire ce que je dois faire exactement en m'indiquant ce que je dois mettre dans chaque fichier (si il y a une division à faire) ?

    Merci merci beaucoup d'avance !

  10. #10
    Membre éclairé Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 858
    Points : 783
    Points
    783
    Par défaut
    Tu utilises mon code avec le nom des pages que je t'ai indiqué puis tu creer une page que tu apelles admin_pronos.php avec tout le code que tu as mis sauf ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?
     
    if (!isset($_SERVER['PHP_AUTH_USER']))
    {
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo '<center><strong>Attention vous n\'êtes pas autorisé à entrer</strong></center>';
    exit;
    }
    else
    {
    include("../config.php");
     
    $db = mysql_connect($host, $user, $pwd);
    mysql_select_db($base, $db);
     
    $requete = "SELECT * FROM ".$tbl_admin." WHERE pseudo='".$_SERVER['PHP_AUTH_USER']."' AND passe='".$_SERVER['PHP_AUTH_PW']."'";
    $result = mysql_query ($requete, $db);
    $nb = mysql_num_rows ($result);
     
    if ($nb == 0)
    {
    echo '<center><strong>Attention vous n\'êtes pas autorisé à entrer</strong></center>';
    exit;
    }
    else
    {
    ?>
    Mais as-tu vraiment besoin d'une protection aussi avancée que la mienne ? Car sinon je te fais un petit script de protection banal (mais efficace) et ca sera plus clair Ca sera mieu je pense enfin c'est juste un conseil

    Et apres je te dis comment diviser ce GROS code en plusieurs pages pour que tu y vois plus clair Avec un sommaire global qui amene vers toutes les sous-parties
    Dire Straits, Bob Dylan, Led Zeppelin, the Who, Pink Floyd, AC/DC, Guns & Roses, the Doors, ...
    Nicolas Jaar, Paul Kalkbrenner, Marek Hermann

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 40
    Points : 4
    Points
    4
    Par défaut
    Ah ok, je comprend mieux et merci

    En fait, il faut qu'il y ait une liaison qui va dans les 2 sens entre le fichier php et mysql !

    Je vais déjà essayer de faire comme tu m'as dit et je te tiens au courant

    J'allais oublier, je ne comprend pas trop ton system de mot de pass ! je dois créer un fichier avec les quelques lignes que tu m'as donné ?

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 40
    Points : 4
    Points
    4
    Par défaut
    Ca fonctionne mais il n'y a pas de liaison avec la base de données dans un sens comme dans l'autre

  13. #13
    Membre éclairé Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 858
    Points : 783
    Points
    783
    Par défaut
    Citation Envoyé par Pushka07
    Ca fonctionne mais il n'y a pas de liaison avec la base de données dans un sens comme dans l'autre
    C'est a dire ? Veux-tu un script d'authentification autre que le tien ?
    Dire Straits, Bob Dylan, Led Zeppelin, the Who, Pink Floyd, AC/DC, Guns & Roses, the Doors, ...
    Nicolas Jaar, Paul Kalkbrenner, Marek Hermann

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 40
    Points : 4
    Points
    4
    Par défaut
    Quand je rentre mon login et mot de passe, j'ai ça :

    Connexion réussieErreur d'authentification


    Je me dit, ou le script ne reconnais pas mon login et mdp, ou j'ai une erreur dans le script !! Le voici :

    <?
    // Connexion et sélection de la base
    $link = mysql_connect("db***.1and1.fr", "dbo171****05", "l*****")
    or die("Impossible de se connecter");
    echo "Connexion réussie";
    mysql_select_db("db171*****5") or die("Could not select database");

    // Exécuter des requêtes SQL
    $query = "SELECT * FROM p4w_admin ";
    $query .= "WHERE 'pseudo' = '". $login ."' ";
    $query .= "AND 'passe' = '" . $md5 . "' LIMIT 1";

    $result = mysql_query($query) or die("Query failed");
    if(mysql_num_rows($result) == 1) {
    echo "Authentification OK";
    }
    else {
    echo "Erreur d'authentification";
    }

    // Libération des résultats
    mysql_free_result($result);

    // Fermeture de la connexion
    mysql_close($link);
    ?>
    Dans la table p4w_admin, j'ai les champs ida, pseudo et passe !

    D'ou vient l'erreur ?

    Merci

  15. #15
    Membre éclairé Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 858
    Points : 783
    Points
    783
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    mysql_connect("****", "*****", "*****") or die;
    mysql_select_db("****") or die;
     
    if(isset($_POST['login']) AND isset($_POST['passe'])){
     
    $login = $_POST['login'];
    $md5 = md5($_POST['passe']);
     
    $query = "SELECT * FROM p4w_admin WHERE pseudo = '$login' AND passe = '$md5' ";
    $result = mysql_query($query);
    $count = mysql_num_rows($result);
     
    if(!empty($count)){
    echo "Authentification OK";
    echo'<a href="index2.php">Cliquez ici</a>';
    }
    else {
    echo "Erreur d'authentification";
    echo'<a href="index.php">Retour</a>';
    }
     
    }
     
    else{
    Ton formulaire ici :)
    }
     
    ?>
    Tu la nomme index.php et tu la mets dans ton dossier admin
    Ca marche ?
    Dire Straits, Bob Dylan, Led Zeppelin, the Who, Pink Floyd, AC/DC, Guns & Roses, the Doors, ...
    Nicolas Jaar, Paul Kalkbrenner, Marek Hermann

  16. #16
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Salut!
    Lorsque PHP est éxécuté en mode CGI, les variables 'PHP_AUTH_USER' et 'PHP_AUTH_PW' seront toujours vides
    http://php.developpez.com/sources/?p...te#authenthttp
    De retour parmis vous après 10 ans!!

  17. #17
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 40
    Points : 4
    Points
    4
    Par défaut
    En fait, mon problème n'est pas la protection de la page admin de mon script, vu que j'ai l'occasion de mettre un .htaccess à la racine via mon hébergeur, mais bel et bien le lien entre mon script et la base de donnée car la liaison se fait dans un seul sens

  18. #18
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    As-tu lu le lien que je t'ai donné ?
    As-tu essayé la solution proposée ?
    De retour parmis vous après 10 ans!!

  19. #19
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    ok.

    Pense au tag [Résolu] ou [Délestage] selon ton cas.
    à+
    De retour parmis vous après 10 ans!!

  20. #20
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 40
    Points : 4
    Points
    4
    Par défaut
    Non, non, ce n'est pas encore résolu ! Je n'arrive toujours pas à faire la liaison dans les 2 sens entre ma page php et ma base de donnée !!!

Discussions similaires

  1. [Système] Aide pour un script panier d achat
    Par Skippy1 dans le forum Langage
    Réponses: 3
    Dernier message: 06/01/2007, 18h03
  2. [Système] Aide pour la mise en page
    Par web007 dans le forum Langage
    Réponses: 6
    Dernier message: 20/10/2006, 22h23
  3. [Système] Aide pour coder l'url rewriting
    Par brousaille dans le forum Langage
    Réponses: 3
    Dernier message: 10/10/2006, 15h31
  4. [Système] Aide pour cryptage d'url
    Par viny dans le forum Langage
    Réponses: 6
    Dernier message: 27/09/2006, 15h37
  5. Réponses: 2
    Dernier message: 15/09/2006, 16h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo