我有以下代码,但为什么函数执行时没有按下链接或遇到if语句。
if($_SESSION['log'] == true)
{
echo "<a href="'. function() .'"">LINK</a>;
}
else
{
.......
}
答案 0 :(得分:5)
你不能这样称呼它。
您可以做的是将链接href
设置为同一页面,并将一些get params
传递给link
,然后将get params isset
传递给call
function
<a href="same.php?action=callfunction">Click</a>
1}}。
示例强>
if(isset($_GET['action']) && $_GET['action'] == 'callfunction'){
//call function here
}
和调用函数的代码如下。
{{1}}
答案 1 :(得分:1)
为什么函数在没有按下链接的情况下执行
PHP处理文本(通常)。它是以HTML格式处理的浏览器。您正在处理一个字符串,该字符串由一个串联到另一个字符串文字的函数调用的返回值的字符串文字组成(或者如果您的引号没有被破坏并导致语法错误,那么就是这样)。
如果您希望仅在单击链接时触发该功能,请将href
属性设置为包含function()
的脚本的URL。
或符合if语句。
那不会发生。该函数出现在if
语句的正文中,因此除非if
为真,否则它不会触发。
答案 2 :(得分:1)
PHP是一种服务器端语言。您不能通过以这种方式在浏览器中单击的链接在PHP中触发函数调用。
您需要在查询字符串中构造一个包含所有必需参数的URL,并将其传递回PHP脚本,以便PHP对信息执行某些操作
答案 3 :(得分:0)
你可以使用JQuery方法
像 $就({ url:“script.php”, 类型:“POST”, 数据:“id = 1”, 成功:功能(结果){ 警报(结果); } }
在php中
$id = $_POST['id'];
echo "The id is ".id;
你将从$ .ajax成功状态得到php函数输出。