У меня есть страница регистрации и входа, которая использует скрипты php и сохраняет их в данных mysql, но когда каждый участник входит в систему, они выводятся на одну и ту же страницу участников. Как я могу сделать так, чтобы каждый участник был переведен на свою индивидуальную страницу, которую могут видеть только они?
Это страница входа членов
<?PHP
require_once("./include/membersite_config.php");
if(!$fgmembersite->CheckLogin())
{
$fgmembersite->RedirectToURL("login.php");
exit;
}
?>
<!DOCTYPE>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
<title>Home page</title>
<link rel="STYLESHEET" type="text/css" href="style/fg_membersite.css">
</head>
<body>
<div id='fg_membersite_content'>
<h2>Home Page</h2>
Welcome back <?= $fgmembersite->UserFullName(); ?>!
<p><a href='change-pwd.php'>Change password</a></p>
<p><a href='access-controlled.php'>Your products</a></p>
<br><br><br>
<p><a href='logout.php'>Logout</a></p>
</div>
</body>
</html>
Ну, разве это не конкретная страница участника, а просто одна и та же страница с другой, уникальной для пользователя. Я думаю, что вы могли бы начать с выяснения того, как управлять данными участников, которые фактически позволят вам создавать «разные» страницы входа. Вы можете хранить данные в базе данных. Затем у вас есть php-скрипт, который читает данные для любого участника, а затем создает их страницу входа. Так что, по сути, вам все еще нужен только один скрипт, но он использует базу данных.
Вы можете сделать это с помощью сессий. Поэтому, когда пользователь входит в систему. Он получает определенное значение сеанса для своего профиля. Затем этот сеанс можно использовать для получения конкретной информации для его профиля.
Запустите что-то вроде этого при входе в систему:
<?php
// Start the session
session_start();
// Require the database file
require 'database.php';
// Fetch session_check value when submit is pressed (lets say it's "johnny")
$fetch = $database->prepare("SELECT session_check FROM user WHERE username = $username");
$fetch->execute();
$fetch_session = $fetch->fetchAll();
$user_session = $fetch_session[0]['session_check'];
// Set session variable
$_SESSION["user"] = $user_session;
?>
Повторение этого на странице участников даст мне и вывод: johnny.
<?php
// Start the session
session_start();
// Require the database file
require 'database.php';
// Bind the session variable to a new variable (you should skip this)
$user_session = $_SESSION["user"];
// Fetch personal profile from database
$fetchtwo = $database->prepare("SELECT username FROM user WHERE session_check = $user_session");
$fetchtwo->execute();
$fetch_info = $fetchtwo->fetchAll();
// Display the username depending on user
echo $fetch_info[0]['username'];
?>
Теперь предположим, что у вас есть база данных с 5 столбцами. Имя 5-го столбца — session_check. Теперь при входе в систему значение из этого столбца, указанное используемым именем пользователя, будет добавлено в сеанс. Находясь в области участников, этот же сеанс будет использоваться для извлечения другой информации из той же строки. Вот как вы создаете динамический и частный профиль в PHP.
Читайте об этом здесь: