PHP/MySQL - 如何在没有表单的情况下将 MySQL 数据添加到地址栏中的 url
PHP/MySQL - how to add MySQL data to url in address bar without a form
我在 localhost:8888/documents/index.php
有一个网站。
在这个文件中,我从 MySQL table 中加载了一个 随机 行。我有大约 1000 行,它会随机选择一行,并将该行中的一些数据 return 放入我的页面。例如,如果它选择第 467 行:
name = George
age = 23
key = fe4v6
它会在我的 index.php
上显示:hello, George (23 years old)
。键是每行的随机唯一变量。
我想要的:我希望地址栏中的URL在刷新时自动更新具有键属性.所以我想要:localhost:8888/documents/index.php
?key=fe4v6
。当我刷新页面时,我希望它用 MySQL 数据库中相应行的新键值更新 URL。
我不使用表格。我与我的数据库建立连接,并在随机行上使用查询和 fetch_assoc()
。在我的 index.php
中,我这样显示名称:
<?php echo $row['name'] ?>
我不知道这有多容易或多难,也许有更简单的解决方案。我想听听你的意见,谢谢!
一个快速的解决方案是使用 header 重定向
if(!isset($_GET['UniqueKey'] {
header('location: localhost:8888/documents/index.php?UniqueKey='.$row['name']);
}
代码首先检查是否设置了 UniqueKey,因此它不会无限重定向。
您可以按如下方式使用header
。在您拥有要作为查询字符串参数传入的行值之后添加此代码段。
<?php header('Location: localhost:8888/documents/index.php?key='.$row['key']); ?>
如果您只需要公平地支持recent browsers,您可以使用历史API。
<script>
var path = "<?php echo "localhost:8888/documents/index.php?key=".$row['key']; ?>";
var page_title = "Custom Title";
history.pushState({}, page_title, path);
document.title = page_title;
</script>
一旦此代码在浏览器中 运行(即在页面加载期间),这将更新添加密钥的路径。无需重新加载,因此无需编写任何逻辑来防止分配新的随机行。
我在 localhost:8888/documents/index.php
有一个网站。
在这个文件中,我从 MySQL table 中加载了一个 随机 行。我有大约 1000 行,它会随机选择一行,并将该行中的一些数据 return 放入我的页面。例如,如果它选择第 467 行:
name = George
age = 23
key = fe4v6
它会在我的 index.php
上显示:hello, George (23 years old)
。键是每行的随机唯一变量。
我想要的:我希望地址栏中的URL在刷新时自动更新具有键属性.所以我想要:localhost:8888/documents/index.php
?key=fe4v6
。当我刷新页面时,我希望它用 MySQL 数据库中相应行的新键值更新 URL。
我不使用表格。我与我的数据库建立连接,并在随机行上使用查询和 fetch_assoc()
。在我的 index.php
中,我这样显示名称:
<?php echo $row['name'] ?>
我不知道这有多容易或多难,也许有更简单的解决方案。我想听听你的意见,谢谢!
一个快速的解决方案是使用 header 重定向
if(!isset($_GET['UniqueKey'] {
header('location: localhost:8888/documents/index.php?UniqueKey='.$row['name']);
}
代码首先检查是否设置了 UniqueKey,因此它不会无限重定向。
您可以按如下方式使用header
。在您拥有要作为查询字符串参数传入的行值之后添加此代码段。
<?php header('Location: localhost:8888/documents/index.php?key='.$row['key']); ?>
如果您只需要公平地支持recent browsers,您可以使用历史API。
<script>
var path = "<?php echo "localhost:8888/documents/index.php?key=".$row['key']; ?>";
var page_title = "Custom Title";
history.pushState({}, page_title, path);
document.title = page_title;
</script>
一旦此代码在浏览器中 运行(即在页面加载期间),这将更新添加密钥的路径。无需重新加载,因此无需编写任何逻辑来防止分配新的随机行。