Я работаю над веб-приложением, примерно используя архитектуру MVC, описанную в ссылке ниже
http://www.phpro.org/tutorials/Model-View-Controller-MVC.html
Я создал собственный класс для входа в систему, как описано ниже. Пользовательский объект инициализируется в index.php. Все запросы направляются через index.php с помощью mod_rewrite.
Как я могу заставить пользователя сохраняться?
<?php
class user
{
//connection setup
private $username = '';
private $password = '';
private $addressnumber = '';
public $connection = false;
private $host = '*LOCAL';
private $options = array(
'i5_naming' => DB2_I5_NAMING_ON,
'i5_libl' => 'CLTSEC CLTPAY CLTDTA CLTCOM QRY_FILES'
);
public function login($username,$password) {
//check login variables not null
if (isset($username) && isset($password)) {
//get form parameters
$this->username= $username;
$this->password= $password;
$this->connection = db2_pconnect($this->host,$this->username,$this->password,$this->options);
if (!$this->connection) {
die('Could not connect');
return false;
}
else {
//get addressnumber from username
$sql='select F0092.ULAN8 from F0092 where ULUSER=\''.$this->username.'\'';
$stmt= db2_prepare($this->connection,$sql);
$result= db2_execute($stmt);
while ($row = db2_fetch_assoc($stmt)) {
$this->addressnumber = $row['ULAN8'];
}
return true;
}
}
}
//disconnect from database
function logout() {
db2_close($this->connection);
return true;
}
}
?>
Проблема заключалась в том, что объектные переменные не сохранялись на разных страницах. Мне нужен был способ сделать это.
Я изменил класс, чтобы использовать куки для поддержания аутентификации между страницами во время __construct. При успешной аутентификации свойства загружаются из базы данных, а не сохраняются в сеансе.
Других решений пока нет …