我想知道如何让用户'McKenzie'看到他自己可以操作的独特页面,并且'Wendy'在登录时看到自己的页面。
我已经创建了登录页面和页面,将它们连接到MySQL数据库,给它们ID等等,所以我可以完成所有这些,我知道会话等;)
有人可以告诉我如何做到这一点,我是否必须为每个单独的用户制作不同的页面?
我正在考虑一些事情注册页面:
将数据存储在数据库中,获取用户ID并使用“?pageid = 1”然后将用户带到基于id的页面。
但我不确定如何在不手动制作每个页面的情况下制作每个页面,因为您可以想象为每个单独的用户创建一个新页面会很痛苦......并且非常低效。有任何想法吗?
请给我一个代码示例,非常感谢!提前谢谢大家!
答案 0 :(得分:0)
以下是您可以做的一个示例:
<?php
if (!isset($_SESSION['user_id'])) && (!isset($_SESSION['user_name'])) {
echo '<p class="login"><a href="login.php">log in</a></p>';
//exit();
}
else {
$user_name = $_SESSION['user_name'];
echo('<p class="login"><a href="mypage.php">' . $user_name .'\'s page</a> | <a href="logout.php">Log out</a></p>');
}
?>
您可以添加更多内容,但这只是为了生成有关他们是否已登录的信息。如果设置了$_SESSION['user_id']
,则可以根据该信息生成代码。 (注意,您需要创建$user_name
或任何变量,可能来自SQL查询)
答案 1 :(得分:0)
我的回答是假设您想要创建完全可自定义的用户数据,并增加了在用户之间共享页面的可能性(如个人资料页面)。通过创建一个通过$_GET
或$_POST
数据搜索MySQL表的php页面,您可以做到这一点。
我将这个答案扩展到几个步骤......
SQL表
你需要的第一件事就是你的MySQL设置,假设你已经完成了一个基本的设置,但我会继续创建一个简单的设置。
基本设置将是登录数据和自定义用户数据,您可以查看我的设置here。
php用户页面
最简单的方法是从$_GET
数据中获取请求的用户。所以要做到这一点,我们只需获取数据并请求用户信息:
$requested_user = $_GET['id'];
$db = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', 'root', 'MyPassword');
try {
$stmt = $db->prepare("SELECT * FROM c_userpage WHERE id = ?");
$stmt->execute(array($requested_user));
$mydata = $stmt->fetch();
} catch (Exception $e) {
//error with mysql
die();
}
现在我们可以简单地将用户数据添加到页面中!
echo "Hello! my name is {$mydata['username']}!\n";
echo "About Me: {$mydata['custom_data']}";
将用户发送到他们的网页
我们只需使用www.page.com/user.php?id=2
这将为id=2
<强>附加功能强>
如果您想将用户页面设为私有,您只需使用$_POST
或$_SESSION
请求ID,然后检查用户是否已登录!