我用html和jquery制作了我的搜索表单。当我在搜索字段中输入名称,然后单击搜索时,它检查了我指定的MySQL数据库,并在搜索字段中显示包含该文本的任何名称。网址是localhost / players.html,因为我现在在apache上测试它,它用于游戏服务器播放器统计页面。
我的结果显示了我想要的结果,在表格中显示了某些信息。
当点击结果时,我想在新页面上显示玩家统计数据,但我不想为每个注册的玩家创建和存储数千个页面。所以我想要它创建一个虚拟页面,或类似的东西。点击链接的地方,URL就像/players/PlayerName.html或者如果不可能,也许是player.php?action = getstats(PlayerName)我真的不确定如何做到这一点或者是否可能
我希望它能够工作,这样如果我要输入www.myurl.co.uk/players/PlayerName.html它会显示该播放器的统计页面,而不会显示html页面。
答案 0 :(得分:2)
这样做
创建一个名为“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模块来获取友情网址,例如/ player / stat / nick-name
但如果您的系统不支持此功能,那就更有用了。
答案 1 :(得分:1)
你需要使用PHP
例如,您将每个结果发送到player.php?id = PLAYER_ID,在该页面上,您需要使用请求的ID从数据库中获取该播放器信息
检查以下链接,以便于您使用
答案 2 :(得分:0)
这是使用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。请参阅:How to enable mod_rewrite for Apache 2.2或使用Google了解如何执行此操作。