Zadejte hledaný výraz...

bez PHPSESSID ma neprihlasi pod IE6

Nazdar.
Robil som prihlasovanie na jednu stranku podla dakej novej knihy, kde odporucali prihlasovanie robit pomocou PHPSESSID. Odvtedy som sa docital, ze to nie je najlepsie riesenie, tak som sa pokusil prihlasovanie prerobit na klasicky sposob. Po odstraneni casti, kt. sa tykaju PHPSESSID, mi vsak prestalo fungovat prihlasenie pod IE6, pricom v inych browsroch vsetko ide.
login.php robi zkresane nasledovne:
session_start();
$formdata = array_item($_POST, "form");
if(array_item($formdata, "btnLogin")) {
if (try_to_login($formdata, $db) == FALSE) {
//nespravne meno, heslo
}
}
else {
header("Location: " . baseurl() . "index.php");
exit;
}
funkcia try_to_login:
function try_to_login($formdata, $db) {
$username = array_item($formdata, "username");
$password = array_item($formdata, "password");
$sql = "SELECT ID_user, authent, role FROM users WHERE ....atd, toto sedi";
$rows = $db->queryObjectArray($sql);
if($rows && is_array($rows) && count($rows) == 1) {
$_SESSION = $rows->ID_user;
$_SESSION = $rows->role;
$_SESSION = $username;
setcookie('ProjektID_user', $rows->ID_user, time()+180*24*60*60);
setcookie('ProjektAuthent', $rows->authent, time()+180*24*60*60);
header("Location: " . $_SERVER );
exit;
}
else
return FALSE;
}
Cize ak sa na stranku login.php dostanem cez formular, prebehne try_to_login a po nom sa presmeruje naspat.
ci je clovek prihlaseny, sa potom na kazdej stranke kontroluje nasledovne:
function get_ID_user(&$ID_user_logged, &$username, &$role, $db) {
// nacitanie ID_user a userName, ak su dostupne z dat relacie
session_start();
$username = array_item($_SESSION, 'username');
$ID_user_logged = array_item($_SESSION, 'ID_user_logged');
$role = array_item($_SESSION, 'role');
if($username && $ID_user_logged)
return;
// v opacnom pripade sa prevedie pokus o nacitanie ID_user zo suboru cookie
$ID_user_logged = array_item($_COOKIE, 'ProjektID_user');
$authent = array_item($_COOKIE, 'ProjektAuthent');
$sql = "SELECT username, role
FROM users
WHERE ID_user = " . $db->sql_string($ID_user_logged) . "
AND authent = " . $db->sql_string($authent) . "
LIMIT 2";
$rows = $db->queryObjectArray($sql);
if($rows && is_array($rows) && count($rows) == 1) {
$username = $rows->username;
$role = $rows->role;
$_SESSION = $ID_user_logged;
$_SESSION = $username;
$_SESSION = $role;
}
else {
$ID_user_logged = FALSE;
$username = FALSE;
$role = FALSE;
}
}
Budem velmi velmi vdacny!
26. 10. 2008 10:23:36
https://webtrh.cz/diskuse/bez-phpsessid-ma-neprihlasi-pod-ie6#reply146448
Pro odpověď se přihlašte.
Přihlásit