Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: skrypt logowania
Forum PHP.pl > Forum > PHP
xblant
mam taki skrypt logowania składający się z 3 plików
login.php
  1. <?php
  2. session_register('status');
  3. if(empty($_SESSION['user_stat']))
  4. {
  5. $_SESSION['status'] = '0';
  6. }
  7. if(empty($_SESSION['user_stat']))
  8. {
  9. $_SESSION['login'] = 'gość';
  10. }
  11. if($HTTP_POST_VARS['action'] == '')
  12. {
  13. $action = $HTTP_GET_VARS['action'];
  14. }
  15. else
  16. {
  17. $action = $HTTP_POST_VARS['action'];
  18. }
  19. include('modules/login.inc.php');
  20. if($action == '')
  21. {
  22. if($_SESSION['status'] == '0')
  23. {
  24. echo 'Witaj gościu.';
  25. viev_form();
  26. }
  27. else if($_SESSION['status'] !== '0' && $_SESSION['login'] !== 'gość')
  28. {
  29. echo 'Witaj '.$_SESSION['login'].'.';
  30. }
  31. }
  32. else if($action == 'login')
  33. {
  34. login();
  35. }
  36. else if($action == 'logout')
  37. {
  38. logout();
  39. }
  40. ?>

users.php
  1. <?php
  2. $user[] = 'xblant|xblant|3';
  3. ?>

i login.inc.php w katalogu modules
  1. <?php
  2. function viev_form()
  3. {
  4. echo '
  5. <form name="logowanie" action="login.php" method="post">
  6. Login: <input type="text" name="login"><br>
  7. Haslo: <input type="password" name="haslo"><br>
  8. <input type="hidden" name="action" value="login">
  9. <input type="submit" value="Zaloguj">
  10. </form>
  11. ';
  12. }
  13.  
  14. function login()
  15. {
  16. include('users.php');
  17. for($i = 0; $i < count($user); $i++)
  18. {
  19. $dane[$i] = explode('|', $user[$i]);
  20. }
  21. for($i = 0; $i < count($user); $i++)
  22. {
  23. if($HTTP_POST_VARS['login'] == $dane[$i][0] && $HTTP_POST_VARS['haslo'] == $dane[$i][1])
  24. {
  25. $_SESSION['status'] = $dane[$i][2];
  26. $_SESSION['login'] = $dane[$i][0];
  27. echo '
  28. <form name="wylogowywanie" action="login.php" method="post">
  29. <input type="hidden" name="action" value="logout">
  30. <input type="submit" value="Wyloguj">
  31. </form>
  32. ';
  33. }
  34. }
  35. }
  36.  
  37. function logout()
  38. {
  39. $_SESSION['status'] = 0;
  40. $_SESSION['login'] = 'gość';
  41. echo 'Zostałeś wylogowany.';
  42. }
  43.  
  44. function error()
  45. {
  46. echo 'Logowanie nieudane. Spróbuj jeszcze raz.';
  47. viev_form();
  48. }
  49. ?>

co z nim jest nie tak wpisujac login xblant i haslo xblant niema zadnego wyniku poprostu biala strona, prosze o pomoc
czemu nikt nie odpowiada
ktos moze tego nie rozumien co questionmark.gif?
nospor
nie uzywaj $HTTP_POST_VARS, $HTTP_GET_VARS.
uzywaj $_POST, $_GET

GDy nie wiesz oco chodzi, to rob se proste debugowanie, ktore pokaze ci byc moze gdzie są bledy:

  1. <?php
  2.  
  3. function login()
  4. {
  5. include('users.php');
  6. echo 'ilosc userow:'.count($user).'<br />';
  7. for($i = 0; $i < count($user); $i++)
  8. {
  9. $dane[$i] = explode('|', $user[$i]);
  10. echo 'user:';print_r($dane[$i]); echo '<br />';
  11. }
  12. echo 'dane z formularza:';print_r($_POST); echo '<br />';
  13. for($i = 0; $i < count($user); $i++)
  14. {
  15. echo 'login form:'.$_POST['login'].' login user:'.$dane[$i][0].'<br />';
  16. echo 'haslo form:'.$_POST['haslo'].' haslo user:'.$dane[$i][1].'<br /><br />';
  17. if($_POST['login'] == $dane[$i][0] && $_POST['haslo'] == $dane[$i][1])
  18. {
  19. $_SESSION['status'] = $dane[$i][2];
  20. $_SESSION['login'] = $dane[$i][0];
  21. echo '
  22. <form name="wylogowywanie" action="login.php" method="post">
  23. <input type="hidden" name="action" value="logout">
  24. <input type="submit" value="Wyloguj">
  25. </form>
  26. ';
  27. }
  28. else echo 'nie zgadza sie';
  29. }
  30. }
  31.  
  32. ?>
xblant
dzieki smile.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.