Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zamiana sesji na cookie
Forum PHP.pl > Forum > Przedszkole
dabb
Witam

Mam taki skrypt:


  1. <?php 
  2. $admin_pass='56'; 
  3. ?><meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-2\"> 
  4. <?php 
  5.  
  6. if($_GET['menu']=='logout')$_SESSION['session_admin_login']=false; 
  7. if($admin_pass==$_POST['form_pass'])$_SESSION['session_admin_login']=true;else { 
  8. ?>
  9. <form name=\"form1\" method=\"post\" action=\"?\"> 
  10. <input type=\"password\" name=\"form_pass\" style='width:100px;'> 
  11. <input type=\"submit\" name=\"Submit\" value=\"OK\" style='width:30px;'> 
  12. </form> 
  13. <?php 
  14. $_SESSION['session_admin_login']=false; 
  15. die(); 
  16. } 
  17. ////////////////////////////////////// 
  18.  
  19. echo &#092;"<A HREF='?menu=logout'>[ wyloguj ]</A>\"; 
  20. // inculde itp. 
  21. ?>

Jak zamienic te sesje zamienic na cookie zeby przy logowaniu skrypt sprawdzal czy istnieje cookie.
Jesli cookie istnieje to wyswietla sie to co sie ma wyswietlic np echo lub include
hwao
  1. <?php // metoda klasy
  2. function login(){
  3.  $login = 'root';
  4.  $pass = 'pass';
  5.  if( isSet( $_POST['login'] ) && isSet( $_POST['haslo'] ) ) {
  6. if( $_POST['login'] == $login && $_POST['haslo'] == $pass ) {
  7.  setcookie( 'login', $_POST['login'], time()+60*60*24*);
  8.  setcookie( 'pass', $_POST['haslo'], time()+60*60*24*);
  9. return TRUE;
  10. }
  11.  }
  12.  
  13.  if( isSet( $_COOKIE['login'] ) && isSet( $_COOKIE['pass'] ) ) {
  14. if( $_COOKIE['login'] == $login && $_COOKIE['pass'] == $pass ) {
  15.  return TRUE;
  16. }
  17.  }
  18.  
  19.  return false;
  20. }
  21. ?>

Dorob formularz z polem login i haslo
a sprawdza sie tak
  1. <?php
  2. if( !login() ) die( 'wpisz dane do formularza' );
  3. ?>
chfast
Ja przerobiłem tak:
  1. <?php
  2. $admin_pass='56';
  3.  
  4. if($_GET['menu']=='logout')
  5. setcookie('admin_login');
  6. if($admin_pass==$_POST['form_pass'])
  7. setcookie('admin_login', true, time()+24*60*60 );
  8. else {
  9. ?>
  10. <form name=\"form1\" method=\"post\" action=\"?\">
  11. <input type=\"password\" name=\"form_pass\" style='width:100px;'>
  12. <input type=\"submit\" name=\"Submit\" value=\"OK\" style='width:30px;'>
  13. </form>
  14. <?php
  15. die();
  16. }
  17. //////////////////////////////////////
  18.  
  19. echo &#092;"<A HREF='?menu=logout'>[ wyloguj ]</A>\";
  20. // inculde itp.
  21. ?>

Mało to bezpieczne i przy logowaniu wcale cookie nie jest sprawdzane, ale powinno działać analogicznie do twojego przykładu. Pamiętaj ze cookie pojawia sie dopiero po przeładowaniu strony.
Guest
Moglby ktos ten drugi skrypt przerobic zeby cookie bylo sprawdzane i haslo bylo przechowywane w osobnym pliku ?
dabb
  1. <?php
  2. $admin_pass='56';
  3.  
  4. if($_GET['menu']=='logout')
  5. setcookie('admin_login');
  6. if($admin_pass==$_POST['form_pass'])
  7. //setcookie('admin_login', true, time()+24*60*60 );
  8. setcookie('admin_login', $admin_pass, time()+24*60*60 );
  9. else {
  10. ?>
  11.  
  12. <form name=\"form1\" method=\"post\" action=\"?\">
  13. <input type=\"password\" name=\"form_pass\" style='width:100px;'>
  14. <input type=\"submit\" name=\"Submit\" value=\"OK\" style='width:30px;'>
  15. </form>
  16.  
  17. <?php
  18. die();
  19. }
  20. //////////////////////////////////////
  21. if ($_COOKIE['admin_login'] == $admin_pass) {
  22. echo &#092;"jestes zalogowany<br>\";
  23. echo &#092;"<A HREF='cookie.php?menu=logout'>[ wyloguj ]</A>\";
  24. // inculde itp.
  25. }
  26. ?>



Wszystko dziala ale jak zamkne przegladarke i wejde ponownie na strone ze skryptem to musze sie znowulogowac sad.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.