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.
<?php function user_login(){ if($_COOKIE['auto_'] == 'yes'){ $pass_ = $_COOKIE['safe']; $name = $_COOKIE['name']; }else{ $name = $_POST['k_login']; } $who = "SELECT id, login, prawa, data_aktywnosci, session_id FROM ".TABLE_ACCOUNT." WHERE login='".$name."' AND haslo='".$pass_."' AND autoryzacja='t' LIMIT 1"; if($who2==1) { // $up_ses = !$re['session_id'] ? '' : ', session_id = '.$session_id().''; FROM ".TABLE_MESS." WHERE odbiorca='".$re['id']."' AND czytana='n'"),0); $_SESSION['user'] = $re['id']; $_SESSION['name'] = $name; $_SESSION['prawa'] = $groups['name']; $_SESSION['last_login'] = $re['data_aktywnosci']; if($_POST['auto']==1){ //$login=md5($re['login']); $login=$re['login']; } $sql = "UPDATE ".TABLE_ACCOUNT." SET data_aktywnosci=now() ".$up_ses." WHERE id='".$re[id]."'"; if($a[li]>=1){ $ax = 'poczta'; }else{ $ax = 'profil'; } } else { $message="Logowanie nie powiodło się. Prawdopodobnie podałeś(aś) błędne dane. Spróbój ponownie."; return $message; } } ?>
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.