2011-01-14 31 views
1

即時通訊設計一種表單發佈其數據的方式。php-發佈表單的新方式

例如,如果我們有一個login.php,如果用戶提交,我們通常會將其發送回login.php並進行處理。這意味着如果我們有其他頁面,比如register.php,editprofile.php,我們必須重做這個過程。所以通常我們會做這樣的事在每一頁:

if($_POST["btnsubmit"]) { 
//do smth 
} 

做一個普通postForm.php它接受所有的請求後即時通訊思想,將數據傳遞到相應的庫,並對其進行處理。

這是個好主意嗎?

回答

1

這絕對是一個好主意!你所描述的內容被稱爲controller,從Model View Controller模式。我建議檢查Symfony,這是一個很棒的MVC Web框架。

單個Symfony控制器(名稱爲actions.class.php)可以處理所有帖子並獲取,並加上路由讓你到達那裏。按Symfony慣例,調用http://mywebsite.mydomain.com/home將在主控制器中運行executeHome功能。例如,該頁上的表單可以發佈到/attemptLogin,並且(按慣例),Symfony將在這個相同的控制器文件中運行executeAttemptLogin函數。

+0

您好,tks爲symfony良好的概述。我可以驗證你的方案,試圖登錄在家庭控制器,它會運行executeAttemptLogin。假設你已經在你提到的http://mywebsite.mydomain.com/home上有一個登錄表單。如果您在另一個頁面中有另一個類似的登錄表單,請http://mywebsite.mydomain.com/login,那麼您必須在登錄控制器中有一個重複的tryLogLog代碼,它調用executeAttemptLogin? – nuttynibbles 2011-01-14 08:09:45