session_start(); & md5() foireux

Discussion dans 'Web, design' créé par MbK_, 28 Juin 2004.

Statut de la discussion:
Fermée.
  1. Offline
    MbK_ Etudjant
    bon jme prend la tete ac ce site!! j'ai un probleme ac l'autentification et un avec les session_start();

    j'ai crypter les mots de pass ac la fonction md5() de php. pour l'inscription c super ca fait juste ce qu'il faut. mais c'est ds l'autentification que ca plante.

    :arrow: auth1.php : formulaire avec pseudo et pass.
    :arrow: auth2.php code :

    Code:
    <?
    
    $_POST['login'] == $_SESSION['login'];
    md5($_POST['pass'])== $_SESSION['pass'];
    
    if (empty($_POST['login']) AND ($_POST['pass']))
    {
    echo 'Vous avez oublié de mettre des données';
    }
    else
    {
    mysql_connect("sql2.easy-hebergement.net","morback","xxxxx");
    mysql_select_db("morback");
    
    $sql = mysql_query("SELECT * FROM membres WHERE login='$_POST[login]'") or die('erreur:' .mysql_error());
    while ($donnees = mysql_fetch_array($sql))
      {
        if ($_POST['pass'] == $donnees['pass']) 
        {
        // si le mot de passe est bon, mettez ici ce que vous voulez
        include('espace.php');
        }
        else
        {
        echo 'Votre mot de passe ou votre pseudo n\'est pas correcte, si vous n\'etes pas inscrit, veuillez vous inscrire <a href="inscription.php">ici</a>!!<br>';
        echo '<a href="auth1.php">Retournez à  l\'identification</a>';
        }
      }    
      mysql_close();
    
    } 
    ?> 
    :arrow: espace.php code :

    Code:
    <?
    session_start();
    if (!isset($_SESSION['pseudo'])) // si les variables de session ne sont pas définies
    {
    echo 'Vous n\'avez pas le droit d\'accéder à cette page';
    include ('auth1.php');
    }
    else
    {
    mysql_connect("sql2.easy-hebergement.net","morback","xxxxx");
    mysql_select_db("morback");
    $donnees = mysql_query("SELECT * FROM membres"); // Requête SQL
    ?> 
    
    <em><font size="4">Ton pseudo</font></em> est <? echo $donnees['login']; ?>, 
    <font face="Geneva, Arial, Helvetica, sans-serif">ton mail</font> <? echo $donnees['mail']; ?>, 
    ta signature "<? echo $donnees['signature']; ?>", 
    <?
    }
    mysql_close(); // Déconnexion de MySQL
    ?>
    et qd je me log, j'ai l'erreur comme quoi je n'ai pas le droit d'accéder a la page et en plus j'ai ca

    j'ai ce probleme lorsque je met session_start(); sur les 2 pages , qd jle met nul part etc.

    alors voila. probleme avec la reconnaissances qd je crypte le pass et avec les
    session_start();

    ca me prend la tete

    ca existe un site qui reprend ttes les erreurs de mysql et qui les explique??
    MbK_, 28 Juin 2004
    #1
  2. Offline
    Ezekiel ! Elite
    16 eme ligne tas oublié de mettre des '' :). Ca devient $_POST['login'] ;).
    Ezekiel !, 28 Juin 2004
    #2
  3. Offline
    MbK_ Etudjant
    je vois pas ce que tu veux dire.
    ligne de code :
    Code:
    $sql = mysql_query('SELECT * FROM membres WHERE login='$_POST[login]'') or die('erreur:' .mysql_error());
    c'est juste :s:s
    MbK_, 28 Juin 2004
    #3
  4. Offline
    titloup Elite
    Code:
    $_POST['login'] == $_SESSION['login']; 
    md5($_POST['pass']) == $_SESSION['pass']; 
    LoL il fait rien ce code :D
    titloup, 28 Juin 2004
    #4
  5. Offline
    Ezekiel ! Elite
    Ben tas oublié tes ' ' pour le login! ca devient ça.

    $sql = mysql_query('SELECT * FROM membres WHERE login='$_POST['login']'') or die('erreur:' .mysql_error());

    Euh maintenant que j'y réfléchis ya pe 2 façon d'écrire mais je crois pas essaye quand meme pour voir....
    Ezekiel !, 28 Juin 2004
    #5
  6. Offline
    titloup Elite
    Il y a comme une erreur dans ton truc aussi... :D


    Essaye
    Code:
    $sql = mysql_query(
             "SELECT * FROM membres WHERE login='".$_POST["login"]."'"
             ) or die('erreur:' .mysql_error());

    Ton "echo" foire aussi essaye de respecter la façon d'écrire...

    Code:
    echo "Votre mot de passe ou votre pseudo n\'est pas correcte, si vous n\'etes pas inscrit, veuillez vous inscrire <a href='inscription.php'>ici</a>!!<br>"; 
    echo "<a href='auth1.php'>Retournez à l\'identification</a>";
    titloup, 28 Juin 2004
    #6
  7. Offline
    gogoprog Oprahiste vaudou
    J'mise aussi la dessus, surtout pour la 2ème ligne ;)
    gogoprog, 28 Juin 2004
    #7
  8. Offline
    MbK_ Etudjant
    j'ai virer tt les md5() pour voir ce qui doit se passer mais mnt ca ne fai plus rien. pas de msg d'erreur, mais ca n'affiche pas ce que je veux.

    CODE pour ceux qui saurait m'aider :cry:
    MbK_, 28 Juin 2004
    #8
  9. Offline
    Styleman Touriste
    Code:
    <?
    
        if ($_POST['pass'] == $donnees['pass']) 
     ?> 

    $_POST['pass'] est le password que le tpye aurat rentré dans le formulaire, il ne peux pas donc etre == a $donnees['pass'] puisque le champ pass de ta table contiendra le password mais en MD5, donc tu devrais faire:
    Code:
    $pass = $_POST['pass'];
    $pass = md5($pass);
    if($pass == $donnees['pass']) {
    
    .....

    non?

    J'ai pas tout suivi mais bon, je vois ça je me dis c'est pas correct quoi[/code]
    Styleman, 28 Juin 2004
    #9
  10. Offline
    Styleman Touriste
    <?
    session_start();
    if (!isset($_SESSION['pseudo'])) // si les variables de session ne sont pas définies
    {
    echo 'Vous n\'avez pas le droit d\'accéder à cette page';
    include ('auth1.php');
    }
    else
    {
    mysql_connect("sql2.easy-hebergement.net","morback","xxxxx");
    mysql_select_db("morback");
    $donnees = mysql_query("SELECT * FROM membres"); //Requête SQL
    ?>

    <em><font size="4">Ton pseudo</font></em> est <? echo $donnees['login']; ?>,
    <font face="Geneva, Arial, Helvetica, sans-serif">ton mail</font> <? echo $donnees['mail']; ?>,
    ta signature "<? echo $donnees['signature']; ?>",
    <?
    }
    mysql_close(); // Déconnexion de MySQL
    ?>

    $donnees est l'execution de la requete, il n'y a pas de mysql_fetch_array je pense, tu dois donc faire
    $kkchose = mysql_fetch_array($donnees);
    et a la place de $donnees['login'] etc, $kkchose['login'] etc...

    Tu t'es trompé je pense.
    Mais je ne suis pas sur hein, moi j'essaye d'aider
    Styleman, 28 Juin 2004
    #10
  11. Offline
    MbK_ Etudjant
    ui mais en retirant tout les md5 du code, rien ne s'affiche. il y a qd meme un probleem alors que j'ai demander que klkch s'affiche.
    MbK_, 28 Juin 2004
    #11
  12. Offline
    Styleman Touriste
    ben si tu enregistre $_SESSION['login'] et que tu demande d'afficher $_SESSION['pseudo'] , c'est logique qu'il y ai un probleme :wink:

    Enfin je vois ça ici 2 seconde ne mattant un peu quoi.
    Styleman, 28 Juin 2004
    #12
  13. Offline
    Styleman Touriste
    et ta requete c'est pas "SELECT * FROM membres" qu'il faut mettre mais plutot "SELECT * FROM membres WHERE login='$_SESSIONS['login']'";

    Enfin je pense quoi
    Styleman, 28 Juin 2004
    #13
  14. Offline
    MbK_ Etudjant
    je l'ai changé ca. mais mnt il ne met plus rien ds la page. d'un cote c bien ya pas derreur mais de l'otre, y'a rien qui saffiche. tpeu dl le code en haut et un peu matter :s:s
    MbK_, 28 Juin 2004
    #14
  15. Offline
    Styleman Touriste
    ben montre les codes actuels des pages, apres toutes les modification que tu a apportés.
    Styleman, 28 Juin 2004
    #15
  16. Offline
    MbK_ Etudjant
    voila j'ai uploader

    ICI
    MbK_, 28 Juin 2004
    #16
  17. Offline
    Styleman Touriste
    ok je regarde ça
    Styleman, 29 Juin 2004
    #17
  18. Offline
    Styleman Touriste
    Ton code je sais pas ce qu'il a mais avec mon easyphp il deconne, easyphp c de lam erde aussi lol, masi bon, j'essayé online et je te dis koi
    Styleman, 29 Juin 2004
    #18
  19. Offline
    Styleman Touriste
    Styleman, 29 Juin 2004
    #19
  20. Offline
    MbK_ Etudjant
    j'ai essayer de me reinscrire mais je ne recois pas le mail. ca vient du code? ou c le serveur ki foire?

    edit : no sry j'avais pas changer un truc mais au moment ou je click sur le mail de confirm, j'ai cette erreur

    je look le code et j'ai ca.

    Code:
    $sql = 'SELECT COUNT(*) as nb FROM membres WHERE login = "'.addslashes($_GET['login']).'" AND confirm = "'.addslashes($_GET['confirm']).'"';
    keski foire?
    MbK_, 29 Juin 2004
    #20
Statut de la discussion:
Fermée.