header(“refresh:5; url ='pagetoredirect.php'”);
如果我们想在5秒内重定向页面,我们就可以使用它,
有没有办法在cakephp中在5秒内重定向页面?
如果是,请告诉我
我试过这段代码但不行 的 /app/controllers/examples_controller.php
?php
class ExamplesController extends AppController
{
public $name = "Examples";
...
public function someAction( ){
...
$url = array( 'controller' => 'examples', 'action' => 'someOtherAction' );
$this->set( 'url', $url );
$this->header( "refresh:5; url='".Router::url( $url )."'" );
}
...
}
?>
/app/views/examples/some_action.ctp
<p class='notice'>
<?php echo $this->Html->link( "You are being redirected to ".Router::url( $url )." in 5 seconds. If you do not wish to wait click here.", $url ); ?>
</p>
答案 0 :(得分:1)
您可以使用flash命令执行此操作。
与redirect()类似,flash()方法用于在操作后将用户定向到新页面。 flash()方法的不同之处在于它在将用户传递给另一个URL之前显示一条消息。
第一个参数应该包含要显示的消息,第二个参数是CakePHP相对URL。在转发用户之前,CakePHP将显示$ pause秒的$ message消息。
如果您希望使用闪存消息的特定模板,您可以在$ layout参数中指定该布局的名称。
对于页内Flash消息,请务必查看SessionComponent的setFlash()方法。
我认为您不能设置任何消息,因此flash命令只会在所需数量的secod之后重定向。