Я начал узнавать о $ _SESSIONs и решил эту проблему. Сеанс имени пользователя - это работа, которую можно вызвать, но другие не могут. Я пытался решить эту проблему около 2 часов с помощью stackoverflow, но я не нашел идеального решения. Вот коды:
логин. php
if (isset($_POST['username'])){
$username = stripslashes($_REQUEST['username']);
$username = mysqli_real_escape_string($con,$username);
$kname = stripslashes($_REQUEST['kname']);
$kname = mysqli_real_escape_string($con,$kname);
$trn_date = stripslashes($_REQUEST['trn_date']);
$trn_date = mysqli_real_escape_string($con,$trn_date);
$password = stripslashes($_REQUEST['password']);
$password = mysqli_real_escape_string($con,$password);
$query = "SELECT * FROM `accounts` WHERE username='$username'
and password='".md5($password)."'";
$result = mysqli_query($con,$query) or die(mysql_error());
$rows = mysqli_num_rows($result);
if($rows==1){
$_SESSION['trn_date'] = $trn_date;
$_SESSION['kname'] = $kname;
$_SESSION['username'] = $username;
$_SESSION['loggedin'] = true;
// Redirect user to index.php
header("Location: index.php");
}
профиль. php
<?php
var_dump($_SESSION);
ini_set('display_errors',1);
error_reporting(E_ALL);
echo "session started" ."<br />";
if (isset($_SESSION['id'])){
echo "user is not logged in";}
echo $_SESSION["username"];
echo $_SESSION["kname"];
echo $_SESSION["trn_date"]; ?>
Выход:
C:\wamp64\www\profile.php:20:
array (size=4)
'trn_date' => string '' (length=0)
'kname' => string '' (length=0)
'username' => string 'admin' (length=5)
'loggedin' => boolean true
session started
admin
- Да, я начал сеанс
- Нет, база данных MySQL не пуста
Спасибо за ответы!