我为用户创建了一个小型登录系统,他们可以登录并在account_setting页面上更改用户信息。
但是因为我对php很新,我想知道如何为每个用户提供自己的页面?一个公开的页面。
Ex,用户“Steven”有user_id=17
。
如何为该用户创建页面,以便在那里显示他的信息。
像website.com/user=17
...他的信息。
此外,如果页面可以作为模板,只需要根据用户的不同信息/网址。
我不是要求任何人为我写这个,一个好教程的链接会工作得很好:) 但请,关于这个话题没有5年的帖子。
答案 0 :(得分:0)
您需要 userprofile.php?userid = 17 并使用 $ _ GET ['userid'] 根据该用户绘制信息。 userprofile.php上的HTML应该相同,只有数据会根据用户ID而改变。如果未设置userid,则显示错误消息或其他内容
答案 1 :(得分:0)
一般说:
if (!empty($_GET['user']) && is_numeric($_GET['user'])){
//Find him in database
if (user_found($_GET['user'])){
include "left_column.php" ;
include "user_info.php" ;
} else {
echo "Page is not found" ; //or set header error 404
}
} else {
include "news_column.php" ;
}
答案 2 :(得分:0)
website.com/index.php?user=17
<?php
require_once 'db/connect.php';
//Pull in 'user' from the query string.
$user = isset($_GET['user']) ? trim($_GET['user']) : null;
//Try to pull that user's info from the database.
$stmt = $dbh->prepare("SELECT * FROM user WHERE user_id = :user_id");
$stmt->bindParam(':user_id', $user);
$stmt->execute();
$user= $stmt->fetch(PDO::FETCH_ASSOC);
if(!is_array($user)){
//User not found. Throw 404 or redirect.
header('HTTP/1.0 404 Not Found');
exit;
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><?php echo htmlentities($user['name'], ENT_QUOTES, "utf-8"); ?></title>
</head>
<body>
<h1><?php echo htmlentities($user['name'], ENT_QUOTES, "utf-8"); ?></h1>
<p>
<?php echo nl2br(htmlentities($user['bio'], ENT_QUOTES, "utf-8")); ?>
</p>
</body>
</html>
答案 3 :(得分:-1)
我将假设您将用户信息存储在数据库中。为了争论,我们会说它是一个mysql数据库。您需要做的是捕获用户标识,然后从数据库中只读取该列。
如果您的网址是website.com/user/view.php?id=17,则您的用户变量将位于$ _GET ['id']
这样的事情:
$id = mysqli_real_escape_string($_GET['id']);
$results = mysqli->query("select * from users where id = '$id'");
$results = $results->fetch_assoc();
...将为用户提供信息;然后你只需要构建一个页面来显示它。