phpsessid opslaan in cookie
ik wil iets heel simpels wat toch maar niet wil lukken: er wordt een session gemaakt en dan wil ik direct de phpsessid opslaan in een cookie:
De phpsessid wordt pas in de cookie gezet als de pagina herladen wordt.
Is dat gebruikelijk? Eigenlijk wil ik um direct gebruiken. (Het is voor een registratie/login).
Bedankt,
Fjodor
Ik snap ook niet wat je nu probeert te doen, je gebruikt setcookie, en wil daarin $_COOKIE['PHPSESSID'] zetten, je wilt iets uit een cookie halen die n og niet bestaat, ik denk dat je een andere variabele moet gebruiken daar, maar moet ff uitzoeken welke.
Het sessie-id staat normaalgesproken al in een cookie. Waarom zou je dat dan nog een keer willen doen? Wat is het doel?
session_start();
$db_base = new DB_Sql();
$db_base->query("SELECT * from tbluser Where ID='".$userid."'");
$db_base->next_record();
$expire = time() + 1728000;
$cookie_pass = md5($password);
ob_start();
setcookie("user", "");
setcookie('user', $db_base->f('Login'), $expire);
setcookie('userid', $db_base->f('ID'), $expire);
setcookie('PHPSESSID', $_COOKIE["PHPSESSID"], $expire);
setcookie('lastvisit', $db_base->f('user_lastvisit'), $expire);
ob_end_flush();
$this->clear_sessions($this->username, $this->userid);
$sql = "INSERT INTO tblsession SET Sid='".addslashes($_COOKIE["PHPSESSID"])."',
Suid='".$this->userid."',
Username='".$this->username."',
SidTime=".$expire;
$db_base->query($sql);
return TRUE;
}
Ik heb een stukje code meegestuurd waar deze contructie in voorkomt. Dit script moet ik aanpassen.
Hier wordt dus een session gestart en vervolgens wordt de phpsessid opgeslagen in een cookie.
Ik heb geprobeerd om te kijken in $_COOKIE maar vindt daar de gemaakte cookie niet.
Daarom vroeg ik mij af of dit type constructie wel kan:
- session starten
- phpsessid opslaan in een cookie
- cookie uitlezen om naar database te schrijven
Het gaat mij er nu niet om of het nuttig is om het zo te doen, maar of het zo kan.
Bedankt
Deze vorm van SQL lijkt nergens op, dit is een mix van een INSERT- en UPDATE-syntax. Hoeveel problemen wil je hebben?
Hou je aan de standaard, die is er niet voor niets.
Offtopic: Hou je aan de standaard, die is er niet voor niets.
Waar het mij nu om gaat is of de waarde van $_COOKIE['PHPSESSID'] op deze manier wel in een databae gezet kan worden.
Als ik dit script draai krijg ik alle waarden in de database behalve de waarde van de $_COOKIE['PHPSESSID'].
Daarom vroeg ik mij af of de opzet wel goed is:
- starten session
- setcookie('phpsessid', $_COOKIE['PHPSESSID'])
- waarde van cookie naar database schrijven
Ps: Begrijp mij niet verkeerd, ik waardeer het dat je mij wijst op fouten in de opbouw van de query.
Quote:
Waarom zou je het cookie willen uitlezen? Je zet er net zelf een waarde in, je kent dus de waarde, waarom zou je dan deze bekende waarde willen gaan uitlezen? Dat is vragen naar de bekende weg!Daarom vroeg ik mij af of dit type constructie wel kan:
- session starten
- phpsessid opslaan in een cookie
- cookie uitlezen om naar database te schrijven
- session starten
- phpsessid opslaan in een cookie
- cookie uitlezen om naar database te schrijven
Gewijzigd op 01/01/1970 01:00:00 door Frank -
Stel je wilt een COOKIE verwijderen door:
Dan unset je de cookie niet, maar alleen de array.
De COOKIE-list word elke keer opnieuw opgevraagd. Ikzelf heb geen idee hoe je anders aan de SESSID komt, maar misschien kan je een header gebruiken. Dan kan je in een andere pagina achter de SESSID komen..
Bovenstaande is mijn theorie over hoe $_COOKIE werkt. Het kan zijn dat niet alles klopt/aangevuld moet worden
1 Ding is zeker (volgens mij):
$_COOKIE staat niet in verband met de cookies op je computer. $_COOKIE word alleen een keer gevuld aan de hand van de cookies op de computer.
Edit:
Gokje, ik weet niet of deze functie bestaat: session_id
Als die bestaat, heb je daar misschien iets aan!
Gokje, ik weet niet of deze functie bestaat: session_id
Als die bestaat, heb je daar misschien iets aan!
Gewijzigd op 01/01/1970 01:00:00 door Mark L