2017-08-11 42 views
-1

我有一个PHP文件,其中包含一个表单和另一个定义类的PHP文件。我想在窗体的action属性中添加类方法的路径。我怎么做?如何在php中提交表格

formfile.php

<form action="classfile.php or it's method" method="post"> 
    <input type="text" name="username" placeholder="username"/> 
    <input type="text" name="password" placeholder="password"/> 
    <input type="submit" value="Submit"> 
</form> 

classfile.php

<?php 

class Db_process extends Db_query { 

public function form_submit() {  
    $user = $_POST['username']; 
    $password = $_POST['password']; 
    // further process ... 
} 
+0

其实我不知道,你可以直接做到这一点,你应该申报的对象的实例,然后用你的方法 – MacBooc

+1

* *“为什么减一?” - @mohsin那不是我的downvote ,但是你可能已经得到了,因为你没有说明问题是什么,或者你可能得到的任何错误。编辑:你的'action =“classfile.php或者它的方法”'看起来像你不确定在这里使用什么。 –

+0

想知道为什么那个待编辑的https://stackoverflow.com/review/suggested-edits/17006601想要覆盖我以前的编辑。被接受的一个也感到惊讶。 –

回答

2

使用classfile.php在表单的action属性后用户提交的数据,以classfile.php文件。

<form action="classfile.php" method="post"> 

现在按您的代码,$_POST阵列不在您form_submit()方法的范围内可用。您必须首先创建Db_process类的对象。然后使用该实例调用form_submit()方法并将整个$_POST数组传递到form_submit()。这样,您可以更轻松地处理用户在方法内提交的输入数据。

class Db_process extends Db_query { 
    public function form_submit($postArray) {  
     $user = isset($postArray['username']) && !empty($postArray['username']) ? $postArray['username'] : null; 
     $password = isset($postArray['password']) && !empty($postArray['password']) ? $postArray['password'] : null; 

     // further process 
    } 
} 

$Db_process_obj = new Db_process; 
$Db_process_obj->form_submit($_POST); 
+0

Rajdeep什么是表单中的动作代码 – mohsin

+0

@mohsin检查我的更新 – samayo

+0

@mohsin你不能直接在'action'属性中指定类的方法,正如我在答案中写的那样,它应该是'classfile.php '。 –