У меня проблемы с моим кодом. Я хочу получить имя пользователя из формы входа на другую страницу в моем проекте, например functions.php
Но я не знаю, как получить это имя пользователя. Мне нужно имя пользователя, чтобы перенести имя пользователя в журнал пользователя. Я не знаю алгоритм, как получить имя пользователя из login_process.php в functions.php.
//Login_process.php
<?php
session_start();
include_once('functions.php');
$username = $_POST['username'];
$password = $_POST['password'];$database = new mysqli('127.0.0.1', 'user', 'user', 'library');
$query = 'SELECT * FROM account WHERE username=? AND password=?';
$statement = $database->prepare($query);
$statement->bind_param('ss', $username, $password);
$statement->execute();
$result_set = $statement->get_result();
if($result_set->num_rows){
$_SESSION['is_logged_in'] = TRUE;
//$_SESSION['user'] = $_POST['username'];
log_visitor(basename(__FILE__));
redirect('index.php');
}else{
redirect('login.php');
}
?>
//functions.php
function log_admin($_page) {
$file_name = __DIR__ . DIRECTORY_SEPARATOR . 'log.txt';
$mode = 'a+';
$log_file = fopen($file_name, $mode);
$time = date('Y/m/d H:i:s');if(filesize($file_name)==0){
fwrite($log_file, 'Date'."\t". 'Time'."\t\t\t". 'User'."\t\t". 'File'."\r\n\r\n");
}
fwrite($log_file, $time."\t".'#'.$_SESSION['is_logged_in'].'#accessing'."\t" .$_page."\r\n");
fclose($log_file);
}
Если вы хотите получить доступ к имени пользователя из другого файла, вы можете сохранить его в суперглобальном файле $ _SESSION.
После $_SESSION['isLoggedIn'] = true;
Вы можете сохранить другую переменную сеанса для имени пользователя.
Вы можете получить доступ к этому в вашем functions.php
файл, используя суперглобальный $ _SESSION после того, как вы добавили session_start();
в файл.
Просто зарегистрируйте имя пользователя также в $_SESSION
переменная. Это суперглобальный, доступный везде. Просто не забудьте позвонить session_start
в сценарии, который использует functions.php
,
Вы, кажется, уже делаете это, когда вы закомментировали эту часть:
if($result_set->num_rows){
$_SESSION['is_logged_in'] = TRUE;
$_SESSION['user'] = $_POST['username'];
log_visitor(basename(__FILE__));
redirect('index.php');
}else{
redirect('login.php');
}
(Последнее замечание: не храните пароли в открытом виде, используйте алгоритм хеширования)