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

时间:2016-06-11 08:03:16

标签: php mysqli

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

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

2 个答案:

答案 0 :(得分:0)

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

header('Location: '.$url);

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

答案 1 :(得分:0)

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

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替换为您的数据库变量!