HTML在不离开页面的情况下调用PHP函数

时间:2015-07-26 15:23:12

标签: php html post

Hello Everyone

我试图通过将它们保存在服务器上的单独文件中来重复使用我的一些PHP脚本。

/public_html/scripts/phpfunctions.php

<?php echo 'This function has been called' ?>

我有我的HTML表单

<form action="scripts/phpfunctions.php" method="post">
    <input type="text" name="user_input">
    <button type="submit">Submit</button>
</form>

现在该函数是一个单独的文件,它将浏览器导航到该文件,而不是在当前文件中执行脚本。

通常我会用AJAX解决这个问题并调用php函数而不是php页面。

按下提交按钮后,是否可以从php脚本中调用php函数(通常在下面的页面中执行它的方式)

<!DOCTYPE html>
<head><title>No Title</title></head>
<?php
    if($_SERVER['REQUEST_METHOD'] == 'POST') {
       echo 'function has been called'
    }
?>
<body>
    <form action="index.php" method="post">
        <input type="text" name="user_input">
        <button type="submit">Submit</button>
    </form>
</body>
</html>

2 个答案:

答案 0 :(得分:3)

  

HTML在提交时调用PHP函数而不离开页面

是的,不要使用dimensions = [32,40; %32x40 box of ones 20, 30; %20x30 box of ones 60, 10; %60x10 box of ones ]; OnesBoxes = ones(dimensions); ,表单会提交到当前页面。

action

要调用PHP函数,请检查它是否已提交,然后调用函数

<form method="POST">
    <!-- your input tags -->
</form>
  

按下提交按钮后,是否可以从php脚本中调用php函数(通常在下面的页面中执行它的方式)?

不,因为提交按钮是HTML元素,当您单击它时,您将需要JavaScript(例如通过Ajax)将其发送到服务器(PHP),然后服务器上的PHP页面可以执行该功能需要的。

您可以使用if(isset($_POST['user_input'])){ myFunction(); //here goes the function call } 之类的内容。单击提交按钮时会调用JavaScript函数<form method="POST" onsubmit="myJSFunction()">,使用此函数可以将所需数据发送到服务器(例如通过ajax)并在服务器上执行PHP函数。

答案 1 :(得分:0)

使用javascipt onclick =&#34; function()&#34;并将表单操作留空。该功能将在客户端执行,但可以修改html

<button type="submit" onclick="action()">Submit</button>

<script>
     function action() {
         //Your code here
     }
</script>