当调用Javascript函数 - show_picture()
时 - 来自sprintf()
它很愉快(代码如下):
$user_row = sprintf("<a href='javascript:show_picture(%d);'> " .
"<img src='images/missing_user.png' width='15' /></a> ", $user['user_id']);
当调用php函数 - show_user_func()
时 - 来自sprintf()
它不起作用。错误消息是:
The requested URL /show_user_func(168); was not found on this server.
代码是:
sprintf("<a href='show_user_func(%d);'>%s %s</a> ",
$user['user_id'], $user['first_name'], $user['last_name']);
可能有一个简单的解释,但它目前逃脱了我。有没有人有任何想法?
答案 0 :(得分:3)
PHP函数不是URL。你不能只调用一个像URL一样的函数。您可以创建一个调用该函数的页面,使用您在URL中提供的任何数据(可能在查询字符串中)。
为了解释为什么让用户将PHP函数作为URL调用 READY BAD IDEA TM ,请考虑一下(谢天谢地) - 工作)超链接:
<a href="array_map('unlink', './');">...</a>
用户可以轻松添加或直接访问网址http://example.com/array_map('unlink', './')
。如果您想要做的事情是可能的,上面的内容将会破坏您的网站。
编辑:如果您只是想输出show_user_func($user['user_id'])
的值并将其用作链接,请执行以下操作:
sprintf("<a href='" . show_user_func($user['user_id']) . ";'>%s %s</a> ",
$user['first_name'], $user['last_name']);
我不完全确定你为什么这样做,因为你没有给我们太多的东西继续,但似乎它可能是你正在寻找的。 p>
编辑2:根据评论,您希望在用户点击页面上的链接时运行PHP功能。这是可能的,但不是你这样做的方式。你需要使用AJAX。我建议在Google上搜索“AJAX”并阅读一些教程以便开始使用。
答案 1 :(得分:0)
尝试使用like:
<a href="show_user_func.php">Username</a>//your code resides in show_user_func.php
PHP是一种服务器端语言,因此HTML就像您一样无法访问它。 JavaScript可以做到这一点,因为它是一种客户端脚本语言。
查看更相似的帖子:Calling a PHP function within an <a > tag, anchor tag
答案 2 :(得分:0)
$user_row = sprintf("<a href='" . show_user_func(%d) . "'>%s %s</a> ",