@VladaSu
Ako sam dobro shvatio, najprije treba da kreiram tabelu u kod ce cuvati user_id, random_string, timestamp. Pa spored toga nije bitno dali u cookie bi cuvao username ili password, tuku bilo kakav zapis preko koga bi prepoznao dali nekog prethodno je bio logovan. I vrjednost od tog random_string zapisem u cookie.
Otkako ke se izvrsi provera i korisnik automatski je ulogovan, treba da kreiram nov zapis u tabelu, za isti user_id ali sa razlicnog strigna, i sljedeci put da proveravam tog stringa.
Ja cu probati sve to. ali evo i mog koda pa ako nekog ima neko ideju kade grjesim, moze mi pomoci da nadzem gresku i sve to popraviti
( za md5 sam shvatio, zato trgnite to nastranu )
ove su vrednoste cookie od pocetka:
Code:
$config->cookie = array();
$config->cookie['domain'] = "mysite";
$config->cookie['path'] = "/";
$config->cookie['session_time'] = 2592000;
$config->cookie['username'] = 'uname';
$config->cookie['password'] = 'upwd';
evo funkciju koju koristim za cookie:
Code:
function set_cookie($name, $cookiedata, $cookietime = 0) {
global $config;
setcookie($name, $cookiedata, ($cookietime ? time() + $cookietime : 0), $config->cookie['path'], $config->cookie["domain"], 0);
}
od sledecek kodu, prva pravim proverku dali postoi cookie, a ako ne postoi izvrsim logovanja preku vrjednosti uneseni od logina
Code:
if(isset($_COOKIE['uname']) && isset($_COOKIE['upwd'])) {
if($_COOKIE['uname'] != '' && $_COOKIE['upwd'] != '') {
if($user->login($_COOKIE['uname'], $_COOKIE['upwd'])) {
echo 'sucess';
} else {
echo 'error';
}
$sql = "SELECT * FROM users WHERE username = '".$_COOKIE['uname']."' AND password = '".$_COOKIE['upwd']."' LIMIT 1";
if(count($db->get_results($sql)) > 0) {
$login_errors[] = 'success';
header("Location: /user_profile");
} else {
// error
}
}
} else if($_SERVER['REQUEST_METHOD']=='POST') {
if(isset($_POST['login'])) {
$usercheck = mysql_real_escape_string($usercheck);
$passcheck = mysql_real_escape_string($passcheck);
$keep_logged = 0;
if($remember_me == 'yes') {
$keep_logged = 365 * 24 * 60 * 60;
}
if(trim($usercheck) != "" && trim($passcheck) != "" ) {
if($user->login($usercheck, $passcheck)) {
set_cookie($config->cookie['username'], $usercheck, $keep_logged);
set_cookie($config->cookie['password'], md5($passcheck), $keep_logged);
} else {
$login_errors[] = "Enter valid data";
}
} else {
$login_errors[] = "Fill the fields for username and password";
}
}
} else {
// nesta
}