如何通过单击按钮调用PHP函数

如何通过单击按钮调用PHP函数

我创建了一个名为functioncalling.php的页面,其中包含两个按钮:SubmitInsert。作为PHP的初学者,我想测试单击按钮时执行的功能。我希望输出出现在同一页面上。所以我创建了两个函数,每个按钮一个。functioncalling.php的源代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>
    <body>
        <form action="functioncalling.php">
            <input type="text" name="txt" />
            <input type="submit" name="insert" value="insert" onclick="insert()" />
            <input type="submit" name="select" value="select" onclick="select()" />
        </form>

        <?php            function select(){
               echo "The select function is called.";
            }
            function insert(){
               echo "The insert function is called.";
            }
        ?>

这里的问题是在点击任何按钮后我没有得到任何输出。

我到底哪里错了?


叮当猫咪
浏览 1648回答 3
3回答

12345678_0001

按钮单击是客户端,而PHP是在服务器端执行,但您可以使用Ajax实现此目的:$('.button').click(function()&nbsp;{ &nbsp;&nbsp;$.ajax({ &nbsp;&nbsp;&nbsp;&nbsp;type:&nbsp;"POST", &nbsp;&nbsp;&nbsp;&nbsp;url:&nbsp;"some.php", &nbsp;&nbsp;&nbsp;&nbsp;data:&nbsp;{&nbsp;name:&nbsp;"John"&nbsp;} &nbsp;&nbsp;}).done(function(&nbsp;msg&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;alert(&nbsp;"Data&nbsp;Saved:&nbsp;"&nbsp;+&nbsp;msg&nbsp;); &nbsp;&nbsp;});});在您的PHP文件中:<?php&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;abc($name){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Your&nbsp;code&nbsp;here &nbsp;&nbsp;&nbsp;&nbsp;}?>

慕丝7291255

是的,你需要Ajax。有关详细信息,请参阅以下代码。&nbsp;像这样更改你的标记<input&nbsp;type="submit"&nbsp;class="button"&nbsp;name="insert"&nbsp;value="insert"&nbsp;/><input&nbsp;type="submit"&nbsp;class="button"&nbsp;name="select"&nbsp;value="select"&nbsp;/>&nbsp;jQuery的:$(document).ready(function(){ &nbsp;&nbsp;&nbsp;&nbsp;$('.button').click(function(){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;clickBtnValue&nbsp;=&nbsp;$(this).val(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;ajaxurl&nbsp;=&nbsp;'ajax.php', &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data&nbsp;=&nbsp;&nbsp;{'action':&nbsp;clickBtnValue}; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$.post(ajaxurl,&nbsp;data,&nbsp;function&nbsp;(response)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Response&nbsp;div&nbsp;goes&nbsp;here. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert("action&nbsp;performed&nbsp;successfully"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}); &nbsp;&nbsp;&nbsp;&nbsp;});});在ajax.php中<?php&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(isset($_POST['action']))&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch&nbsp;($_POST['action'])&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;'insert': &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;insert(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;'select': &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;select()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"The&nbsp;select&nbsp;function&nbsp;is&nbsp;called."; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit; &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;insert()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"The&nbsp;insert&nbsp;function&nbsp;is&nbsp;called."; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit; &nbsp;&nbsp;&nbsp;&nbsp;}?>

临摹微笑

您应该使按钮调用相同的页面,并在PHP部分中检查按钮是否被按下:HTML:<form&nbsp;action="theSamePage.php"&nbsp;method="post"> &nbsp;&nbsp;&nbsp;&nbsp;<input&nbsp;type="submit"&nbsp;name="someAction"&nbsp;value="GO"&nbsp;/></form>PHP:<?php&nbsp;&nbsp;&nbsp;&nbsp;if($_SERVER['REQUEST_METHOD']&nbsp;==&nbsp;"POST"&nbsp;and&nbsp;isset($_POST['someAction'])) &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;func(); &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;func() &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;do&nbsp;stuff&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;}?>
打开App,查看更多内容
随时随地看视频慕课网APP