使用PHP的不同用户的不同页面

时间:2015-03-28 23:00:30

标签: php mysql

我想知道如何让用户'McKenzie'看到他自己可以操作的独特页面,并且'Wendy'在登录时看到自己的页面。

我已经创建了登录页面和页面,将它们连接到MySQL数据库,给它们ID等等,所以我可以完成所有这些,我知道会话等;)

有人可以告诉我如何做到这一点,我是否必须为每个单独的用户制作不同的页面?

我正在考虑一些事情

注册页面:

将数据存储在数据库中,获取用户ID并使用“?pageid = 1”然后将用户带到基于id的页面。

但我不确定如何在不手动制作每个页面的情况下制作每个页面,因为您可以想象为每个单独的用户创建一个新页面会很痛苦......并且非常低效。有任何想法吗?

请给我一个代码示例,非常感谢!提前谢谢大家!

2 个答案:

答案 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,然后检查用户是否已登录!

Full code for user.php

Full code for user.php w/ private page