MVC INSERT INTO застрял с куда идти отсюда - PullRequest
0 голосов
/ 11 марта 2012

У меня есть модель register.php (в app / model / register.php)

<?PHP

// Load the [default] db group
$this->load->database();

// Get Input from init form, sanitize, plop into variables.
class Register extends Model{

    function formModel(){
    //load parent constructor
    parent::Model();
    }

    function sanitizeInput(){
        var $name = mysql_real_escape_string($_POST['fullname']);
        var $email = mysql_real_escape_string($_POST['email']);
        var $pass = mysql_real_escape_string($_POST['password']);
        var $dySalt = mt_rand(20,100); 
        var $pass = hash('sha512',$dySalt.$pass);
    }

    // Set form variables into object; define db table
    $registeredObject = new getSanitizeNewRegistrant();
    $tbl = 'Fan';

    function SendRequestForData(){
        if{
        $this->db->insert($tbl,$object);
        // .. redirect()
        echo "Sent";
        }
        else{
        echo "Oops, could not register you";
        }
    }



}
?>

Я загружаю эту модель в контроллер registerUsers.php (в app / controller / registerUsers.php)

<?PHP


$this->load->model('register'),'', TRUE);


?>

Я запутался, как мне реализовать это в view отсюда?

1 Ответ

1 голос
/ 12 марта 2012

Среда MVC работает следующим образом:

Модель взаимодействует с базой данных: Здесь вы хотите поместить все свои функции, которые не делают ничего, кроме вставки и возврата данных в /из базы данных.

Виды - это то, что видит пользователь: Здесь у вас будут html-страницы, использующие данные, которые вы получили через вашу модель

Контроллеры просто соединяют два: Контроллер подготавливает данные, использует модель для взаимодействия с базой данных и загружает представления для пользователя, чтобы увидеть

Если у вас была функция registerUser() вВ вашей модели регистра вы должны сделать что-то подобное, чтобы фактически использовать это в функции контроллера:

$this->load->model( 'register' ); // Load register model
$return = $this->register->registerUser( $_POST['username'], $_POST['email'], $_POST['password'] ); // Try to register the user to the database
if( $return === "TRUE" ) {
  $this->load->view( 'success' ); // Hooray!
}
else {
  $this->load->view( 'fail' ); // :(
}

Здесь контроллер загружает модель регистра, пытается сохранить имя пользователя, адрес электронной почты и пароль, используяregisterUser() работает внутри модели и соответственно загружает правильное представление.

Очевидно, что вы захотите очистить $_POST данные и все перед записью в базу данных.,Это должно быть сделано в контроллере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...