Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Proste logowanie i problem ze zmienna $_SESSION
Forum PHP.pl > Forum > Przedszkole
mattix19
Witam
Napisalem prosty skrypt logowania oparty na sesjach i bazie mysql i mam taki problem mianowicie gdy loguje sie za pomoca tego skryptu nie sprawdza on mi zapytania do bazy i loguje wsztkso cokolwiek sie wpisze. Czy cos spieprzylem z sesjami czy z zapytaniem do bazy?
oto skrypt:
  1. <?php
  2.  
  3. $connect = mysql_connect('localhost','root','') or die('Błąd złe dane do połączenia '.mysql_error());
  4. mysql_select_db('mblazewicz',$connect) or die('Nie poprawna baza danych '.mysql_error());
  5. $user = $_POST['user'];
  6. $pass = sha1($_POST['pass']);
  7. $sql = 'SELECT nick,password FROM users WHERE nick="$user" AND password="$pass"';
  8. $query = mysql_query($sql);
  9. if(!empty($_POST['user']) && !empty($_POST['pass'])){
  10. if($query = FALSE){
  11. die('Zle haslo lub login <a href="index.php">Zaloguj ponownie</a>');
  12. }else{
  13. $_SESSION['login'] = $user;
  14. header('Location: index.php');
  15. }
  16. }else{
  17. die('Nie wypelniles wszystkich pol! <a href="index.php">Zaloguj ponownie</a>');
  18. }
  19. ?>

i plik index.php:
  1. <?php
  2.  
  3. if(!isset($_SESSION['login'])){
  4.  
  5.  
  6. ?>
  7. <form method="POST" action="login.php" onReset="">
  8. <p>Login: <input type="text" name="user" /></p>
  9. <p>Hasło: <input type="password" name="pass" /></p>
  10. <input type="submit" name="submit" value="Zaloguj" />
  11. <input type="reset" name="reset" value="Resetuj" />
  12. </form>
  13. <?php }else{?>
  14. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  15. <html>
  16. <head>
  17. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  18. <link rel="stylesheet" href="../includes/css/style_admin.css" type="text/css"b />
  19. <title><?php echo $_SESSION['login'];?> page</title>
  20. </head>
  21.  
  22. <body>
  23.  
  24. <table border="0">
  25. <tr><td><a href="../index.php">głowna</a></td><td><a href="logout.php">wyloguj</a></td></tr>
  26. </table>
  27.  
  28.  
  29.  
  30. </body>
  31. </html>
  32. <?php }?>
sliwa007
Źle sprawdziłeś czy użytkownik istnieje. Poniżej jest kod. Pisany z palca i nie testowany więc jak coś to pisz

  1. <?php
  2.  
  3. $connect = mysql_connect('localhost','root','') or die('Błąd złe dane do połączenia '.mysql_error());
  4. mysql_select_db('mblazewicz',$connect) or die('Nie poprawna baza danych '.mysql_error());
  5. $user = $_POST['user'];
  6. $pass = sha1($_POST['pass']);
  7. $sql = 'SELECT nick,password FROM users WHERE nick="$user" AND password="$pass"';
  8. $query = mysql_query($sql);
  9. $row = mysql_num_rows($query);
  10. if(!empty($_POST['user']) && !empty($_POST['pass'])){
  11. if($row !== 1){
  12. die('Zle haslo lub login <a href="index.php">Zaloguj ponownie</a>');
  13. }else{
  14. $_SESSION['login'] = $user;
  15. header('Location: index.php');
  16. }
  17. }else{
  18. die('Nie wypelniles wszystkich pol! <a href="index.php">Zaloguj ponownie</a>');
  19. }
  20. ?>
mattix19
Dzieki wielkie teraz dziala biggrin.gif
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.