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');
}
}