Yii Umleitung auf eine andere Sicht-Seite nach dem login
In meinem web-Anwendung habe ich eine Seite namens "Meinhaus", die betrachtet werden sollte, nachdem eine erfolgreiche Anmeldung.Habe diese Seite unter site-Ordner .Aber es zeigt folgende Fehler
Error 404
The system is unable to find the requested action "MyHome".
Mein code für die actionLogin von siteController
public function actionLogin()
{
$model=new LoginForm;
if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
{
echo CActiveForm::validate($model);
Yii::app()->end();
}
if(isset($_POST['LoginForm']))
{
$model->attributes=$_POST['LoginForm'];
if($model->validate() && $model->login())
// $this->redirect(Yii::app()->user->returnUrl);
$this->redirect(array('/site/MyHome'));
}
$this->render('login',array('model'=>$model));
}
Mein Code für die Meinhaus-Ansicht-Seite
<?php /* @var $this Controller */ ?>
<?php Yii::app()->bootstrap->register(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="language" content="en" />
<!-- blueprint CSS framework -->
<link type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/screen.css" media="screen, projection" />
<link type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/print.css" media="print" />
<!--[if lt IE 8]>
<link type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/ie.css" media="screen, projection" />
<![endif]-->
<link type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/main.css" />
<link type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/form.css" />
<title><?php echo CHtml::encode($this->pageTitle); ?></title>
</head>
<body>
<div class="container" id="page">
<div id="header">
<div id="logo"><?php echo CHtml::encode(Yii::app()->name); ?></div>
</div><!-- header -->
<div id="mainmenu">
<?php $this->widget('zii.widgets.CMenu',array(
'items'=>array(
array('label'=>'All offers', 'url'=>array('/producerOffer/index'),'visible'=> Yii::app()->user->type==="consumer"),
array('label'=>'My requirements', 'url'=>array('/consumerReq/view', array('id'=>Yii::app()->user->id)),'visible'=> Yii::app()->user->type==="consumer"),
array('label'=>'All requirements', 'url'=>array('/ConsumerReq/index'),'visible'=> Yii::app()->user->type==="producer"),
array('label'=>'My offers', 'url'=>array('/producerOffer/view',array('id'=>Yii::app()->user->id)), 'visible'=>Yii::app()->user->isGuest),
array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest),
),
)); ?>
</div><!-- mainmenu -->
<?php if(isset($this->breadcrumbs)):?>
<?php $this->widget('zii.widgets.CBreadcrumbs', array(
'links'=>$this->breadcrumbs,
)); ?><!-- breadcrumbs -->
<?php endif?>
<?php echo $content; ?>
<div class="clear"></div>
<div id="footer">
Copyright © <?php echo date('Y'); ?> by My Company.<br/>
All Rights Reserved.<br/>
<?php echo Yii::powered(); ?>
</div><!-- footer -->
</div><!-- page -->
</body>
</html>
Nach erfolgreicher Anmeldung diese Seite gerendert werden muss,Jemand mir helfen, wie dieses Problem zu beheben, da bin ich ein Neuling
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie die definierte Aktion in diesem controller? Es scheint so, dass Fehler kommen würde, nicht mit der Aktion definiert ist. Versuchen zu definieren, die actionMyHome Methode in der site-controller.
Ihnen fehlt die Aktion, die Sie lenken zu können.
In Ihrem login-code haben Sie :
Diese umleiten an eine Methode actionMyHome() in der Klasse SiteController.
Daher müssen Sie zum erstellen der fehlenden Klasse :
Versuchen, diesen code:
Versuchen, diesen code:
Versuchen, Diese,
Überprüfen Sie auch 'actionMyhome' Funktion 'SiteController'
Den
SiteController
wie es generiert wird, hat einpage
Aktion, die zeigt statische Seiten. Mit dieser Funktion brauchen Sie nicht hinzufügen neue Aktionen, die jedes mal, wenn Sie hinzufügen statischer Inhalte.Zur Weiterleitung auf eine statische Seite, platzieren Sie den code auf der Seite in
protected/views/site/pages
, und verwenden Sie diepage
action in URLs:ich denke, dass problem im webserver
verwenden Sie iis-oder apache-oder?
bitte testen Sie folgenden code
und ändern MyHome.php zu myhome.php Datei Ansicht /site/MyHome.php
Es sollte definiert werden,