Cookie probleem. URL verkeerd?
Om even te laten weten ik ben erg nieuw met cookies.
Nu ken ik inderdaad de standaard regeltjes van de cookies maar het wil niet echt lekker werken.
Op het moment heb ik een structuur om in te loggen onder www.domein.nl/login/
Hij zet dus ook onder de /login een cookie. Dit is dus het punt waar ik niet weet of dat iets uitmaakt.
Het zit namelijk zo,
Onder www.domein.nl/map1/map2 werkt mijn cookie niet meer. Tenminste, zover ik weet.
Heeft dit er mee te maken dat onder /login een cookie aangemaakt word? In theorie moet het vanaf de login map 1 mapje terug , dan zit hij weer op de public html en vervolgens 2 mappen omhoog.
Dit stukje word gebruikt om een cookie te plaatsen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
if(empty($err)){
// this sets session and logs user in
session_start();
session_regenerate_id (true); //prevent against session fixation attacks.
// this sets variables in the session
$_SESSION['user_id']= $id;
$_SESSION['user_name'] = $full_name;
$_SESSION['user_level'] = $user_level;
$_SESSION['HTTP_USER_AGENT'] = md5($_SERVER['HTTP_USER_AGENT']);
//update the timestamp and key for cookie
$stamp = time();
$ckey = GenKey();
mysql_query("update users set `ctime`='$stamp', `ckey` = '$ckey' where id='$id'") or die(mysql_error());
//set a cookie
if(isset($_POST['remember'])){
setcookie("user_id", $_SESSION['user_id'], time()+60*60*24*COOKIE_TIME_OUT, "/");
setcookie("user_key", sha1($ckey), time()+60*60*24*COOKIE_TIME_OUT, "/");
setcookie("user_name",$_SESSION['user_name'], time()+60*60*24*COOKIE_TIME_OUT, "/");
}
header("Location: myaccount.php");
}
?>
if(empty($err)){
// this sets session and logs user in
session_start();
session_regenerate_id (true); //prevent against session fixation attacks.
// this sets variables in the session
$_SESSION['user_id']= $id;
$_SESSION['user_name'] = $full_name;
$_SESSION['user_level'] = $user_level;
$_SESSION['HTTP_USER_AGENT'] = md5($_SERVER['HTTP_USER_AGENT']);
//update the timestamp and key for cookie
$stamp = time();
$ckey = GenKey();
mysql_query("update users set `ctime`='$stamp', `ckey` = '$ckey' where id='$id'") or die(mysql_error());
//set a cookie
if(isset($_POST['remember'])){
setcookie("user_id", $_SESSION['user_id'], time()+60*60*24*COOKIE_TIME_OUT, "/");
setcookie("user_key", sha1($ckey), time()+60*60*24*COOKIE_TIME_OUT, "/");
setcookie("user_name",$_SESSION['user_name'], time()+60*60*24*COOKIE_TIME_OUT, "/");
}
header("Location: myaccount.php");
}
?>
Alvast mijn grote dank!
Met vriendelijke groet,
Toevoeging op 11/02/2012 13:13:50:
P.s.
De website gaat met dit soort structuren werken.
De gebeurtenissen vinden voornamelijk plaats op www.domein.nl
Vervolgens waar alle content is e.d. staat onder verschillende mappen.
Voornamelijk ( bijvoorbeeld )
www.domein.nl/content/contentvulling1/index.php
www.domein.nl/content/nogeenmapnr2/index.php
www.domein.nl/anderemap/metweerietsanders/index.php
E.d.
Toevoeging op 11/02/2012 13:14:58:
Op bijv. content/contentvulling1/ is ook een betaaloptie, deze betaaloptie zal vervolgens weer plaats gaan vinden op www.domein.nl. Daarom is het van groot belang dat de cookies goed werken op de gehele website onder de gehele mappenstructuur.
Toevoeging op 11/02/2012 13:16:41:
En als laatste.. Ik heb dus een sterk gevoel dat de cookie nu onder www.domein.nl/login gezet word, en alles dus alleen maar werkt vanaf www.domein/login zoals
- www.domein/login/content1/ditwerktdanwel.php enz.