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