如何在cakephp中提示一个警告框


How to prompt an alert box in cakephp?

<?php $this->redirect(array('controller' => 'Users', 'action' => 'login', ));

我想重定向并提示和警告框说您的注册成功。

我应该如何修改这段代码?

您可以使用$session->setFlash("message");。在你的布局/视图中使用$session->flash();来获得输出

的例子:

// Controller
$session->setFlash("message");
// View
print $session->flash("flash", array("element" => "alert"));
// views/Elements/alert.ctp
<script type="text/javascript">
    alert("<?php print $message; ?>");
</script>

详细信息请参阅本页

您不能同时使用$this->redirect()显示内容和重定向,因为它使用http头来进行重定向。您必须在目标页面上显示消息,或者使用JavaScript进行重定向。

您可以在保存用户数据($this->Session->write( 'newUser', 1 ))的同时保存会话变量,并在登录表单中检查变量。如果设置了该变量,则显示警告框并清除该变量。

另一种方法是在链接中使用一个额外的参数,告诉登录页面它应该显示警告(users/login/newUser:1)。缺点是,如果用户在注册后立即将页面添加为书签,他们每次访问该页面时都会看到该消息。

如果你显示警告,然后使用JavaScript而不是头文件重定向,它当然只有在用户启用了JS的情况下才有效,所以在这种情况下,你还应该提供一个可点击的链接,指向登录页面