Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Logowanie
Forum PHP.pl > Forum > Przedszkole
nansss
Witam,
Posiadam skrypt rejestracji i dorabiam do niego skrypt logowania. Przy rejestracji zrobiłem dostęp. Teraz chcę, aby przy logowaniu sprawdzano dostęp i jeśli wynosi 0 to nie zaloguje i wróci do index, a jeśli wynosi 1 to zaloguje i pokaże odpowiednią część strony. Skrypt wygląda następująco:

loguj.php

  1. <center><form action="zaloguj.php" method="post">
  2. Login:<br><input type="text" name="login" /><br><br>
  3. Has&#x142;o:<br><input type="password" name="haslo" /><br>
  4. <input type="submit" value="Zaloguj">
  5. </form></center>


zaloguj.php

  1. <?php
  2. $connect = mysql_connect('localhost', 'root', 'password') or die('Nie mo&#x17C;na po&#x142;&#x105;czyc si&#x119; z baz&#x105; danych. Przepraszamy za k&#x142;opoty');
  3. $db = mysql_select_db('db') or die('Nie mo&#x17C;na wybra&#x107; bazy danych. Przepraszamy za k&#x142;opoty');
  4. $login = isset($_SESSION['login']) ? $_SESSION['login'] : mysql_escape_string($_POST['login']);
  5. $haslo = mysql_escape_string(md5(md5('haslo')));
  6. $zapytanie = mysql_query("SELECT * FROM user WHERE login = '$login'");
  7. $idzapytanie = mysql_fetch_array($zapytanie);
  8. if(isset($_POST['login']) && isset($_POST['haslo'])) {
  9. if($login ==''.$idzapytanie['login'].'' && $haslo ==''.$idzapytanie['haslo'].'')
  10. {
  11. $_SESSION['admin']='ok';
  12. $_SESSION['login']=''.$idzapytanie['login'].'';
  13. setcookie("zaloguj" , "zaloguj", time()+3600, "/","", 0);
  14. header("Location: zaloguj.php");
  15. else if
  16. {
  17. echo '<center>Twoje konto jest nieaktywne</center>';
  18. }
  19. }
  20. else
  21. {
  22. echo '<center>Podany login lub has&#x142;o s&#x105; nieprawid&#x142;owe.</center> <meta http-equiv="Refresh" content="3; url=loguj.php" />';
  23. }
  24. }
  25. if(!isset($_SESSION['admin']) && !isset($_SESSION['login']) && $_SESSION['admin'] != 'ok' && !isset($_POST['submit']) && $_GET['wyloguj']!='wyloguj' && !isset($_COOKIE['zaloguj']))
  26. {
  27. }
  28. if($_SESSION['admin'] == 'ok' && isset($_COOKIE['zaloguj']))
  29. {
  30. echo '<center>Jeste&#x15B; zalgowany jako '.$_SESSION['login'].'<br> <a href="?wyloguj=wyloguj">Wyloguj</a></center>';
  31. if($_GET['wyloguj']=='wyloguj') {
  32. setcookie("zaloguj" , "zaloguj", time()-3600, "/","", 0);
  33. header("Location: zaloguj.php");
  34. }
  35. }
  36. mysql_close($connect);
  37. ?>


Pomożecie mi to zrobić, bo nie bardzo wiem jak to ugryźć?
Spawnm
Daj zapytanie np:
  1. SELECT count(*) FROM user WHERE login='$login' AND haslo='$haslo' AND activ=1

szukaj w kontach aktywowanych gdzie login=login a hasło=moje_hasło
jeśli zwróci 1 wszystko jest ok smile.gif
nansss
O to chodzi?

zaloguj.php

  1. <?php
  2. $connect = mysql_connect('localhost', 'root', 'password') or die('Nie mo&#x17C;na po&#x142;&#x105;czyc si&#x119; z baz&#x105; danych. Przepraszamy za k&#x142;opoty');
  3. $db = mysql_select_db('db') or die('Nie mo&#x17C;na wybra&#x107; bazy danych. Przepraszamy za k&#x142;opoty');
  4. $login = isset($_SESSION['login']) ? $_SESSION['login'] : mysql_escape_string($_POST['login']);
  5. $haslo = mysql_escape_string(md5(md5('haslo')));
  6. $zapytanie = mysql_query("SELECT * FROM user WHERE login = '$login'");
  7. $idzapytanie = mysql_fetch_array($zapytanie);
  8. $zap = mysql_query("SELECT count(*) FROM user WHERE login='$login' AND haslo='$haslo' AND acces=1");
  9. $idzap = mysql_fetch_array($zap);
  10. if(isset($_POST['login']) && isset($_POST['haslo']) and empty($_POST['access']))
  11. {
  12. if($login ==''.$idzapytanie['login'].'' && $haslo ==''.$idzapytanie['haslo'].'')
  13. {
  14. $_SESSION['admin']='ok';
  15. $_SESSION['login']=''.$idzapytanie['login'].'';
  16. setcookie("zaloguj" , "zaloguj", time()+3600, "/","", 0);
  17. header("Location: zaloguj.php");
  18. else if(!empty($_POST['access']))
  19. {
  20. echo '<center>Twoje konto jest nieaktywne</center>';
  21. }
  22. }
  23. else
  24. {
  25. echo '<center>Podany login lub has&#x142;o s&#x105; nieprawid&#x142;owe.</center> <meta http-equiv="Refresh" content="3; url=loguj.php" />';
  26. }
  27. }
  28. if(!isset($_SESSION['admin']) && !isset($_SESSION['login']) && $_SESSION['admin'] != 'ok' && !isset($_POST['submit']) && $_GET['wyloguj']!='wyloguj' && !isset($_COOKIE['zaloguj']))
  29. {
  30. }
  31. if($_SESSION['admin'] == 'ok' && isset($_COOKIE['zaloguj']))
  32. {
  33. echo '<center>Jeste&#x15B; zalgowany jako '.$_SESSION['login'].'<br> <a href="?wyloguj=wyloguj">Wyloguj</a></center>';
  34. if($_GET['wyloguj']=='wyloguj') {
  35. setcookie("zaloguj" , "zaloguj", time()-3600, "/","", 0);
  36. header("Location: zaloguj.php");
  37. }
  38. }
  39. mysql_close($connect);
  40. ?>
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.