Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ponownie $_COOKIE, problem php nieodczytuje zapisów w cookie
Neeke
post 17.01.2008, 20:08:20
Post #1





Grupa: Zarejestrowani
Postów: 124
Pomógł: 16
Dołączył: 22.02.2007
Skąd: Warszawa

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


witam.

dzis postanowlem dowartosciowac u ulatwic zycie przyszlym uzytkownikom mojej strony "AUTO LOGOWANIE"
opiera sie ono na sesji i cookie. gdy przeslane dane z formulaza logowania zgadaja sie z danymi w bazie to wtedy powstaje ciasteczko wazne 14 dni. w ciasteczku wszystko jest zapisywane poprawnie tak mi sie wydaje , bo od dzis dopiero zaczolem prace z ciasteczkami.
problem polega w tym gdy uzytkownik wejdzie na strone i w ciastko posiada wpis auto_ == yes wtedy system automatycznie wykonuje dalsze czynnosci lgowaniasamodzielnie. ale problem jest w tym ze przy odczytaniu superglobalnej $_COOKIE['auto_'] system niewidzi tego ciasteczka i pokazuje formulaz logowania . zamieszcze fragment funkcji logowania moze robie blad jezeli tak prosze o pomoc.

  1. <?php
  2. function user_login(){
  3. global $PHP_SELF;
  4.  
  5.  if($_COOKIE['auto_'] == 'yes'){
  6. $pass_ = $_COOKIE['safe'];
  7. $name = $_COOKIE['name'];
  8.  }else{
  9. $pass_ = md5($_POST['k_haslo']);
  10. $name = $_POST['k_login'];
  11.  }
  12.  
  13.  $who = "SELECT id, login, prawa, data_aktywnosci, session_id 
  14.  FROM ".TABLE_ACCOUNT.
  15.  WHERE login='".$name."' 
  16.  AND haslo='".$pass_."' 
  17.  AND autoryzacja='t' LIMIT 1"; 
  18.  $who = mysql_query($who);
  19.  $who2 = mysql_num_rows($who);
  20.  echo $who2.'&nbsp;'. $_COOKIE['safe'].'&nbsp;'.$_COOKIE['name'];
  21.  if($who2==1) {
  22.  
  23. $re = mysql_fetch_array($who);
  24.  // $up_ses = !$re['session_id'] ? '' : ', session_id = '.$session_id().'';
  25. $a = mysql_result(mysql_query("SELECT count(id) as li 
  26. FROM ".TABLE_MESS.
  27. WHERE odbiorca='".$re['id']."' 
  28. AND czytana='n'"),0);
  29. $group = mysql_query("SELECT name FROM ".TABLE_GROUPS." WHERE id='".$re['prawa']."'");
  30. $groups = mysql_fetch_array($group);
  31.  
  32. $_SESSION['user'] = $re['id'];
  33. $_SESSION['name'] = $name;
  34. $_SESSION['prawa'] = $groups['name'];
  35. $_SESSION['last_login'] = $re['data_aktywnosci'];
  36.  
  37. if($_POST['auto']==1){
  38.  
  39.  //$login=md5($re['login']);
  40.  $login=$re['login'];
  41.  setcookie('auto_','yes', time() +(60*60*336),"/","/",0);
  42.  setcookie('name',$login, time() +(60*60*336),"/","/",0);
  43.  setcookie('safe',$pass_, time() +(60*60*336),"/","/",0);
  44. }
  45. $date = MakeDate(time());
  46. $sql = "UPDATE ".TABLE_ACCOUNT." SET data_aktywnosci=now() ".$up_ses." WHERE id='".$re[id]."'";
  47.  or die('BŁĄD -> '.mysql_error());
  48. if($a[li]>=1){
  49.  
  50.  $ax = 'poczta';
  51.  
  52. }else{
  53.  
  54.  $ax = 'profil';
  55.  
  56. }
  57.  
  58.  header("Location: index.php?ord=$ax");
  59.  
  60.  } else {
  61.  
  62. $message="Logowanie nie powiodło się. Prawdopodobnie podałeś(aś) błędne dane. Spróbój ponownie.";
  63. return $message;
  64.  
  65.  }
  66.  
  67. }
  68. ?>


prosze o wyrozumialosc bo to jest pierwsze co z ciasteczkami zaczolem robic .
ps. czytalem manuala i forum tutaj , znalazlem o cookie ale to niewyjasnialo mi w czym zrobilem blad.
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.08.2025 - 07:08