PHP-仅当单击链接时才在会话中放置变量

PHP-仅当单击链接时才在会话中放置变量,php,Php,如果单击链接,如何仅在会话中放置变量 注意:我的链接必须同时提交表单。只需检查表单是否已提交,如果已提交,请设置会话变量 例如: if(isset($_POST) && count($_POST) > 0)) //Assuming your form's action is post, use GET otherwise { $_SESSION['somevar'] = 'somevalue'; } 我假设您正在使用JavaScript使链接提交表单?您可以添加一个值

如果单击链接,如何仅在会话中放置变量


注意:我的链接必须同时提交表单。

只需检查表单是否已提交,如果已提交,请设置会话变量

例如:

if(isset($_POST) && count($_POST) > 0)) //Assuming your form's action is post, use GET otherwise
{
  $_SESSION['somevar'] = 'somevalue';
}

我假设您正在使用JavaScript使链接提交表单?您可以添加一个值为
0
的隐藏输入。当用户单击链接时,请在提交前将输入值更改为
1

您可以在表单内进行隐藏输入

<input type="hidden" id="link_is_clicked" name="link_is_clicked" value="0"/>

然后单击链接时,更改该输入的值

<a href="..." onclick="document.getElementById('link_is_clicked').value = 1" ...

如果您在HTML中使用类似的内容来提交表单

<input type="submit" name="sender" value="Send" />


您可以检查
$\u POST['sender']
变量。它将输出ether
Send
(单击按钮)或nothing(单击链接)。

我的表单可以使用其他按钮提交,我必须测试用户是否使用按钮或链接提交表单,如果使用链接,我必须在会话中输入变量。链接不用于提交表单。使用提交按钮提交表单,而不是链接。链接用于直接指向预先确定的URI。Submit按钮用于将用户输入提交到URI。我忘记了使用javascrit提交表单,如下所示:onclick=“document.forms['form1'].Submit();”我也可以使用一个按钮:)这个问题很一般:你是否有不同的链接/提交按钮,用于发送表单并在单击其中一个按钮时要求提示设置会话变量,或者你只有一个提交表单的链接?是的,我有两个不同的链接/提交按钮,我现在没有会话,“Radu”在我的情况下,解决方案是最好的;)感谢大家:)我喜欢这个解决方案,我测试它;)