السلام عليكم ورحمة الله تعالى و بركاته , في هده التدوينة سأضع درسا من سلسلة دروس تعلم البرمجة بالفريموورك زند 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 و الدي هو كالتالي :
قم بحفظ العمل و تجربته :) أسف عن طريقة الشرح السريع و أنا جاهز لمناقشة الموضوع مع الأخوة الدين وجدوا مشاكل في الكود :) تحياتي لكم .
خارج الموضوع تحويل الاكوادإخفاء الابتساماتإخفاء