Cake PHP: неопределенная ошибка при использовании помощника по формам - PullRequest
2 голосов
/ 31 декабря 2011

Я новичок в cakePHP. Я только что попытался создать простую форму с текстовым полем и кнопкой отправки в представлении и отобразить текст, используя данные сообщений на контроллере.

My ViewКод:

<?php echo $form->create(null, array('action' => 'index'));?>
<fieldset><legend>Enter Your Name</legend><?php echo $form->input('name'); ?></fieldset>
<?php echo $form->end('Go');?> 

Код моего контроллера:

<?php
class UsersController extends AppController  {
        var $name = 'Users';
        var $uses = array();
        var $helpers = array('Html','Form');

        function index() {
                if ( !empty($this->data) ) {
                        echo $this->data['name'];
                        $this->autoRender = false;
                }
        }
}

?>

Я получаю сообщение об ошибке,

Notice (8): Undefined variable: form [APP/View/Users/index.ctp, line 1]
Code Context

include - APP/View/Users/index.ctp, line 1
View::_render() - CORE/Cake/View/View.php, line 598
View::render() - CORE/Cake/View/View.php, line 365
Controller::render() - CORE/Cake/Controller/Controller.php, line 900
Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 114
Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 89
[main] - APP/webroot/index.php, line 96

В чем проблема в этом.

Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 31 декабря 2011

$form->method из старых версий CakePHP.В новых версиях помощниками формы являются $this->Form->method.Итак, просто замените эти экземпляры в вашем коде:

<?php echo $this->Form->create(null, array('action' => 'index'));?>
<fieldset><legend>Enter Your Name</legend><?php echo $this->Form->input('name'); ?></fieldset>
<?php echo $this->Form->end('Go');?> 
1 голос
/ 10 января 2012

Как это

<div class="login"> 
<h2>Login</h2>     
    <?php 

    echo $this->Form->create('User', array('action' => 'login'));?> 
        <?php echo $this->Form->input('username');?> 
        <?php echo $this->Form->input('password');?> 
        <?php echo $this->Form->submit('Login');?> 
    <?php echo $this->Form->end(); ?> 
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...