我在单个index.php页面上有一个链接结构,例如index.php?lang = eng& theme = dark& page = shop。我确实需要从链接中获取GET变量,以便为每个访问过的页面提供适当的内容和配置。但是我只想显示页面的名称,例如default.php或我,如果可能的话,我想显示shop.php,如果page = shop和chat.php,如果page = chat。任何人都可以向我推荐我应该使用的技术吗?
答案 0 :(得分:0)
如果你想这样做,你应该使用POST而不是GET,因为它不会在URL栏中显示它的变量。
在PHP中,您可以使用$_POST['var']
而不是$_GET['var']
找到POST变量的值,但如果它们不会显示在URL中,您将如何使用它们首先打开它们?< / p>
答案是使用一个看似普通链接的表单,其中的元素作为PHP POST内容的变量。这是一个例子:
...
<form name="openPage2" method="post" action="path/to/page2.php">
<input type="hidden" name="lang" value="en" />
<input type="submit" value="Page 2"/>
</form>
...
现在,这样做真的很简单。假设包含此表单的当前页面为mywebsite.com/index.php
。有一个标记为第2页的按钮,表单中的其他所有内容都被隐藏。当您点击第2页时,浏览器将转到mywebsite.com/path/to/page2.php
,网址栏中没有任何可见变量。但是,当您单击第2页时,我们将隐藏的输入放入将作为POST提交的表单中。意思,在第2页上,您可以执行此操作以获取语言:
...
<?php
$lang = $_POST['lang'];
setLang($lang);
?>
...
和$ lang现在为"en"
,因为这是表单值。您可以根据需要添加任意数量的隐藏输入,并且它们都不会显示在URL栏中,因为它们是POST,而不是GET。
希望有所帮助!