大家好。我目前正在使用 cakePHP 开发一个聊天应用程序。这将是一个专注于回答问题的聊天应用程序。这意味着用户将收到基于他/她的问题的自动回复。我现在正在处理不需要用户登录的聊天界面。一旦用户发送了问题,聊天应用程序才会与数据库表进行交互。现在我的问题是如何将问题发送到控制器中将被解析的方法。我尝试在视图文件中执行以下操作:
<!--View/People/index.ctp-->
<h1>This is the chat interface</h1>
<?php $this->Html->charset(); ?>
<p>
<!--This is the text area where the response will be shown-->
<?php
echo $this->Form->create(null);
echo $this->Form->textarea('responseArea', array('readonly' => true, 'placeholder' =>
'***********************************************************************************
WELCOME! I am SANTI. I will be the one to answer your questions regarding the enrollment process
and other information related to it. ***********************************************************************************', 'class' => 'appRespArea'));
echo $this->Form->end();
?>
</p>
<p>
<!--This is the text area where the user will type his/her question-->
<?php
echo $this->Form->create(null, array('type' => 'get', 'controller' => 'people', 'action' => 'send', ));
echo $this->Form->textarea('userArea', array('placeholder' => 'Please type your question here', 'class' => 'userTextArea'));
echo $this->Form->end('Send');
?>
</p>
这是控制器:
<!--Controller/PeopleController.php-->
<?php
class PeopleController extends AppController{
public $helpers = array('Form');
public function index(){
}
public function send(){
//parsing logic goes here
}
}
?>
如您所见,我告诉 index.ctp 中的表单将操作指向 PeopleController 中的 send() 方法,以便它可以在与数据库交互之前解析问题。当我单击按钮时出现的问题是我总是被重定向到 /users/login 这不是我想要发生的。我只希望应用程序将自己指向/people/send。在这种情况下似乎有什么问题?我试图在 Internet 和文档中寻找答案,然后对其进行测试,但到目前为止还没有解决问题。谁能帮我解决这个问题?这么多天我一直在努力解决这个问题。
我不断收到此错误:
Missing Method in UsersController
Error: The action *login* is not defined in controller *UsersController*
Error: Create *UsersController::login()* in file: app\Controller\UsersController.php.
<?php
class UsersController extends AppController {
public function login() {
}
}