Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z lgowaniem
Forum PHP.pl > Forum > Przedszkole
Michalo1994
Witam, piszę skrypt logowania na sesjach. Z bazy pobieram id i login:
  1. $query="SELECT id and username FROM users WHERE username='$username' AND password=SHA('$password');";

potem jeśli mysqli_num_rows jest 1 to ustawiam sesje ciastka itd itd.
Problem w tym, że ciągle wyskakuje błąd - błędny login lub hasło.

Dodałem więc w phpmyadmin login i hasło w sha -
  1. INSERT INTO users (username,password) VALUES ('test',SHA('test'));

Wszystko się pięknie dodaje.

Kolejno przez SQL w phpmyadmin chcę pobrać id i login usera u którego login=login i hasło = hasło przez polecenie:
  1. SELECT id AND username FROM users WHERE username='test' AND password=SHA('test');


Niestety zostaje zwrócony pusty wynik - 0 wyników.
Dlaczego?
nospor
SELECT id AND username....
Zajrzyj do manuala i zobacz jak sie wymienia pola w select
Michalo1994
Dziękuję, mój błąd.
Niestety ciągle wypluwa zero wyników.
Dodaję username pola, password: sha('pola')
I komenda
  1. SELECT id, username FROM `users` WHERE username='pola' AND password=SHA('pola');

zwraca zerówę. JAka może być przyczyna?
php_amator
Jakiś czas temu też miałem podobny problem I okazało się że te chore '' `` "" powodowały błędne działanie skryptów.
Sprawdż d o k ł a d n i e czy wszstko w zapytaniach masz jak należy smile.gif

Ja sobie zrobiłem tak I wszystko pięknie działa dodałem też zapisywanie sesji dla potomności w logu smile.gif

  1. <form action="index.php" method="POST">
  2. <div class="login" id="login"> <input name="username" type="text" value="<?PHP print $username ; ?>" /></div>
  3. <div class="password" id="password"><input name="password" type="password" value="" /></div>
  4. <div id="logbutton">
  5. <button class="button" align="center" type="Submit" name="Submit" value="Submit"><b><h2> Login </h2></b></button></div>
  6. </form>


  1.  
  2. require_once("includes/connection.php");
  3.  
  4. $date = date("F j, Y, g:i a");
  5. if (isset($_POST['Submit'])) {
  6. $username = htmlspecialchars($_POST['username']);
  7. $password = htmlspecialchars($_POST['password']);
  8. $hashed_password = md5($password);
  9. $query = "SELECT * FROM users WHERE username = '$_POST[username]' AND hashed_password = '$hashed_password' LIMIT 1";
  10. $result = mysql_query($query, $connection);
  11. if (mysql_num_rows($result) ==1) {
  12. $_SESSION['loggedon'] = true;
  13. $ses_name = $_POST['username'];
  14. $file = "log.txt";
  15. $fp = fopen($file, "a");
  16. flock($fp, 2);
  17. fwrite($fp, "Session start: ".$date." - ".$ses_name."\r\n");
  18. flock($fp, 3);
  19. fclose($fp);
  20. header("Location: selector.php"); exit();
  21. } else {
  22. $_SESSION['loggedon'] = false;
  23. echo '<div id="warning" style="button" align="center" id="radar"><form action="index.php"><button></br><h4>User name/password combination incorrect.<br />Please make sure</br>your caps lock is off and try again!</h4><h8>click Login</h8></button></div>';
  24. }
  25. }


Może cię naprowadzi wink.gif
pozdrawiam
php_amator
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.