当我单击html超链接文本时,我想更新一个变量。 想知道我该如何处理。
我有两个单独的页面选项,a和b。
我希望收到“您正在使用A,请点击此处更改为B” 如果他们单击,则全局变量$ option将更新为== B。
是否可以不使用Java脚本?
答案 0 :(得分:2)
是的。
正如某些人在评论中提到的,您可以做的一件事是使用GET
方法,该方法本质上是通过URL字符串解析变量。
示例:
<a href="example_page_a.php?id=1">I'm a link parsing a variable!</a>
现在,通过单击该链接,您将在URL中看到以下内容:“ example_page_a.php?id = 1” 。 id=1
部分实际上是一个变量,您可以通过GET
方法来获取变量,如下所示:
<?php
$my_get_variable=$_GET['id']; // This variable will be equal to 1
?>
然后,您可以在“ example_page_a.php” 文件中使用此变量执行任何操作。
即$my_get_variable=$my_get_variable+1;
$my_get_variable
现在等于2。
然后,下面的链接将使用相同的方法再次将新更改的变量解析到另一个页面,并且您必须以与先前所示相同的方式检索变量。
<a href="example_page_b.php?id=<?php echo $my_get_variable; ?>">I'm a link parsing the altered variable!</a>
即$my_get_variable=$_GET['id']; // This is the newly altered variable!
。
请注意,您不必一定要使用2个不同的页面,但是可以保持链接到同一页面,并且逻辑仍然适用。
另一种方法是通过 sessions 。
示例:
$_SESSION["my_variable"]=1;
您现在有了一个会话变量,只要您记得在对会话变量进行任何操作之前记得先进行session_start();
,就可以随时在任何页面上对其进行访问。
因此,假设您像我之前所做的那样,在名为“ example_page_a.php” 的文件中将$_SESSION["my_variable"];
设置为等于1。现在,您将能够在另一个名为“ example_page_b.php” 的文件中访问此变量,并将该会话变量更改为所需的任何内容。
$_SESSION["my_variable"]=$_SESSION["my_variable"]+1;
。现在,您的会话变量将等于2而不是1,并且只要您记得在进行与 有关的任何操作之前先执行session_start();
,它将保存到任何页面您的会话。
请注意,您不必使用数字,也不必使用一种数据类型。您可以从字面上用数字制作变量,用字符串覆盖它们,反之亦然,等等。完全由您决定如何使用这些变量。
现在,您在使用它的问题上还不是很明确,但是我相信答案很明确。您可以围绕变量,应在何时何地更改变量等来构造自己的逻辑。
最后一点。 GET
方法将在URL中显示变量,因此请确保这些变量不会被用户忽略。但是,会话将不会显示在任何地方,除非您选择将它们echo
退出或类似的操作,这意味着它们非常适合需要随时在任何页面上轻松访问的变量的情况,同时仍然不在用户视野之内。
我建议您阅读不同的变量解析方法,例如GET
,POST
和SESSION
。