繁体   English   中英

如何在不存在的页面上显示信息?

[英]How can I display information on a page that doesn't physically exist?

我已经用html和jquery制作了搜索表单。 当我在搜索字段中输入名称,然后单击搜索时,它检查了我指定的MySQL数据库,并在搜索字段中显示了包含文本的所有名称。 该网址为localhost / players.html,因为我目前正在apache上对其进行测试,并且该网址适用于游戏服务器玩家统计信息页面。

我的结果在表格中显示了我想要它们的方式,表格中显示了某些信息。

单击结果后,我想在新页面上显示玩家统计信息,但是我不想为每个注册的玩家创建和存储数千个页面。 所以我希望它创建一个虚拟页面或类似的东西。 单击链接的位置,URL将类似于/players/PlayerName.html,或者如果不可能,则可能是players.php?action = getstats(PlayerName),我不太确定如何执行此操作,或者是否可能。

我希望它能正常工作,以便如果我输入www.myurl.co.uk/players/PlayerName.html,它将显示该播放器的统计信息页面,而实际上没有html页面。

像这样做

创建一个名为“ player.php”的页面,此页面将接收参数UserID。

因此,在高分表中,为每个玩家添加链接,以使用参数UserID指向此页面

<a href="/player.php?player_id=xxxxx">Player</a>

单击后将转到player.php,您可以通过全局$ _GET变量获取参数,如下所示

$player_id = $_GET["player_id"]

因此,在您的页面中,只需为该用户选择数据

$sql = "select * from player_stat where UserID = " . $player_id;

只需记住将mysql_escape $ player_id添加到查询之前,以避免SQL注入

这是简单的方法,您也可以使用URL重写apache模块来执行此操作,以获取友好的URL,例如/ player / stat / nick-name

但是,如果您的系统不支持此功能,则需要进行更多工作。

您需要为此使用PHP

例如,您将每个结果发送到player.php?id = PLAYER_ID,并且在该页面上,您需要使用请求的ID从数据库获取该玩家信息

检查以下链接,使您更轻松

http://www.w3schools.com/php/php_mysql_intro.asp

http://www.w3schools.com/php/php_get.asp

这是使用mod_rewrite完成的,mod_rewrite是用于根据模式重写URL的模块。 您通常将这些模式输入到名为“ .htaccess”的文件中,并将其放入Web根目录中。

例如:

RewriteEngine on
RewriteRule ^players/([^/]+).html.zip /search.php?playername=$1 [L]

如果转到“ /players/MikeRoberts.html”,则您的PHP脚本“ search.php”将获得值“ MikeRoberts”(您可以使用$ _GET ['playername']进行访问)。

请记住:您可能需要在服务器上启用mod_rewrite。 请参阅: 如何为Apache 2.2启用mod_rewrite或使用Google来了解如何做到这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM