شرح الدرس السادس كود اجنيتر

CodeIgniter Librariers:part one

مكتبات الكود اجنيتر هى عباة عن كلاسات تم تصميمها لتساعدك اثناء برمجتك لموقعك فهى توفر عليك الوقت فى كتابة الكود من البداية وايضا توفر لك الامان والحماية واهم هذة الكلاسات واكثرها شهرة واستخدام هى

Email class – Form Validation class – Input class – Pagination class – File Uplading class – HTML Table class – Cart class

وسوف نشرح هذة الكلاسات بالتفصيل

-لكن قبل ان نبدا فى شرح الكلاسات فلابد ان تعرف انك لابد ان تقوم بتشغيل الكلاس قبل ان تستخدم اكوادة ويتم تشغيل اى كلاس بالطريقة التالية:

$this->load->library('class name');

تعبر عن اسم الكلاس(class name) حيث

فمثلا اذا اردت ان تشغل كلاسة الكارت فتكون كالتالى:

$this- >load- >library(‘cart’);

1-Form Validation Class

يقوم هذا الكلاس على وضع قيود على (textbox,textarea) وغيرها من حقول ملىء البيانات لكى تؤمن موقعك من الاكواد الخبيثة والهاكر وذلك ليصبح الموقع اكثر امان وحماية.

والان نفرض اننا لدينا صفحة (html) التالية ونريد ان نطبق عليها (form validation).

<html>

<head>

<title>My Form</title>

</head>

<body>

<?php echo form_open(‘form’);?>

<h5>Username</h5>

<input type=”text” name=”username” value=”” size=”50″ />

<h5>Password</h5>

<input type=”text” name=”password” value=”” size=”50″ />

<h5>Password Confirm</h5>

<input type=”text” name=”passconf” value=”” size=”50″ />

<h5>Email Address</h5>

<input type=”text” name=”email” value=”” size=”50″ />

<div><input type=”submit” value=”Submit” /></div>

</form>

</body>

</html>

وهذة الصفحة محفوظة فى applications/views/ folder باسم (myform.php)

والان نقوم بعمل (validation ) داخل (controller) التالى:

<?php

class Form extends CI_Controller {

function index()
{
$this->load->helper(array(‘form’, ‘url’));

$this->load->library(‘form_validation’);

$this->form_validation->set_rules(‘username’, ‘Username’, ‘required’);
$this->form_validation->set_rules(‘password’, ‘Password’, ‘required’);
$this->form_validation->set_rules(‘passconf’, ‘Password Confirmation’, ‘required’);
$this->form_validation->set_rules(’email’, ‘Email’, ‘required’);
}
}
?>

وهذة الصفحة محفوظة فى applications/controllers/folder باسم (form.php)

نلاحظ اننا قمنا فى البداية بتحميل كلاسة (validation ) ثم استخدمنا

$this->form_validation->set_rules(‘username’, ‘Username’, ‘required’);

وهذة دالة (validation) حيث تاخذ ثلاث بارمترات الاولى وهى اسم ( textbox) الموجودة فى كود (html) الذى قمنا بعملة ولابد ان ناخذ الاسم صحيح والبارمتر الثانى هو اختيارى تكتب فية ما تشاء والبارمتر الثالث هو عبارة عن القيد الذى ستضعة على (textbox) وما استخدمناة هنا وهو (required) اى ان هذا الحقل لابد ان يكون بة قيمة اى لايترك فارغ وهناك انواع كثيرة من القيود سندرسها جميعا.

– القيود او ما يطلق عليها (Rules):

Rule

Description

required

تتحقق من ان الحقل ليس فارغ

min_length

تضع قيد باقل قييمة يمكن ان تضعها فى هذا الحقل

max_length

تضع قيد باكبر قيمة يمكن ان تضعها فى هذا الحقل

greater_than

تضع شرط بالزيادة على قيمة تكون محددها للحقل

less_than

تضع شرط بالنقصان على قيمة تكون محددها للحقل

alpha

تقبل بكتابة حروف فقط

alpha_numeric

تقبل بكتابة حروف وارقام فقط

numeric

تقبل ارقام فقط

integer

تقبل اعداد صحيحة فقط

decimal

تقبل اعداد عشرية فقط

is_natural

تقبل اعداد طبيعية فقط: 0, 1, 2, 3, etc.

is_natural_no_zero

نفس السابق لكن بدون الصفر

valid_email

يتحقق من ان الايميل الذى تكتبة صيغتة صحيحة

امثلة:

$this->form_validation->set_rules(‘username’, ‘Username’, ‘required|min_length[5]|max_length[12] ‘);

$this->form_validation->set_rules(‘password’, ‘Password’, ‘required|matches[passconf]’);

$this->form_validation->set_rules(‘passconf’, ‘Password Confirmation’, ‘required’);

$this->form_validation->set_rules(’email’, ‘Email’, ‘required|valid_email);

وكما تلاحظ فى الامثلة السابقة يمكن استخدام اكثر من قاعدة فى الحقل الواحد بحيث يتم الفصل بين القاعدة والقاعدة الثانية كما هو موضح.

Advertisements

ضع تعليقك هنا

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: