Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Logowanie i bledy
amdziak
post 2.01.2012, 11:33:42
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 2.01.2012

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


Witajcie, otóż mam taki skrypt:
  1. <?php
  2.  
  3. /**
  4.  * obsďż˝uga sesji usera
  5.  * TODO - dodaďż˝ w logowaniu ustawianie jďż˝zyka z profilu
  6.  */
  7.  
  8. require_once ('User.class.php');
  9.  
  10. global $User;
  11. $User = &new User;
  12.  
  13. // echo $_REQUEST['action'];
  14. // echo $_REQUEST['msg'];
  15.  
  16. // print_r($User);
  17. // print_r($_POST);
  18.  
  19. // --------------------------------------------------------------
  20. // logout user
  21. // --------------------------------------------------------------
  22.  
  23. if ($_REQUEST['cmd'] == "LogoutUser") {
  24.  
  25. // usuwamy dane usera z sesji
  26. unset($_SESSION['user_data']);
  27.  
  28. // i kierujemy siďż˝ na stronďż˝ z logowaniem
  29. //header('Location: login.php?msg=3');
  30. //exit();
  31. }
  32.  
  33. // --------------------------------------------------------------
  34. // log in user
  35. // --------------------------------------------------------------
  36.  
  37. if ($_REQUEST['cmd'] == "LoginUser") {
  38.  
  39. // tylko wtedy, gdy jeszcze nie jest zalogowany!
  40.  
  41. if (!sizeof($_SESSION['user_data'])) {
  42.  
  43. if (sizeof($_POST['login_form'])) {
  44.  
  45. // niezalogowany i podano dane do autoryzacji
  46.  
  47. $user_details = $User->loginUser($_POST['login_form']);
  48. // print_r($user_details);
  49.  
  50. if (sizeof($user_details)) {
  51. // logged correct
  52. $_SESSION['user_data'] = $user_details;
  53.  
  54. // jeszcze skonwertowane do utf-8 (do czatu) imie i nazwisko
  55. require_once ('Utils.class.php');
  56. $_SESSION['user_data']['name_utf'] = Utils::toascii_replace($_SESSION['user_data']['name']);
  57. $_SESSION['user_data']['surname_utf'] = Utils::toascii_replace($_SESSION['user_data']['surname']);
  58.  
  59. $smarty->assign('user_data', $_SESSION[user_data]);
  60. unset($_POST['action']);
  61. // write this log in in log
  62. // $User->writeUserLogin($_SESSION['user_data']['id']);
  63.  
  64. // przenosimy na stron� g��wn� serwisu
  65. //header("Location: index.php?login=1");
  66. //exit();
  67. }
  68. else {
  69. // błąd przy logowaniu
  70. $msg = $dict_templates['msg_2'];
  71. $smarty->assign("msg", $msg);
  72. //header("Location: login.php?msg=2");
  73. //exit();
  74. }
  75. }
  76. }
  77. }
  78.  
  79. // --------------------------------------------------------------
  80. // user profile to view
  81. // --------------------------------------------------------------
  82.  
  83. if (sizeof($_SESSION['user_data'])) {
  84. // $user_data = $User->getUser($_SESSION[user_id]);
  85. // print_r($user_data);
  86. $smarty->assign("user_data", $_SESSION['user_data']);
  87. }
  88. else {
  89. // próba dostania siÄ™ bez zalogowania
  90. // dostępna tylko dla skryptĂłw maintenance
  91.  
  92. if (!$_REQUEST['msg'] && $magic != "66766ssdhg43j34jg34hjjhhj43j4h343434hg3444hg7j574j33ncbv2cnb3vmnb434")
  93. {
  94. //header("Location: login.php");
  95. $msg = $dict_templates['msg_'.$_REQUEST[msg]];
  96. $smarty->assign("msg", $msg);
  97.  
  98. $smarty->assign('script_name', "login.php");
  99. $smarty->assign('action', $_GET['action']);
  100.  
  101. $smarty->display("login.tpl");
  102. exit();
  103. }
  104. }
  105.  
  106. // komunikat do smart�w
  107. /*
  108. $msg = $dict_templates['msg_'.$_REQUEST[msg]];
  109. $smarty->assign("msg", $msg);
  110. */
  111. // print_r($_SESSION['user_data']);
  112.  
  113. ?>


i niestety nie działa w nim logowanie, wydaje mi się iż problem tkwi w tym warunku
  1. if (!sizeof($_SESSION['user_data'])) {//niezalogowany}
, ale sam do konca nie wiem...

Pozdrawiam,
amdziak
Go to the top of the page
+Quote Post
Sephirus
post 2.01.2012, 11:58:03
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Nie wiem jak w tych plikach includowanych ale nie widzę nigdzie startu sesji...


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
amdziak
post 2.01.2012, 12:11:36
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 2.01.2012

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


Czyli?

W PHP raczej raczkuje, a z przymusu musze szybko nadrobić zaległosci...

Pozdrawiam,
amdziak
Go to the top of the page
+Quote Post
Sephirus
post 2.01.2012, 12:13:42
Post #4





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Zobacz po prostu czy gdziekolwiek w twoich skryptach tym i tych które ten dołącza do siebie poprzez include() albo require() w ogóle jest wystartowana sesja. Funkcja: session_start() - jej szukaj - jak jej nie ma to dodaj ją tak by była jak najbliżej początku skryptów.

Ten post edytował Sephirus 2.01.2012, 12:14:41


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
amdziak
post 2.01.2012, 12:14:48
Post #5





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 2.01.2012

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


dodalem session_start(); na poczatku pliku i nic to nie dalo...

Pozdrawiam,
amdziak
Go to the top of the page
+Quote Post
Sephirus
post 2.01.2012, 12:20:26
Post #6





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Hmm a nie widać żadnych błędów PHP? Nie widać tu żadnych błędów... hmmm. Możesz dodac jeszcze error_reporting(E_ALL); gdzieś na początku i podać więcej szczegółów jak to się zachowuje ;/


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
by_ikar
post 2.01.2012, 12:31:35
Post #7





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Cytat
i niestety nie działa w nim logowanie

Nie działa, to pojęcie bardzo ogólne. Które zresztą mnie irytuje, i pewnie nie tylko mnie. Mimo że ostatnio szukanych wróżbitów jest coraz więcej, niestety jako tacy się nie zgłaszają. Dlatego proponuje opisanie szczegółowo co się dzieje, jakie są błędy i tym podobne. Zapotrzebowanie na czarodziejów jest duże, mimo to to jest bardziej forum programistyczne. Jak poszukujesz doświadczonych ezoteryków, to chyba tutaj takich nie znajdziesz.
Go to the top of the page
+Quote Post
amdziak
post 2.01.2012, 12:50:07
Post #8





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 2.01.2012

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


Nie działa -> przechodze do strony logowania, wpisuje dane (poprawne!) klikam enter i wraca do strony, lecz juz z pustym formularzem...

Pozdrawiam,
amdziak

a strona to jest to:
crm.sympozjum.edu.pl
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: 8.07.2025 - 22:08