【问题标题】:Calling a PHP function within an <a > tag, anchor tag在 <a> 标记、锚标记中调用 PHP 函数
【发布时间】:2011-02-16 10:54:29
【问题描述】:

是否可以在锚标记中调用 PHP 函数。我有一个名为 logout();

的 PHP 函数

现在我想要类似的东西。

<a href="logout();" >Logout</a>

我知道使用 Javascript 可以,但是使用 PHP 函数的最佳方法是什么?

【问题讨论】:

    标签: php html


    【解决方案1】:

    您没有指定文档的格式。如果您的文档格式是 HTML,您需要加载外部文件,但如果是 .php,您可以通过在变量中设置函数来完成,如下所示:

    <?php $myLogout  = logout();?>
    <a href="<?php echo $myLogout; ?>">Logout</a>
    

    【讨论】:

    • 什么?你甚至读过其他答案吗?这是完全错误的。
    • @dimo414 我多年来一直在使用此代码(主要在 wordpress 网站上),但正如您所说,我可能不正确,如果您能详细说明为什么我的回答是错误的,我会很高兴阅读和学习新东西。
    • OP 询问如何在用户单击链接时调用 PHP 函数,就像使用 JavaScript 一样。正如其他所有发帖者所说,答案是不可能的,因为 PHP 是一种服务器端语言。您当然可以将方法调用的 result 放在 &lt;a href="..."&gt;(或页面上的任何其他位置)中,但这不是问题。
    • 我明白了,我误解了这个问题,完全同意谢谢指出!
    • 此代码将自动处理该功能,而无需单击注销按钮或链接。但根据logout() 函数的工作方式,它可能会产生不同的场景。
    【解决方案2】:

    没有; PHP 是一个server side scripting language,所以像这样的 HTML 是无法访问的。 JavaScript 可以做到这一点,因为它是 client-side scripting language

    由于 PHP 是一种服务器端语言,因此必须从浏览器(客户端)向服务器发送一条消息(以 HTTP 请求的形式),以便执行任何 PHP - 包括您的 PHP 函数 logout

    你有几个选择...

    选项 1

    按照超链接指向执行logout() 函数的脚本...

    HTML

    <a href="theLogOutScript.php">Logout</a>
    

    PHP

    <?php
       // ...
       logout();
       // ...
    ?>
    

    选项 2

    向执行logout() 函数的脚本提交表单...

    HTML

    <form method="POST" action="theLogOutScript.php">
        <input type="submit" value="Logout" />
    </form>
    

    选项 3

    使用XMLHttpRequest/AJAX 请求与服务器通信。 (未提供示例代码)

    【讨论】:

    • Richard JP Le Guen ,在选项1中是否可以只调用PHP文件中的函数而不是调用PHP文件?
    • @MalusJan 否。如果您这样做,它将自动处理该功能,而无需单击注销按钮或链接。
    【解决方案3】:
    <a href ='logout.php'>Logout</a>
    

    注销.php

    <?php
      session_start();
      ...... your code....      
    ?>
    

    【讨论】:

      【解决方案4】:

      不,为了调用 PHP,您必须向服务器发出请求。您将需要链接到另一个 PHP 页面:

      <a href="/logout" >Logout</a>
      

      或者您必须对将执行注销的 PHP 页面(“Web 服务”)进行 JavaScript AJAX 调用。

      【讨论】:

        猜你喜欢
        • 2017-04-12
        • 2020-10-13
        • 1970-01-01
        • 2013-09-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-30
        • 1970-01-01
        相关资源
        最近更新 更多