Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Logowanie i bledy
Forum PHP.pl > Forum > PHP
amdziak
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
Sephirus
Nie wiem jak w tych plikach includowanych ale nie widzę nigdzie startu sesji...
amdziak
Czyli?

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

Pozdrawiam,
amdziak
Sephirus
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.
amdziak
dodalem session_start(); na poczatku pliku i nic to nie dalo...

Pozdrawiam,
amdziak
Sephirus
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 ;/
by_ikar
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.
amdziak
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
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.