Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z systemem logowania
Portek
post 2.12.2010, 21:22:58
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 1
Dołączył: 10.11.2008
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


Witam, mam dość dziwny problem - a zarazem "ciut" irytujący, mianowicie napisałem system logowania, działa poprawnie w przeglądarkach FF, Chrome, natomiast przeglądarki IE oraz Opera mają z nim problemy - mimo poprawnego przebiegu logowania przeglądarka nie przechodzi pod wskazany adres - ciacho zapisane, ale przekierowania brak sad.gif

  1. <?php
  2.  
  3. function __autoload($class) {
  4. require_once("incd/$class.php");
  5. }
  6.  
  7. $db = new DB;
  8. $db->connect();
  9.  
  10. require_once('incd/lib/getip.lib.php');
  11. require_once('incd/lib/param.lib.php');
  12.  
  13. session_register('admin');
  14.  
  15.  
  16. if(post_param('log_in'))
  17. {
  18. $logi = new Logs($db);
  19. $login = post_param('username');
  20. $haslo = post_param('password');
  21.  
  22. if($db->num_rows("users", sprintf("WHERE `login`='%s' AND `haslo`='%s'",
  23. mysql_real_escape_string(md5($haslo)))) == 1)
  24. {
  25. $dane = $db->fetch_row("SELECT `id`, `access` FROM `users` WHERE `login`=".$login);
  26. $_SESSION['admin']['right'] = $dane[1];
  27. $_SESSION['admin']['login'] = $login;
  28. $_SESSION['admin']['id'] = $dane[0];
  29. header("Location: ./index.php");
  30. }
  31. else
  32. {
  33. $err = "Błędny nick lub/i hasło";
  34. }
  35. }
  36.  
  37. ?>
  38. <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  39. <html xmlns="http://www.w3.org/1999/xhtml"><head>
  40. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  41. <link rel="stylesheet" type="text/css" href="css/js.css">
  42. <link rel="stylesheet" type="text/css" href="css/login.css">
  43. <script src="js/jquery.js" type="text/javascript"></script>
  44. <script src="js/jtip.js" type="text/javascript"></script>
  45.  
  46.  
  47.  
  48. <title>Logowanie</title>
  49. </head><body>
  50. <div id="wrapper">
  51. <div align="center">
  52. <div id="login">
  53. <img src="./img/logo.png">
  54. <form method="POST" name="loginForm">
  55. <p>
  56. <label>Login</label>
  57. </p>
  58. <p>
  59. <input name="username" id="user_login" size="24" maxlength="100" type="text">
  60. </p>
  61. <p><label>Hasło</label> </p>
  62. <p>
  63. <input name="password" id="user_pass" size="24" maxlength="100" type="password"><br>
  64. </p>
  65. <div id="hover">
  66. <div align="center">
  67. <p>
  68. <input src="./img/login.png" class="mkbutton" value="Login" name="log_in" onmouseover="this.src='./img/login-down.png'" onmouseout="this.src='./img/login.png'" onclick="this.src='./img/loader.gif'" type="image">
  69. </p><br />
  70. <?php if($err){ echo '<p class="err"><img src="img/stop.gif" alt="error" /> '.$err.'</p><br />';} ?>
  71. </div>
  72. </div>
  73. </form></div>
  74. </div>
  75. </div>
  76.  
  77. </body></html>


Wszystko tak jak mówię wygląda poprawnie, brak tylko przekierowania, co ciut mnie irytuje...

Ten post edytował Portek 3.12.2010, 17:08:09
Go to the top of the page
+Quote Post
Quadina
post 2.12.2010, 21:25:32
Post #2





Grupa: Zarejestrowani
Postów: 200
Pomógł: 38
Dołączył: 1.12.2010
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Daj po header(); die(); wtedy IE przejdzie.


--------------------
Warsztat: NetBeans 7.2 Beta, PHP, MySQL, PostgreSQL, Symfony (<=1.4), Diem, Java, Sieci neuronowe
Go to the top of the page
+Quote Post
Portek
post 2.12.2010, 21:33:02
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 1
Dołączył: 10.11.2008
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


