Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: autoryzacja- problem ze skryptem
Forum PHP.pl > Forum > PHP
sevan
Mam mały problem ze sktyptyem autoryzacji nie wiem gdzie jest błąd , chociazż wszystko wydaje sie dobrze zrobione. Wpisuje w te pola logowania login i hasło i nic sie nie dzieje i znowu wyskakuje okienko z prośbą o login i hasło.


index.php
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  4. <title>Logowanie</title>
  5. </head>
  6. <body>
  7. <h2 align="center">
  8. <?php
  9. if(isSet($_SESSION['komunikat']))
  10. echo $_SESSION['komunikat'];
  11. else
  12. echo "Wprowadź nazwę i hasło użytkownika:";
  13. ?>
  14. </h2>
  15. <form name = "formularz1"
  16. action = "http://localhost/login.php"
  17. method = "POST"
  18. >
  19. <table border="0" align="center"><tr>
  20. <td>Użytkownik:</td >
  21. <td> 
  22. <input type="text" name="user">
  23. </td>
  24. </tr><tr>
  25. <td>Hasło:</td>
  26. <td>
  27. <input type="password" name="haslo">
  28. </td>
  29. </tr><tr>
  30. <td colspan="2" align="center">
  31. <input type="submit" value="Wejdź">
  32. </td>
  33. </tr> </table>
  34. </form>
  35. </body>
  36. </html>


login.php
  1. <?PHP 
  2. function checkPass($user, $pass)
  3. {
  4. $userNameLength = strlen($user);
  5. $userPassLength = strlen($pass);
  6.  
  7. if($userNameLength < 3 || $userNameLength > 20 ||
  8.  $userPassLength < 6 || $userNameLength > 40){
  9.  return 2;
  10. }
  11. if (!$db_lnk = @mysql_connect("host", "haslo", "login")){
  12. //echo('Wystąpił błąd podczas próby połączenia z serwerem MySQL...');
  13. return 1;
  14. }
  15. if(!@mysql_select_db('baza')){
  16. //echo('Wystapł błąd podczas wyboru bazy danych: snetcrm ...');
  17. return 1;
  18. }
  19.  
  20. $query = "SELECT COUNT(*) FROM Users WHERE Nazwa='$user' ";
  21. $query .="AND Haslo='$pass'";
  22.  
  23. if(!$result = mysql_query($query, $db_lnk)){
  24. //echo('Wystąpł błąd: nieaprawidłowe zapytanie...')
  25. return 1;
  26. }
  27.  
  28. if(!$row = @mysql_fetch_row($result)){
  29. //echo('Wystąpł błąd: nieprawidłowe wyniki zapytania...')
  30. return 1;
  31. }
  32. else{
  33. if($row[0] <> 1){
  34. return 2;
  35. }
  36. else{
  37. return 0;
  38. }
  39. }
  40. }
  41. if(isSet($SESSION['zalogowany'])){
  42. header("Location: main.php");
  43. }
  44. else if(!isSet($POST["haslo"]) || !isSet($_POST["user"])){
  45. $_SESSION['komunikat'] = "WprowadĽ nazwę i hasło użytkonika:";
  46. include('index.php');
  47. }
  48. else{
  49. $val = chceckPass($_POST["user"], $_POST["haslo"]);
  50. if($val == 0){
  51. $_SESSION['zalogowany'] = $_POST["user"];
  52. header("Location: main.php");
  53.  
  54. }
  55. else if($val == 1){
  56. $_SESSION['kominikat'] = "Błąd sewera. Zalogowanie nie było możliwe.";
  57. include('index.php');
  58. }
  59. else if($val == 2){
  60. $_SESSION['komunikat'] = "Nieprawidłowa nazwa lub hasło użytkownika.";
  61. include('index.php');
  62. }
  63. else{
  64. $_SESSION['komunikat'] = "błąd serwera. Zalogowanie nie było możliwe";
  65. include('index.php');
  66. }
  67. }
  68. ?>



main.php

  1. <?php
  2. if(!isSet($_SESSION['zalogowany'])){
  3. $_SESSION['komunikat'] = "Nie jesteś zalogowany!";
  4. include('index.php');
  5. exit();
  6. }
  7. ?>
  8. <html>
  9.  <head>
  10. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  11. <title>Snet Crm</title>
  12. </head>
  13. <body>
  14. Jesteś zalogowany jako: <?php echo $_SESSION['zalogowany'] ?>
  15. </br>
  16. Pamiętaj o wylogowaniu przed opuszczeniem strony !
  17. <br>
  18.  <br> 
  19.  <a href="logout.php">Wylogowywanie</a> 
  20.  </body>
  21. </html>



POwiedzcie gdzie zrobiłem błąd bo ja już walczę z tym zbyt długo. Wiem że kod jest pomieszany ale jestem początkujący więc wszelkie rady związku z poprawą skryptu są jak najbardziej mile widziane.

Heh snitch.gif w skrypcie php były dwie literówki, po naprawie wyskakuje mi :

błąd serwera. Zalogowanie nie było możliwe

hmm ciekawe co teraz nie działa ....
MacPain
Nie widze session_start(); na początku dwóch plików.
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.