notice
. का प्रतिपादन पेज आपके रीडायरेक्ट को नहीं रोकता है। इसे रेंडर किया जा सकता है, लेकिन रीडायरेक्ट के कारण आप इसे नहीं देख पाएंगे। अपने कोड को पुन:सक्रिय करने का प्रयास करें।
- आप अपने मॉडल को दो बार सत्यापित कर रहे हैं और सत्यापन को छोड़ दिया जा सकता है क्योंकि ऐप उपयोगकर्ता से कोई डेटा नहीं आ रहा है।
- आप जाँच नहीं करते कि
People
मॉडल वास्तव में मिला। CWebUser::afterLogin
है विधि जिसे आप इस तरह की चीजें करने के लिए ओवरराइड कर सकते हैं (लॉगिन गिनती और अंतिम लॉगिन तिथि अपडेट करें)
शायद यह तरीका (त्वरित सुधार) काम करेगा:
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');
}
}