how to pass parameter to php function and call in

2019-09-05 21:32发布

问题:

I have this function in php; a separate file, function dbRowInsert($table_name, $form_data).

I included it in my php file in which registration happens. My problem is how do I call the function on form submit and pass a parameter to the dbRowInsert function. This is the data of my form:

$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,
);  

I tried this method:

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

回答1:

Put all that in the same file where register form is after including function php file

<?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>


回答2:

PHP is not written like JavaScript; a POST request must be sent to a PHP page for processing (unless you're using AJAX), like so

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

In process.php, you have to extract out the fields you want to send to the function.

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

Or in you case, since you are sending the entire array:

dbRowInsert("tblHelpers", $_POST);

Here's a detailed tutorial on handling POST requests.



标签: php html forms