2014-03-13 59 views
0

我是cakephp框架和MVC概念的新手。下面我發佈了我的MVC設計模式。我想我在這裏犯了很多錯誤。 http://localhost/www/cakephp/app/View/Users/當我使用這個鏈接時,我可以看到我的註冊表單。我不知道如何重定向到另一個頁面。第一步只工作(查看註冊表格)。那麼如何重定向到另一個頁面呢?清除我在這裏的錯誤。我知道我犯了很多錯誤。有人告訴我一些明確的解釋?註冊表單cakephp,mvc

型號/ user.php的

App::uses('Model', 'Model'); 

class User extends AppModel { 
    var $name = 'User'; 

    function register() 
    { 
    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $password = $_POST['password']; 
    $username = $_POST['username']; 

     try 
     { 
      $stmt = $conn->prepare("INSERT INTO (Name, Email, Password, Username, CreatedOn) VALUES (?, ?, ?, ?, NOW())"); 
      $conn->errorInfo(); 
      $stmt->bindParam('1', $name, PDO::PARAM_STR); 
      $stmt->bindParam('2', $email, PDO::PARAM_STR); 
      $stmt->bindParam('3', $password, PDO::PARAM_STR); 
      $stmt->bindParam('4', $username, PDO::PARAM_STR); 
      $result = $stmt->execute(); 
     } 
     catch (PDOException $e) 
     { 
      'Error : ' . $e->getMessage(); 
     } 
    }  
} 

查看/應用/ view.ctp

<html> 
    <form action="" method="post"> 
     <p>Please fill out the form below to register an account.</p> 
     <label>Name:</label><input type="text" name="name" size="40" /> 
     <label>Email:</label><input type="text" name="email" size="40"/> 
     <label>Password:</label><input name="password" type="password" size="40" maxlength="255" /> 
     <label>Username:</label><input name="username" size="40" /> 
     <br/><br/> 
     <input type="submit" value="Register" /> 
    </form> 
</html> 

控制器/ UsersController.php

<?php 
class UsersController extends AppController 
{ 
    public function register() 
    { 
     if (!empty($this->params['form'])) 
     { 
      if($this->User->save($this->params['form'])) 
      { 
       $this->flash('Registration Successful','/users/register'); 
      } 
      else 
      { 
       $this->flash('Not succeeded','/users/register'); 
      } 
     } 
    } 
} 
?> 

回答

2

CakePHP的文檔中有一個非常有用的tutorial

這個例子是關於添加帖子的,它很容易適應你的需要。

  • 在模型中,您可以使用save函數。
  • 在控制器中,則可以使用this->request->is('post'),而不是檢查如果$this->params['form']不爲空,
  • 形式可以使用FormHelper
生成