2012-06-19 34 views
0

我正在開發一個php網站; 我沒有使用純面向對象的代碼,因爲我只爲我的查詢和函數使用類,但我試圖使用MVC方法爲html提供一些乾淨的視圖代碼。 一切順利,因爲我將「業務邏輯」和視圖分開,邏輯全部放在我的「控制器」文件夾中,而不是將所有變量傳遞給顯示的視圖。用php表格卡住

我被困在形式。

我正在通過上述方法使用的形式變量,但是,表單動作呢?我應該在控制器文件中傳遞$ _POST數據。

如果「動作」 $ _GET檢索,出現在我的管理視圖:

switch ($action) { 
    default: 
     break; 
    case "npr": 
     require "controller/admincontents/inner/newproject.php"; 
     break; 
    case "mpr": 
     require "controller/admincontents/inner/modifyproject.php"; 
     break; 
    case "dpr": 
    require "controller/admincontents/inner/deleteproject.php"; 
    break; 
} 

然後我去我newproject.php這就要求我的形式。

<?php 
require "views/adminviews/forms/insnuovoprogetto.php"; 
?> 

窗體有動作,但動作必須指向哪裏?我想執行確認視圖和成功視圖,但我無法將它們放在同一頁面中。

如果我不使用這種方法,我可以使用isset($ _ POST)函數來打開和關閉窗體,確認和成功。

請你可以重定向我的方式在MVC中使用窗體?

+2

「邏輯全在我的」控制器上「」聽起來不像MVC – PeeHaa

回答

-1

作爲每MVC結構,

  1. 控制器由地址參數($ _GET)
  2. 同決定,查看文件還需要根據控制器是渲染。您可以創建這樣的setLayout OR的setView功能,使您的視圖文件
  3. 就不得不提到您的表單操作手動取決於控制器
-1

這將是更好地使用任何MVC框架,而不是創建自己的代碼。您可以使用php框架,如codeigniter,cakePHP和Zend Framework。首先嚐試瞭解這些框架如何運作,然後開始開發自己的框架。我個人覺得Codeigniter是初學者學習MVC apporach的最佳平臺。

+0

不幸的是,我沒有時間去做。我必須在兩週內完成網站。我回到了「一個文件」和「動作=」的方法,還有其他issets。 –