Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]cookies w logowniu[php]
Forum PHP.pl > Forum > PHP
martino277
siemaka all exclamation.gif! jestem poczatkujacy w php ktos by mi pomogl dodadac cookies do tego logowania albo podpowiedziec jak tpo zrobic
  1. <div align="center" id="photo">
  2. <?php
  3.  
  4. defined('VALID_ACCESS') or exit();
  5.  
  6.  
  7. if(isset($_POST['login']))
  8. {
  9. if($_POST['login'] == '')
  10. {
  11. echo "<script>alert('".LAN_EMPTY_LOGIN."'); window.history.go(-1);</script>";
  12. exit();
  13. }
  14. if($_POST['password'] == '')
  15. {
  16. echo "<script>alert('".LAN_EMPTY_PASSWORD."'); window.history.go(-1);</script>";
  17. exit();
  18. }
  19. if($User->login($_POST['login'], $_POST['password']))
  20. {
  21. $_SESSION['loged'] = 1;
  22. $_SESSION['user_id'] = $User->id;
  23. $_SESSION['type'] = $User->type;
  24. $_SESSION['user_login'] = $User->login;
  25. $Core->move_to('index.php');
  26. } else
  27. {
  28. echo '<p class="error">'.LAN_WRONG_LOGIN.'</p>';
  29. }
  30.  
  31. }
  32. if(!isset($_POST['login']) && !isset($_SESSION['loged']))
  33. {
  34. echo '
  35. <div align="center" id="photo">
  36. <form action="'.$_SERVER['PHP_SELF'].'?task=login" method="post">
  37. <p class="information">
  38. '.LAN_LOGIN.'<br />
  39. <input type="text" value="" name="login" /><br /><br />
  40.  
  41. '.LAN_PASSWORD.'<br />
  42. <input type="password" value="" name="password" /><br /><br /> 
  43. <input type="submit" value="ok" />
  44. </p>
  45. </form>
  46. </div>
  47. ';
  48. }
  49. ?>
  50. </div>

za pomomoc z gory dziekuje pozdrawiam
markotny
jeżeli chcesz po prostu sprawdzić na początku ciasteczkiem aby użytkownik nie musiał się logować no to ustawiasz to zapytaniem np. if(isset(!$_COOKIES['login'])) z tym że po zalogowaniu pierwszym użytkownika musisz ustawić $_COOKIES['login']=$login tak aby ciasteczko z wartością loginu zostało ustawione.Witam. W odpowiedzi na maila postaram się w paru słowach przedstawić mechanizm ustawiania ciasteczek. Do ustawienia ciasteczka służy funkcja SetCookies (nazwa, wartość, trwałość); Jest to oczywiście jedna z postaci tej funkcji. Może ona mieć tylko dwa pierwsze parametry ale może być rozbudowana o kilka innych parametrów z których jednak korzysta się rzadko. Chcemy np. aby zapisać w ciasteczku login użytkownika. Po podaniu przez użytkownika w panelu logowania loginu i hasła przekierowujemy się do podstrony gdzie znajduje się moduł logowania zaraz na początku wpisujemy SetCookies("login", $_POST['login'], time()+60+60+24*30);Taka postać funkcji sprawi że w ciasteczku pod zmienną login zostanie wpisany login podany przez użytkownika. Ostatni fragment sprawi że ciasteczko to zostanie zapamiętane przez 30dni. Przy starcie strony zadajemy standardowy warunek jak przy pobieraniu zmiennej z sesji czy z formularza. if (isset($_COOKIES['login'])) i jeśli jest wartość no to dalej już pozostawiam inwencji twojej. smile.gif Jeśli natomiast chciałbyś usunąć wartość z ciasteczka używasz funkcji z parametrami -> SetCookies("login", "");Warunek musi być taki że funkcja SetCookies musi zostać umieszczona na samym początku kodu zanim zostaną wyprowadzone jakiekolwiek zmienne, czy wczytane nagłówki strony. Można wykorzystać przekierowanie strony header z tym że najpierw ustawiamy ciasteczko a potem przekierowujemy stronę na właściwą. Inaczej mi nie chciało wychodzić. Miłego testowania. 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.