Хорошо, поэтому я пытаюсь в основном подключить две базы данных к моему файлу index.php, а затем использовать одну из баз данных для входа пользователя в систему и одну из других баз данных для хранения сеанса для пользователя.
Я не могу понять, как это сделать, это сохранить сеанс пользователя. То, что я хочу сделать, это показать информацию о пользователях, например, такие как электронная почта и имя пользователя, а затем, когда они выходят из системы, я хочу, чтобы эта информация исчезла с сеансом, но в настоящее время, когда пользователь регистрирует информацию, остается старый пользователь, и он не меняется.
Я включил свой код ниже. В моем коде, когда я упоминаю сеанс как его базу данных, потому что я создал базу данных и таблицу, называемую сессией, а другая моя база данных называется базой данных, а таблица называется admin.
Индекс
<?php session_start(); $servername = "localhost"; $username = "root"; $password = "****"; $dbname = "database"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } if($_SERVER["REQUEST_METHOD"] == "POST") { // username and password sent from form $myusername = mysqli_real_escape_string($db,$_POST['username']); $mypassword = mysqli_real_escape_string($db,$_POST['password']); $sql = "SELECT id FROM admin WHERE username = '$myusername' and passcode = '$mypassword'"; $result = mysqli_query($db,$sql); $row = mysqli_fetch_array($result,MYSQLI_ASSOC); $active = $row['active']; $count = mysqli_num_rows($result); // If result matched $myusername and $mypassword, table row must be 1 row if($count == 1) { $session_id = session_id(); $sql = "INSERT INTO session(session_id,username) VALUES('$session_id','$myusername')"; mysqli_query($db,$sql); header("Location: test2.php"); }else { $error = ""; } } ?>
конфиг
<?php define('DB_SERVER', 'localhost'); define('DB_USERNAME', 'root'); define('DB_PASSWORD', '******'); define('DB_DATABASE', 'database'); $db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE); ?>
сессия
<?php include('config.php'); session_start(); $user_check = $_SESSION['myusername']; $ses_sql = mysqli_query($db,"select username from admin where username = '$user_check' "); $row = mysqli_fetch_array($ses_sql,MYSQLI_ASSOC); $login_session = $row['username']; ?>
в<?php include('config.php'); session_start(); $user_check = $_SESSION['myusername']; $ses_sql = mysqli_query($db,"select username from admin where username = '$user_check' "); $row = mysqli_fetch_array($ses_sql,MYSQLI_ASSOC); $login_session = $row['username']; ?>
Test 2 Page (Это страница, на которую я хочу войти, чтобы она отображала информацию о пользователе.)
<?php session_start(); include("config.php"); $servername = "localhost"; $username = "root"; $password = "*****"; $dbname = "database"; $dbname2 = "session"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname, $dbname2); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $session_id = session_id(); $sql = "SELECT id, username, passcode, email, Address, City, Country, Zip, FirstName, LastName, About FROM admin WHERE username = (SELECT username FROM session WHERE session_id = '$session_id')"; $result = $conn->query($sql); $row = $result->fetch_assoc(); ?>
в<?php session_start(); include("config.php"); $servername = "localhost"; $username = "root"; $password = "*****"; $dbname = "database"; $dbname2 = "session"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname, $dbname2); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $session_id = session_id(); $sql = "SELECT id, username, passcode, email, Address, City, Country, Zip, FirstName, LastName, About FROM admin WHERE username = (SELECT username FROM session WHERE session_id = '$session_id')"; $result = $conn->query($sql); $row = $result->fetch_assoc(); ?>