Vykreslení notice
stránka vaše přesměrování nezastaví. Může být vykreslen, ale kvůli přesměrování ho neuvidíte. Zkuste refaktorovat svůj kód.
- Svůj model ověřujete dvakrát a ověření může být pravděpodobně přeskočeno, protože od uživatele aplikace nepřicházejí žádná data.
- Nekontrolujete, zda
People
model skutečně nalezen. - Existuje
CWebUser::afterLogin
metoda, kterou můžete přepsat, abyste mohli provádět tento druh věcí (aktualizovat počet přihlášení a datum posledního přihlášení)
Možná bude fungovat tento způsob (rychlá oprava):
function actionIndex()
{
if ($_GET["yep"] == "") {
pd_error("You are not logged in!");
}
list($uid, $domain) = preg_split("/@/",$_GET["yep"],2);
if (null === ($model=People::model()->findByPk($uid))
throw new CHttpException(404);
$model->Login_Count++;
$model->Last_Logged=date('Y-m-d H:i:s');
if ($model->save()) {
$this->redirect($model->URL."?".$model->Unique_ID);
} else {
// echo CHtml::errorSummary($model)
$this->render('notice');
}
}