السلام عليكم ورحمة الله تعالى و بركاته , في هده التدوينة سأضع درسا من سلسلة دروس تعلم البرمجة بالفريموورك زند zend framework , و في هده الحلقة ان شاء الله سنقترب من برمجة تسجيل الدخول باستعمال هدا الفريموورك .
طبعا كما نرى في المدونات و برامج إدارة المحتوى و المنتديات و غير دلك , دائما ما نجد التسجيل و تسجيل الدخول للموقع بحسب الأسم و المعلومات التي تم التسجيل بها و كدلك أدارة الصلاحيات للمستخدمين و غير دلك أنتم غنى عنها :) .
كيف يتم عمل دلك ؟ سأجيبكم في هده الحلقة باستعمال مثال بسيط و ان شاء الله يكون هو انطلاقتكم في برمجة نظام كبير بحول الله :)) .
أول شيء نحتاجه هو قاعدة بيانات و جدول خاص بالمستخدمين .
من Phpmyadmin في السرفر قم بانشاء قاعدة بيانات جديدة , تم قم بإضافة الجدول التالي أو زرعه باستعمال الكود :
طبعا كما نرى في المدونات و برامج إدارة المحتوى و المنتديات و غير دلك , دائما ما نجد التسجيل و تسجيل الدخول للموقع بحسب الأسم و المعلومات التي تم التسجيل بها و كدلك أدارة الصلاحيات للمستخدمين و غير دلك أنتم غنى عنها :) .
كيف يتم عمل دلك ؟ سأجيبكم في هده الحلقة باستعمال مثال بسيط و ان شاء الله يكون هو انطلاقتكم في برمجة نظام كبير بحول الله :)) .
أول شيء نحتاجه هو قاعدة بيانات و جدول خاص بالمستخدمين .
من Phpmyadmin في السرفر قم بانشاء قاعدة بيانات جديدة , تم قم بإضافة الجدول التالي أو زرعه باستعمال الكود :
CREATE TABLE `users` ( `id` int(10) unsigned NOT NULL auto_increment, `login` varchar(36) NOT NULL, `pass` varchar(36) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `login` (`login`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;الأن بعد إنشاء الجدول سنقوم بإنشاء ملف Controller . على فكرة في هدا الملف سنعمل على تقنية الباترن MVC , Modele - View - Controller لبناء التطبيق , و كنبدة قصيرة لهدا الباترن هو فقط لترتيب الكود و فصل المهام و التصميم و أوامر Sql. إدن كما قلت أول ننشأ ملف نسميه مثلا : UserController و نضع فيه الكود التالي :
'localhost',
'username' => 'test',
'password' => 'test',
'dbname' => 'test'
)
);
require_once(APPPATH."/models/User.php");
$user_model = new User($db_adapter);
if (true === $message = $user_model->login($_POST['login'], $_POST['pass'])) {
$this->_redirect('/');
} else {
$this->view->assign('errors', $message);
}
}
}
//__________________________________________________________
public function logoutAction()
{
$this->_helper->viewRenderer->setNoRender(true);
Zend_Layout::getMvcInstance()->disableLayout();
require_once 'Zend/Auth.php';
$auth = Zend_Auth::getInstance();
$auth->clearIdentity();
Zend_Session::forgetMe();
$this->_redirect('/');
}
كما تلاحظون في الكود تم وضع 2 Action لنسجيل الدخول و الخروج .
الأن ننتقل إالى ملف الموديل Model و هو الملف الدي سنضع فيه أومر التعامل مع قاعدة البيانات :
getAdapter(), 'users', 'login', 'pass', "MD5(?)");
$authAdapter->setIdentity($login)
->setCredential($pass);
$result = $auth->authenticate($authAdapter);
if ($result->isValid()) {
$auth->getStorage()->write($authAdapter->getResultRowObject(array('id', 'login')));
require_once('Zend/Session/Namespace.php');
$session = new Zend_Session_Namespace('Zend_Auth');
$session->setExpirationSeconds(24*3600);
if (isset($_POST['rememberme'])) {
Zend_Session::rememberMe();
}
return true;
}
return $error_msg = $result->getMessages();
}
}
الأن بعد تجهيز ال Model يبقى لنا طبع و تطبيق العمل في ملف View و الدي هو كالتالي :
قم بحفظ العمل و تجربته :) أسف عن طريقة الشرح السريع و أنا جاهز لمناقشة الموضوع مع الأخوة الدين وجدوا مشاكل في الكود :) تحياتي لكم .


خارج الموضوع تحويل الاكوادإخفاء الابتساماتإخفاء