Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Logowanie - Sprawdzanie shaslowanego hasła md5 ( phpBB > Skrypt )
Forum PHP.pl > Forum > Przedszkole
zielu001
Witam, robię panel który jest połączony z forum phpBB i wszystko zrobiłem ok, lecz nie sprawdzałem logowania. Okazuje się że w ogóle nie chce logować, staje na miejscu gdzie ma sprawdzić poprawność hasła z tym z bazy..

Oto logowanie smile.gif

Kod
    if(isset($_POST['log']))
    {
    $wyswietl .="Ok 1";
        $username = htmlentities($_POST['username'], ENT_COMPAT, "UTF-8");
        $password = htmlentities($_POST['password'], ENT_COMPAT, "UTF-8");
        if(valid_nick($username) && valid_password($password))
        {
        //$wyswietl .="Ok 1";
            $username = mysql_escape_string($username);
            $password = mysql_escape_string($password);
            $querys = mysql_query("SELECT * FROM `phpbb_users` WHERE username='%s'");
            $loguj = mysql_fetch_array($querys);
            if(md5($password) == $loguj[3]) // Tutaj coś jest źle.. Nie sprawdza..
            {
            //$wyswietl .="Ok 2";
                $_SESSION['zalogowany'] = true;
                $_SESSION['user_id'] = $loguj[0];
                header("Location: index.php");
                //exit;
            } else {
                $error = "Hasło nie jest prawidłowe!";
            }
        //}
} else {


Proszę o pomoc..
Blame
Nie znam się na phpBB ale nie podoba mi się ta linijka:
  1. $querys = mysql_query("SELECT * FROM `phpbb_users` WHERE username='%s'");

Nie powinno być przypadkiem:
  1. $querys = mysql_query("SELECT * FROM `phpbb_users` WHERE username='$username'");

Ew. możesz sobie dać var_dump na $loguj i zobaczyć co dostajesz winksmiley.jpg
H4eX
Wyprintuj te dwie zmienne i zobaczysz, której nie ma:

Kod
md5($password)
$loguj[3]
zielu001
Wyswietliłem tak jak mówisz i okazuje się ze z bazy nie pobiera... Nie wiem dlaczego sad.gif

Proszę o pomoc ..


@@UP poprawiłem z %s na $username ( blad wiadomo ( ale to nie dlatego ))..


Edit:

Ehh okazuje się że nie chce wczytywać z POST'a .. Dam cały skrypt:
  1. <?php
  2. include('funkcje.php');
  3. if($_SESSION['zalogowany'])
  4. {
  5. $user_id = $_SESSION['user_id'];
  6. $query = mysql_query("SELECT * from `phpbb_users` WHERE user_id='$user_id'");
  7. $rekord = mysql_fetch_array($query);
  8. $username2 = "<a href='http://cs-rewolucja.pl/forum/profile.php?mode=viewprofile&u=$user_id'>".$rekord[2]."</a> ( <a href='wyloguj.php'>Wyloguj się</a> )";
  9. $user_posts = $rekord[9];
  10. $user_avatar = $rekord[31];
  11. $wyswietl = "<font color='red'><center> Jesteś już zalogowany! </center></font>";
  12. if(!isset($user_avatar))
  13. {
  14. $user_avatar = "style/cs-rewolucja/images/noavatar.gif";
  15. }
  16.  
  17. } else {
  18. $username2 = "Nie zalogowany (<a href='zaloguj.php'> Zaloguj się!</a> )";
  19. $user_posts = "-";
  20. $user_avatar = "style/cs-rewolucja/images/noavatar.gif";
  21. $zar = " | <a href='zaloguj.php'>Zaloguj się</a>";
  22. if(isset($_POST['log']))
  23. {
  24. $username = $_POST['username'];
  25. $password = $_POST['password'];
  26. if(valid_nick($username) && valid_password($password))
  27. {
  28.  
  29. $username = mysql_escape_string($username);
  30. $password = mysql_escape_string($password);
  31. $querys = mysql_query("SELECT * FROM `phpbb_users` WHERE username='$username'");
  32. $loguj = mysql_fetch_array($querys);
  33. if(md5($password) === $loguj[3])
  34. {
  35. $_SESSION['zalogowany'] = true;
  36. $_SESSION['user_id'] = $loguj[0];
  37. header("Location: index.php");
  38. } else {
  39. $error = "Hasło nie jest prawidłowe!";
  40. }
  41. }
  42. } else {
  43.  
  44. $wyswietl .= '<form method="POST" name="log" id="log" action="zaloguj.php">
  45. <span style="float:left; font-size: 14px;">Nick:</span><div style="float: right;"><input type="text" id="username" name="username" MAXLENGTH="20" style="width: 200px; height: 20px; font-size: 10px;"value="Nick"/></div><br/><br/>
  46. <span style="float:left; font-size: 14px;">Hasło:</span><div style="float: right;"><input type="password" id="password" name="password" MAXLENGTH="40" style="width: 200px; height: 20px; font-size: 10px;"value=""/></div><br/><br/>
  47. <input class="button" type="image" style="" name="log" src="style/cs-rewolucja/images/login.png" id="log2" value="Zaloguj"/>
  48. </form>';
  49. } }
  50.  
  51. $punktquery = mysql_query("SELECT * from `phpbb_users` order by `zaprosil` DESC, `username` ASC LIMIT 5");
  52. while($pkt = mysql_fetch_array($punktquery))
  53. {
  54. $numer++;
  55. $id = $pkt[0];
  56. $nick = $pkt[2];
  57. $punkty = $pkt[77];
  58. if($numer == 1){
  59. $linkerzy .= "<font color='green'>".$numer.". </font><a href=\"http://cs-rewolucja.pl/forum/profile.php?mode=viewprofile&u=$id\">$nick</a> : <i>$punkty</i><br/>";
  60. } else {
  61. if($numer == 2)
  62. {
  63. $linkerzy .= "<font color='lightgreen'>".$numer.". </font><a href=\"http://cs-rewolucja.pl/forum/profile.php?mode=viewprofile&u=$id\">$nick</a> : <i>$punkty</i><br/>";
  64. } else {
  65. $linkerzy .= $numer.". <a href=\"http://cs-rewolucja.pl/forum/profile.php?mode=viewprofile&u=$id\">$nick</a> : <i>$punkty</i><br/>";
  66. }
  67. }
  68. }
  69. $tresc .= "
  70. <div id='profil-info'><img src='".$user_avatar."' align='left'> <b> Nick: </b> ".$username2." <br/><b>Posty:</b> ".$user_posts." <br/> <b> Punkty: </b> - <br/></div><br/>
  71. <div id='newsy'><div id='newsy-info'><img src='style/cs-rewolucja/images/newsy.png' align='middle'> Logowanie:</div><br/><br/>
  72. <div id='tytul'>Zaloguj się tymi danymi którymi logujesz się na <a href='http://cs-rewolucja.pl/forum/'>forum</a>.<br/><br/><font color=red>$error</br>$error2</font></div><br/><br/><br/>
  73. <div id='tresc'>".$wyswietl."</div><br/><br/></div>
  74. <div id='punktacja'><div id='najlepsi'><center> Najlepsi linkerzy </center></div><br/>
  75. <div id='linkerzy'><br/>".$linkerzy."</div></div>
  76. <div id='linki' style='color: #878787;'><br/><br/><br/><br/><center><a href='linki.php'>Dawaj linki</a> | <a href='unban.php'>Prośby o unbany</a> | <a href='podania.php'>Podania o Administratora</a> | <a href='statistic.php'>Statystyki</a> | <a href='nagrody.php'>Nagrody</a>$zar</center></div>
  77. ";
  78. include('style/cs-rewolucja/overall_header.php');
  79. include('style/cs-rewolucja/overall_footer.php');
  80. ?>
H4eX
To w końcu jak, nie wczytuje z bazy i formularza? Jeżeli tak, to gdzie wyprintowałeś te dwie zmienne?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.