Я пытаюсь использовать встроенные функции проверки cakePHP для моей страницы регистрации / входа.
<?php
class User extends AppModel
{
var $name = 'User';
var $validate = array(
'name' => VALID_NOT_EMPTY,
'password' => VALID_NOT_EMPTY,
'email_id' => VALID_EMAIL
);
}
У меня нет отдельного файла просмотра для регистрации или входа в систему. У меня есть и регистрационный и логин-код приложения в главном контроллере и представления в одном файле index.ctp. Если регистрация или логин действительны, страница перенаправляется на домашнюю страницу главного контроллера.
class UsersController extends AppController
{
var $name = 'Users';
var $helpers = array('Html', 'Form' );
function register()
{
if (!empty($this->data))
{
if ($this->User->save($this->data))
{
$this->Session->setFlash('Your registration information was accepted.');
$this->redirect('/main/home');
}
}
}
}
Index.ctp
<p>Please fill out the form below to register an account.</p>
<?php
echo $form->create('User', array('action' => 'register'));
echo $form->input('name');
echo $form->input('email_id');
echo $form->input('password');
echo $form->end('Register');
?>
<h3>Login</h3>
<?php
echo $form->create('User',array('action'=>'login'));
echo $form->input('email_id');
echo $form->input('password');
echo $form->end('Login');
?>
Поэтому пользовательские сообщения об ошибках не отображаются. Потому что, если у меня есть отдельный файл представления для модуля регистрации, я получаю пользовательские сообщения.
Но я не хочу отдельного файла просмотра регистра и отдельного файла просмотра входа в систему. Я хочу, чтобы обе функции были в индексном файле основного контроллера. Не могли бы вы помочь мне?
РЕДАКТИРОВАТЬ 1
Если я использую рендер, это то, что я получаю в браузере.
Ваша регистрация не удалась.
не найден
Ошибка: запрошенный адрес '/ users / register' не найден на этом сервере.
Это функция регистра в главном контроллере:
function register()
{
if (!empty($this->data))
{
if ($this->User->save($this->data))
{
$this->Session->setFlash('Your registration information was accepted.');
$this->render('home');
}
else
{
$this->Session->setFlash('Your registration failed.');
$this->render('index');
}
}
}