Niestety, efekt ten sam - brak możliwości zalogowania pod IE.
Go to the top of the page
+Quote Post
Quadina
post 2.12.2010, 21:35:28
Post #4





Grupa: Zarejestrowani
Postów: 200
Pomógł: 38
Dołączył: 1.12.2010
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


A możesz usunąć ./ z headera? Zaciekawił mnie Twój problem, zaraz sobie skopiuje skrypt i spróbuje odpalić pod IE. Tak btw, jakie IE masz 7,8,9 ?


--------------------
Warsztat: NetBeans 7.2 Beta, PHP, MySQL, PostgreSQL, Symfony (<=1.4), Diem, Java, Sieci neuronowe
Go to the top of the page
+Quote Post
Portek
post 2.12.2010, 21:43:44
Post #5





Grupa: Zarejestrowani
Postów: 14
Pomógł: 1
Dołączył: 10.11.2008
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


IE 8, usunięcie z header'a ./ nic nie daje, o dziwo próba przejścia na inną stronę poprzez meta tagi też kończy się fiaskiem - ciacho jest wysyłane.
Go to the top of the page
+Quote Post
Quadina
post 2.12.2010, 22:09:00
Post #6





Grupa: Zarejestrowani
Postów: 200
Pomógł: 38
Dołączył: 1.12.2010
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Musisz użyć takiego takiego typu. IE8 w górę usuwa sobie atrybut 'name' z inputa z typem 'image' zatem Twój skrypt nawet nie wykonał akcji po ifie z log_in. Po za tym, nie akceptuje redirecta po formularzu z niepoprawnym action - ale akceptuje pusty action, który w sumie daje ten sam efekt. Zatem modyfkacja kodu tak jak pisze poniżej załatwia sprawę dla IE i jego odpowiednika Opery.
  1. <form method="POST" name="loginForm" action="">
  2. <input type="hidden" name="log_in" value="1" />


--------------------
Warsztat: NetBeans 7.2 Beta, PHP, MySQL, PostgreSQL, Symfony (<=1.4), Diem, Java, Sieci neuronowe
Go to the top of the page
+Quote Post
Portek
post 3.12.2010, 15:38:51
Post #7





Grupa: Zarejestrowani
Postów: 14
Pomógł: 1
Dołączył: 10.11.2008
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


Problem w tym że ciacho przesyłane do przeglądarki było na 100% - po przejściu ręcznym ze strony z logowaniem pod index.php wszystko było okej smile.gif Zamiana tego również zdało się na nic - obecnie skrypt wogóle nie loguje się ani na IE, ani FF - chyba przepiszę skrypt na nowo smile.gif
Go to the top of the page
+Quote Post
Quadina
post 3.12.2010, 15:42:54
Post #8





Grupa: Zarejestrowani
Postów: 200
Pomógł: 38
Dołączył: 1.12.2010
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


No po skopiowaniu Twojego skryptu i fakowaniu Twoich obiektów mi się loguje poprawnie na wszystkim. Wystarczyło tylko dodać tego hiddena i actiona. Ciacho powstawało Ci w momencie wykonania session_start() i nie ma nic wspólnego z zalogowaniem się. Jeżeli Ci się teraz wogóle nie loguje to po prostu wywal parametr name="log_in" z tego inputa z obrazkiem. Wszystko wtedy wróci do normy ;-)


--------------------
Warsztat: NetBeans 7.2 Beta, PHP, MySQL, PostgreSQL, Symfony (<=1.4), Diem, Java, Sieci neuronowe
Go to the top of the page
+Quote Post
Portek
post 3.12.2010, 17:07:20
Post #9





Grupa: Zarejestrowani
Postów: 14
Pomógł: 1
Dołączył: 10.11.2008
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


Czy IE zawsze wszystko musi utrudniać? ;f Poprawka intput'a i zapytania MySQL - nie objąłem znakami ' ' loginu i zamiast danych zapytanie zwracało znaczący error "#1054 - Unknown column 'Portek' in 'where clause'".
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 11:25