用户注册后创建自定义用户个人资料页面?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户注册后创建自定义用户个人资料页面?相关的知识,希望对你有一定的参考价值。

我有一个注册表,用户输入他们的姓名,电子邮件,用户名,密码等。所有这些信息都被收集并存储在我的数据库中。用户点击提交后,我希望将其重定向到他们的个人资料页面。他们的个人资料上的网址看起来像这个example.php?id = 33,但我该怎么做呢?

如何为他们创建实际的动态页面?我知道我只需要创建一个PHP页面和一个样式表,这将适用于所有页面,但是如何创建一个系统,在注册后,用户被定向到他们的个人资料?我正在使用PHP和mysqli。如果你把我链接到任何教程或者你可以分享你的知识,我会非常高兴,因为我到处寻找并找不到我想要的东西。

答案

执行重定向的一种方法是使用php标头函数将Location标头发送到浏览器:

header('Location: '.$url);

$ url将成为您的用户个人资料页面。这仅在您管理注册请求后未发送先前输出时才有效。

另一答案

首先,在用户注册后将用户重定向到他们的个人资料页面:

header('Location: page.php?id='.$ID);

然后在page.php

$result = mysqli_query($con, "SELECT * FROM users WHERE ID='".$_GET['id']"'");
$row = mysqli_fetch_array($result);
echo $row['name'];
echo $row['email'];

请注意,上面的代码容易受到SQL Injection Attacks的攻击,这可能会导致数据库中的信息被更改或删除。

我怎么能prevent SQL Injection Attacks?通过使用PDO和预先准备的语句:

$stmt = $con->prepare("SELECT * FROM users WHERE ID=:id");
$stmt->bindParam(':id', $_GET['id']);
$stmt->execute();
$row = $stmt->fetch();
echo $row['name'];
echo $row['email');

确保将$con替换为您的数据库变量!

以上是关于用户注册后创建自定义用户个人资料页面?的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress 登录表单验证

Drupal 7:视图 3:仅显示当前用户的个人资料信息

Django为用户配置文件创建自定义URL

带有圆形图像视图的自定义圆形 UIButton

在 Rails 5 应用程序中使用 ActiveAdmin 创建用户个人资料页面

自定义帖子类型 slug 重复