【问题标题】:how to pass parameter to php function and call in html如何将参数传递给php函数并在html中调用
【发布时间】:2015-01-16 05:13:57
【问题描述】:

我在php中有这个功能;一个单独的文件,function dbRowInsert($table_name, $form_data)

我将它包含在我的注册发生的 php 文件中。我的问题是如何在表单提交上调用函数并将参数传递给dbRowInsert 函数。这是我表单的数据:

$form_data = array(
    'username' => $username,
    'password' => $password,
    'title' => $title,
    'first_name' => $first_name,
    'middle_name' => $middle_name,
    'last_name' => $last_name,
    'position' => $position,
    'residence' => $residence,
    'monthly_salary' => $monthly_salary,
);  

我试过这个方法:

<form id="signup_form" class="form-horizontal" role="form" action="<?php dbRowInsert(tblperson, $form_data) ?>">  
...
</form>

【问题讨论】:

  • POST数据时调用isset().

标签: php html forms


【解决方案1】:

PHP 不像 JavaScript 那样编写;必须将 POST 请求发送到 PHP 页面进行处理(除非您使用 AJAX),就像这样

<form method="POST" action="process.php">
....
</form>

在 process.php 中,您必须提取出要发送给函数的字段。

$username = $_POST['username'];
doSomethingWIthUserName($username);

或者在您的情况下,因为您要发送整个数组:

dbRowInsert("tblHelpers", $_POST);

这是处理 POST 请求的detailed tutorial

【讨论】:

  • 那么,我的$form_data 应该在我的process.php 上?
  • 如何将参数$form_data 传递给我的php 函数:dbRowInsert
【解决方案2】:

在包含函数php文件之后,将所有内容放在注册表单所在的同一文件中

<?php
//include file code start
function dbRowInsert($tblperson, $form_data){
    echo "<pre>".print_r($form_data,true)."</pre>";
}
//include file code end

if(isset($_POST['submit'])){
    $form_data = array();
    $form_data['username'] = $_POST['username'];
    $form_data['password'] = $_POST['password'];
    $tblperson = "person";
    //do the action
    dbRowInsert($tblperson, $form_data);
}
?>
<form id="signup_form" method="post" class="form-horizontal" role="form" action="">  
    <input type="text" name="username" />
    <input type="text" name="password" />   
    <input type="submit" name="submit" /> 
</form>

【讨论】:

  • 在你的答案中添加一些解释是合适的
  • 如何将我的$form_data 传递给函数dbRowInsert
  • $_POST 将包含您的表单数据
  • 或者如果你想要相同的:$form_data = array( 'username' => $username, 'password' => $password, 'title' => $title, 'first_name' => $ first_name, 'middle_name' => $middle_name, 'last_name' => $last_name, 'position' => $position, 'residence' => $residence, 'monthly_salary' => $monthly_salary, );然后使用 $_POST 构建它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-07
  • 2020-05-06
  • 2011-11-16
  • 1970-01-01
相关资源
最近更新 更多