用户注册后创建自定义用户个人资料页面?
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
替换为您的数据库变量!
以上是关于用户注册后创建自定义用户个人资料页面?的主要内容,如果未能解决你的问题,请参考以下文章