2013-08-02 30 views
0

试图只用PHP(无框架)来构建我的第一个MVC的CRUD应用程序。我已经写出了我的更新模型,但是当我点击我的提交按钮时,我没有收到任何更新。PHP MVC的CRUD问题

的常量__construct都不错 - 他们的工作找到我读模式。

这里是我的模型:

<?php 
class ModifyModel{ 

    private $db; 

    public function __construct($dsn, $user, $pass){ 

     try { 
     $this->db = new \PDO($dsn, $user, $pass); 

     } 
     catch (\PDOException $e) { 
      echo"Couldn't access"; 
     } 
    } //__construct 

    public function modUser(){ 

     $first = mysql_real_escape_string($_POST["firstName"]); 
     $last = mysql_real_escape_string($_POST["lastName"]); 
     $handle = mysql_real_escape_string($_POST["handle"]); 
     $email = mysql_real_escape_string($_POST["email"]); 
     $unique = ($_POST["uniqueId"]); 

     $statement = $this->db->prepare(" 
     UPDATE admin 
     SET firstName='$first', lastName='$last', handle='$handle', email='$email' 
     WHERE uniqueId= '$unique'"); 
      try { 
       $statement->execute(); 
       echo"success"; 
       } 
     catch (\PDOException $e) { 
      echo "Couldn't query the database!"; 
      var_dump($e); 
     } 
     return array(); 
    } 
} 

?> 

这里是我为它的控制器:

<?php 
    require_once "db.php"; 
    require_once "UserModel.php"; 
    require_once "UserView.php"; 

    $model = new UserModel(MY_DSN, MY_USER, MY_PASS); 
    $view = new UserView(); 
    $view->showHeader('LiveTweet Admin'); 
    $view->showUpdateUser($model->getModifyUser($_GET["id"])); 

    if (isset($_POST ['update'])){ 
     $model = new modUser(); 
    } 
    $view->showFooter(); 
?> 

任何帮助,将不胜感激。我是PHP的超级新手,所以我很抱歉,如果这应该是显而易见的。

谢谢!

+0

你的类ModifyModel没有被使用,您使用的usermodel – Jacob

+0

你的模型类'ModifyModel',但在你的控制你想创建UserModel'的'一个新实例? – Jeemusu

+0

我甚至没有赶上 - 感谢这么多...了,现在运行! – user2642958

回答

3

问题出在您的控制器上,您想实例化类ModifyModel,然后在该实例上调用modUser函数。

尝试以下操作:

if (isset($_POST ['update'])){ 
    $modifyModel = new ModifyModel(MY_DSN, MY_USER, MY_PASS); 
    $result = $modifyModel->modUser(); 
} 
+0

工程!非常感谢。 – user2642958

+0

@ user2642958,不客气。很高兴有帮助。 – vee