everytime i access the login page [site/login] this error shows up:
everytime i access the login page [site/login] this error shows up:
Check your login page… could be that you spelled wrong a model in calling activeLabelEx…
oh yeah some letter were in lower case… thanks for that. but i still have a problem… actually it showed up after i fixed the activeLabelEx stuff.
this php error shows up.
CException
Description
Property "CActiveForm.activeLabelEx" is not defined.
Source File
C:\xampp\yii\framework\yiilite.php(600)
00588: array('{class}'=>get_class($this), '{property}'=>$name)));
00589: }
00590: public function __call($name,$parameters)
00591: {
00592: if($this->_m!==null)
00593: {
00594: foreach($this->_m as $object)
00595: {
00596: if($object->getEnabled() && method_exists($object,$name))
00597: return call_user_func_array(array($object,$name),$parameters);
00598: }
00599: }
00600: if(class_exists('Closure', false) && $this->$name instanceof Closure)
00601: return call_user_func_array($this->$name, $parameters);
00602: throw new CException(Yii::t('yii','{class} does not have a method named "{name}".',
00603: array('{class}'=>get_class($this), '{name}'=>$name)));
00604: }
00605: public function asa($behavior)
00606: {
00607: return isset($this->_m[$behavior]) ? $this->_m[$behavior] : null;
00608: }
00609: public function attachBehaviors($behaviors)
00610: {
00611: foreach($behaviors as $name=>$behavior)
00612: $this->attachBehavior($name,$behavior);
Stack Trace
#0 C:\xampp\yii\framework\yiilite.php(600): CComponent->__get('activeLabelEx')
#1 [internal function]: CComponent->__call('activeLabelEx', Array)
#2 C:\xampp\htdocs\viasatondemand\admin\protected\views\site\index.php(19): CActiveForm->activeLabelEx(NULL, 'username')
#3 C:\xampp\yii\framework\yiilite.php(2851): require('C:\xampp\htdocs...')
#4 C:\xampp\yii\framework\yiilite.php(2830): CBaseController->renderInternal('C:\xampp\htdocs...', NULL, true)
#5 C:\xampp\yii\framework\yiilite.php(3220): CBaseController->renderFile('C:\xampp\htdocs...', NULL, true)
#6 C:\xampp\yii\framework\yiilite.php(3197): CController->renderPartial('index', NULL, true)
#7 C:\xampp\htdocs\viasatondemand\admin\protected\controllers\SiteController.php(28): CController->render('index')
#8 C:\xampp\yii\framework\yiilite.php(3430): SiteController->actionIndex()
#9 C:\xampp\yii\framework\yiilite.php(3002): CInlineAction->run()
#10 C:\xampp\yii\framework\yiilite.php(2987): CController->runAction(Object(CInlineAction))
#11 C:\xampp\yii\framework\yiilite.php(2977): CController->runActionWithFilters(Object(CInlineAction), Array)
#12 C:\xampp\yii\framework\yiilite.php(1542): CController->run('')
#13 C:\xampp\yii\framework\yiilite.php(1434): CWebApplication->runController('')
#14 C:\xampp\yii\framework\yiilite.php(1049): CWebApplication->processRequest()
#15 C:\xampp\htdocs\viasatondemand\admin\index.php(11): CApplication->run()
#16 {main}
this is the whole code in login.php
<?php $this->pageTitle=Yii::app()->name; ?>
<br /><br /><center><p><em>Welcome to the Viasatondemand Administration Section.</em></p></center>
<h1>Login</h1>
<p>Please fill out the following form with your login credentials:</p>
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'login-form',
'enableAjaxValidation'=>true,
)); ?>
<p class="note">Fields with <span class="required">*</span> are required.</p>
<div class="row">
<?php echo $form->activeLabelEx($model,'username'); ?>
<?php echo $form->textField($model,'username'); ?>
<?php echo $form->error($model,'username'); ?>
</div>
<div class="row">
<?php echo $form->activeLabelEx($model,'password'); ?>
<?php echo $form->passwordField($model,'password'); ?>
<?php echo $form->error($model,'password'); ?>
<p class="hint">
Hint: You may login with <tt>demo/demo</tt> or <tt>admin/admin</tt>.
</p>
</div>
<div class="row rememberMe">
<?php echo $form->checkBox($model,'rememberMe'); ?>
<?php echo $form->label($model,'rememberMe'); ?>
<?php echo $form->error($model,'rememberMe'); ?>
</div>
<div class="row buttons">
<?php echo CHtml::submitButton('Login'); ?>
</div>
<?php $this->endWidget(); ?>
</div><!-- form -->
CActiveForm does not have activeLabelEx but it has labelEx that is a wrapper for activelabelEx - http://www.yiiframework.com/doc/api/CActiveForm#labelEx-detail
so use $form->labelEx
oh okay lemme try that… thanks for replying
I changed activeLabelEx to labeEx but still that error shows up [again]… sigh
i got it now… i was stupidly trying to fit the active form in the index file my bad … now i really have to find a way to put a log in form in that admin index
thanks for replying… it was a big help
Check in SiteController->actionLogin what are you sending as $model when calling render…
should be
$model=new LoginForm;
...
$this->render('login',array('model'=>$model));
is this it?.. i can clearly see that it’s $form not $model… and this is the default code inside SiteController
public function actionLogin()
{
$form=new LoginForm;
// collect user input data
if(isset($_POST['LoginForm']))
{
$form->attributes=$_POST['LoginForm'];
// validate user input and redirect to the admin page is it's a valid login.
if($form->validate())
//$this->redirect(Yii::app()->user->returnUrl);
$this->redirect( Yii::app()->homeUrl . 'event/admin' );
}
// display the login form
$this->render('login',array('form'=>$form));
}
OK… something is wrong here…
with
$this->render('login',array('form'=>$form));
you are creating a PHP variable $form that you can use in login.php…
so instead of $model you would be using $form…
BUT!!!
on the beginning of the login.php you have
$form=$this->beginWidget('CActiveForm', ...
and with that you loose the value you sent to login.php…
but in this case you would get the error
as $model is not defined anywhere…
as you are not getting that error then $model is defined somewhere
yeah weird… freakish weird… sigh… well okay nevermind that… thanks! i would like to ask something as a last request… how do i put a login form at your index.php?[view]
T_T i’m so stuck with this.
Why would you put a login form on index.php?
I presume you don’t want “guests” to see anything on your site before they log in and that’s why you want the login form in index.php
For that you can use this in actionIndex
if(Yii::app()->user->isGuest)
$this->actionLogin();
half correct… i’m just implementing the login form in an the admin section i created. it’s a separate index.php from the main application…
thanks for the heads up
oh man… i did what you said and added
<?php if(Yii::app()->user->isGuest)
$this->actionLogin(); ?>
but the same error shows up.
i think the problem is within SiteController.php
I GOT IT!
changed $form=new LoginForm; to $model=new LoginForm;
and added an assets folder in the same level as admin’s index.php outside protected. thanks!
hello
i got the same error
/var/www/yii/framework/web/helpers/CHtml.php
can you please help me out
In tab5.php
<div class="ovfl-hidden" id="div_tabTwo" style="width:900px" >
<div class="top1">
<div>Past Information</div>
</div>
<div id="contentbar" class="fl" style="width:900px" align="left" >
<div class="ovfl-hidden " >
<div class="bg ovfl-hidden paddAll ">
<fieldset class="b_frame">
<legend class="fs_frame"><h3>Past Information</h3></legend>
<table width="800">
<tr >
<td>
<label>
<?php echo $form->labelEx($preEmployer,'employer'); ?>
</label>
</td>
<td>
</td>
</tr>
</table>
</fieldset>
</div>
</div>
</div>
</div>
<div class="end">
<div> </div>
</div>
in controller
public function actionCreate()
{
$model=new Jobseekers('create');
$model1= new preEmployer();
if(isset($_GET['id']))
{
$model=$this->loadModel($_GET['id']);
$model->scenario='create';
}
if(isset($_POST['Jobseekers']))
{
$model->attributes=$_POST['Jobseekers'];
...
}
$this->render('create',array(
'model'=>$model,'aspiration'=>$aspiration,'preEmployer'=>$preEmployer
));
}
Hi Walkman2508
you did not post the most relevant code/info…
Please write the exact error message you get… also in the controller you are rendering the “create” view but you posted the tab5.php source… also in the tab5.php you are calling labelEx() with the variable $preEmployer… and while in the controller you have ‘preEmployer’=>$preEmployer in the actionCreate method there is no code that defines the $preEmployer variable.
Maurizio