gpt4 book ai didi

php - 如何使用 $_GET ['id' 为用户创建个人资料 URL]

转载 作者:行者123 更新时间:2023-11-29 04:59:11 24 4
gpt4 key购买 nike

如果我正确地执行了以下步骤,有人可以建议我吗:

当用户想在网站上注册时,register.php 会处理他/她的请求。以下是 register.php 中的部分代码:

$sql="INSERT INTO Members (fldFullName, fldEmail, Password, Gender, DOB)
VALUES
('$fname','$email','$pass', '$gender', '$date')";

特别是当我编写上面的代码时,我对 PHP/MySQL 还是有些陌生,现在仍然是。因此,我通过 phpmyadmin 在表中手动创建了上述所有字段。此外,我还通过 phpmyadmin 手动添加了 ID 字段,作为具有自动递增主键 的第一个字段当然。为什么我手动做的,我不记得原因了。但我很确定这可能是我遇到问题的原因。

我想做的是,当用户在网站上注册时,我想为他/她创建一个个人资料 URL。例如,表中的字段可以命名为 ProfileURL,而实际值可以是 http://www.domain.com/profile.php?id=1 ,其中 id 继承自表中的实际 ID。我怎样才能用我上面的代码做到这一点?当我决定通过 phpmyadmin 手动保存所有字段时,我做错了什么吗?注意:我也一直在通过 phpmyadmin 手动创建表、数据库和字段。然而,它的值当然是自动 INSERTed 的。我走在正确的轨道上吗?

谢谢。

最佳答案

如上所述,您不需要将配置文件 URL 保存到数据库中。我猜所有个人资料 URL 都将遵循某种标准形式(即 www.example.com/profile.php?id=1)?

好吧,如果您将所有这些都保存在数据库中,然后您决定将格式更改为类似 www.example.com/profile/1 的格式,您将拥有数据库中有很多过时的数据。您将不得不遍历每条记录并对其进行更新,这对于包含数百万行的数据库表来说可能很危险。

因此,解决方案是有一个带参数的脚本。说 profile.php。如上所述,您将使用 $_GET 数组中的数据检查配置文件:

<?php
if (isset($_GET['id'])) {
$id = mysql_real_escape_string($_GET['id']);
$sql = "SELECT * FROM members WHERE id = '$id' LIMIT 1";
$res = mysql_query($sql);
if (mysql_num_rows() > 0) {
$member = mysql_fetch_object($res);
// handle displaying of member's profile here
}
else {
// member does not exist with ID
}
}
?>

这样,如果您决定更改脚本名称或使用搜索引擎友好的 URL,则无需更改数据库结构。

关于php - 如何使用 $_GET ['id' 为用户创建个人资料 URL],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3406659/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com