Notice: Use of undefined constant SESSION_COOKIE - assumed 'SESSION_COOKIE' in D:\XAMPP\htdocs\sessions.php on line 14
Notice: Use of undefined constant SESSION_COOKIE - assumed 'SESSION_COOKIE' in D:\XAMPP\htdocs\sessions.php on line 15
Notice: Use of undefined constant SESSION_COOKIE - assumed 'SESSION_COOKIE' in D:\XAMPP\htdocs\sessions.php on line 30
Notice: Use of undefined constant SESSION_COOKIE_EXPIRE - assumed 'SESSION_COOKIE_EXPIRE' in D:\XAMPP\htdocs\sessions.php on line 31
Fatal error: Call to undefined function random_session_id() in D:\XAMPP\htdocs\sessions.php on line 66
To jest moj kod w sessions.php:
Kod
<?php
class session{
private $id;
private $ip;
private $browser;
private $time;
private $user;
private $salt;
public function __construct (){
global $pdo, $request;
if(!isset ($_COOKIE[SESSION_COOKIE])){
$_COOKIE[SESSION_COOKIE] = '';
}
else{
if(strlen($_COOKIE[SESSION_COOKIE]) != SESSION_ID_LENGHT) {
$this->newSession();
}
}
$pdo = new PDO('mysql:host=localhost;port=3306;dbname=sklep','root','root');
$pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo -> exec ("SET NAMES 'utf8'");
$stmt = $pdo->prepare('SELECT session_id, updated_at, salt_token, user_id, uniq_info, ip, browser FROM sessions WHERE session_id = :sid AND uniq_info = :info AND updated_at > :updated AND IP = :ip AND browser = :browser');
$stmt->bindValue(':sid', $_COOKIE[SESSION_COOKIE], PDO::PARAM_STR);
$stmt->bindValue(':updated', time() - SESSION_COOKIE_EXPIRE, PDO::PARAM_INT);
$stmt->bindValue(':info', $request->getInfo(), PDO::PARAM_STR);
$stmt->bindValue(':ip',$request->getIp(), PDO::PARAM_STR);
$stmt->bindValue(':browser', $request->getBrowser(), PDO::PARAM_STR);
$stmt->execute();
if($session = $stmt-> fetch(PDO::FETCH_ASSOC)){
$stmt->closerCursor();
$this->id = $_COOKIE[SESSION_COOKIE];
$this->salt = $session['salt_token'];
$this->ip = $session['ip'];
$this->browser = $session['browser'];
$this->time = $session['updated_at'];
setcookie(SESSION_COOKIE, $this->id, time() + SESSION_COOKIE_EXPIRE);
$stmt = $pdo->prepare('UPDATE sessions SET updated_at = "time WHERE session_id = :sid');
$stmt->bindValue(':sid', $_COOKIE[SESSION_COOKIE], PDO::PARAM_STR);
$stmt->bindValue(':time',time(), PDO::PARAM_INT);
$stmt->execute();
if($session['user_id'] !=0){
//zalogowani
}
else {
$this->user = new user(true);
}
}
else {
$stmt->closeCursor();
$this->newSession();
}
}
function newSession(){
global $pdo, $request;
$this->id = random_session_id();
$this->salt = random_salt(10);
setcookie(SESSION_COOKIE, $this->id, time() + SESSION_COOKIE_EXPIRE);
$stmt = $pdo->prepare('INSERT INTO sessions (session_id, updated_at, salt_token, user_id, uniq_info, browser, ip) VALUES (:session_id, :time, :salt, :user_id, :info, :browser, :ip)');
$stmt->bindValue(':session_id', $this->id, PDO::PARAM_STR);
$stmt->bindValue(':time',time(), PDO::PARAM_INT);
$stmt->bindValue(':salt', $this->salt, PDO::PARAM_STR);
$stmt->bindValue(':user_id',0,PDO::PARAM_INT);
$stmt->bindValue(':info',$request->getInfo(), PDO::PARAM_STR);
$stmt->bindValue(':browser', $request->getBrowser(),PDO::PARAM_STR);
$stmt->bindValue(':ip', $request->getIp(), PDO::PARAM_STR);
$stmt->execute();
$this->user = new user(true);
}
function updateSession (user $user){
global $pdo, $request;
}
}
?>
class session{
private $id;
private $ip;
private $browser;
private $time;
private $user;
private $salt;
public function __construct (){
global $pdo, $request;
if(!isset ($_COOKIE[SESSION_COOKIE])){
$_COOKIE[SESSION_COOKIE] = '';
}
else{
if(strlen($_COOKIE[SESSION_COOKIE]) != SESSION_ID_LENGHT) {
$this->newSession();
}
}
$pdo = new PDO('mysql:host=localhost;port=3306;dbname=sklep','root','root');
$pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo -> exec ("SET NAMES 'utf8'");
$stmt = $pdo->prepare('SELECT session_id, updated_at, salt_token, user_id, uniq_info, ip, browser FROM sessions WHERE session_id = :sid AND uniq_info = :info AND updated_at > :updated AND IP = :ip AND browser = :browser');
$stmt->bindValue(':sid', $_COOKIE[SESSION_COOKIE], PDO::PARAM_STR);
$stmt->bindValue(':updated', time() - SESSION_COOKIE_EXPIRE, PDO::PARAM_INT);
$stmt->bindValue(':info', $request->getInfo(), PDO::PARAM_STR);
$stmt->bindValue(':ip',$request->getIp(), PDO::PARAM_STR);
$stmt->bindValue(':browser', $request->getBrowser(), PDO::PARAM_STR);
$stmt->execute();
if($session = $stmt-> fetch(PDO::FETCH_ASSOC)){
$stmt->closerCursor();
$this->id = $_COOKIE[SESSION_COOKIE];
$this->salt = $session['salt_token'];
$this->ip = $session['ip'];
$this->browser = $session['browser'];
$this->time = $session['updated_at'];
setcookie(SESSION_COOKIE, $this->id, time() + SESSION_COOKIE_EXPIRE);
$stmt = $pdo->prepare('UPDATE sessions SET updated_at = "time WHERE session_id = :sid');
$stmt->bindValue(':sid', $_COOKIE[SESSION_COOKIE], PDO::PARAM_STR);
$stmt->bindValue(':time',time(), PDO::PARAM_INT);
$stmt->execute();
if($session['user_id'] !=0){
//zalogowani
}
else {
$this->user = new user(true);
}
}
else {
$stmt->closeCursor();
$this->newSession();
}
}
function newSession(){
global $pdo, $request;
$this->id = random_session_id();
$this->salt = random_salt(10);
setcookie(SESSION_COOKIE, $this->id, time() + SESSION_COOKIE_EXPIRE);
$stmt = $pdo->prepare('INSERT INTO sessions (session_id, updated_at, salt_token, user_id, uniq_info, browser, ip) VALUES (:session_id, :time, :salt, :user_id, :info, :browser, :ip)');
$stmt->bindValue(':session_id', $this->id, PDO::PARAM_STR);
$stmt->bindValue(':time',time(), PDO::PARAM_INT);
$stmt->bindValue(':salt', $this->salt, PDO::PARAM_STR);
$stmt->bindValue(':user_id',0,PDO::PARAM_INT);
$stmt->bindValue(':info',$request->getInfo(), PDO::PARAM_STR);
$stmt->bindValue(':browser', $request->getBrowser(),PDO::PARAM_STR);
$stmt->bindValue(':ip', $request->getIp(), PDO::PARAM_STR);
$stmt->execute();
$this->user = new user(true);
}
function updateSession (user $user){
global $pdo, $request;
}
}
?>
a to w functions.php gdzie mam wszystkie funkcje do tego:
Kod
<? php
define('SESSION_COOKIE','cookiesklep');
define('SESSION_ID_LENGHT', 40);
define('SESSION_COOKIE_EXPIRE', 3600);
function random_session_id(){
$utime = time();
$id = random_salt(40-strlen($utime)).$utime;
return $id;
}
function random_salt($len){
return random_text($len);
}
function random_text($len){
$base = 'QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890';
$max = strlen($base)-1;
$rstring ='';
mt_srand((double)microtime()*1000000);
while(strlen($rstring)< $len)
$rstring.=$base[mt_rand(0,$max)];
return $rstring;
}
?>
define('SESSION_COOKIE','cookiesklep');
define('SESSION_ID_LENGHT', 40);
define('SESSION_COOKIE_EXPIRE', 3600);
function random_session_id(){
$utime = time();
$id = random_salt(40-strlen($utime)).$utime;
return $id;
}
function random_salt($len){
return random_text($len);
}
function random_text($len){
$base = 'QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890';
$max = strlen($base)-1;
$rstring ='';
mt_srand((double)microtime()*1000000);
while(strlen($rstring)< $len)
$rstring.=$base[mt_rand(0,$max)];
return $rstring;
}
?>
Czy ktoś mi może pomoc i powiedziec co tutaj jest nie tak?