php - 设置对 PHP 函数的调用,将 POST 变量作为参数,作为 HTML 表单操作

标签 php html database forms function

我目前有一个 HTML 文件,其中有一个表单,当提交时 POST 表单并调用一个简单的简短 PHP 文件,该文件使用 POSTed 变量作为参数调用另一个 PHP 文件中的函数。这些文件都在下面。我想知道我是否可以以某种方式跳过中间人 PHP 文件,并简单地从我的 HTML 文件中调用该函数。 理想情况下,这将设置对函数的调用:

insert_PE(new PE($_POST[Date],$_POST[Participant],$_POST[Time],$_POST[Result],$_POST[Notes]));

作为表单 Action 。有谁知道如何/是否可以实现?

HTML:

<FORM ID="FORM1" METHOD="POST" AUTOCOMPLETE="off" ACTION = "writeToDL.php">
    <INPUT TYPE="hidden" NAME="Date" STYLE="WIDTH:0px; " MAXLENGTH="8" TITLE="Enter Date" Value="<?php $dt = date('Y-m-d'); echo $dt ?>"/>
    <INPUT TYPE="text" NAME="Time" STYLE="WIDTH:70px; " MAXLENGTH="7" ONCHANGE="validateTime();" />
    <SELECT NAME = "Result">
        <OPTION VALUE = OK></OPTION>
        <OPTION VALUE = C>C</OPTION>
    </SELECT>
    <SELECT NAME = "Participant" STYLE = "WIDTH: 187">
        <OPTION SELECTED VALUE = "">Select...</OPTION>
            <?PHP
                $allParticipants = getall_participants();
                foreach($allParticipants as &$value) {
                    $val = $value->get_id();
                    echo "<OPTION VALUE='",$val,"'>";
                    echo $value->get_first_name()," ",$value->get_last_name();
                    echo "</OPTION>";
                }
            ?>
    </SELECT>
    <TEXTAREA NAME='Notes' COLS='28' ROWS='5'></TEXTAREA>
    <INPUT TYPE="image" SRC = "images/submit.png" VALUE="Submit Participant"/>
</FORM>

PHP 文件:

<?php
    include_once('database/PE.php');
    insert_PE(new PE($_POST[Date],$_POST[Participant],$_POST[Time],$_POST[Result],$_POST[Notes]));
?>

最佳答案

你可以这样做:

<?php

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    include_once('database/PE.php');
    insert_PE(new PE($_POST['Date'],$_POST['Participant'],$_POST['Time'],$_POST['Result'],$_POST['Notes']));
} ?>
<html>
... rest of your page here ...
</html>

这样,PHP 代码只有在实际执行 POST 时才会触发。有些人会建议检查是否存在表单字段,但这是不可靠的 - 您可能会在途中更改表单而忘记更新 if()。检查请求方法保证 100% 可靠。

关于php - 设置对 PHP 函数的调用,将 POST 变量作为参数,作为 HTML 表单操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10065101/

相关文章:

php - 即使启用了 GD 支持,也无法在本地主机上显示图形

Python Flask 从表单获取数据属性

c# - 将 MySQL 密码存储为哈希值

php - 查找数组中数值最小的节点

php - CakePHP 中 $this-> 的含义

html - 使用 CSS 圆 Angular 将页眉扩展到页面顶部

java - TestNG - WebDriver - Web 应用程序测试 - 独立测试

java - hibernate 批处理 : Stateless Session VS Regular Session Native Query

php - 如何使用 Vuetables VUE.JS 在每一行添加 HREF 链接

javascript - 为什么我的弹出窗口在 IE 或 Mozilla Firefox 中不起作用?