2017-08-11 40 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 '。 –