نقطه ویرگول;

هر از گاهی از هر چیزی

هر از گاهی از هر چیزی

آموزش cakephp - چک کردن نام کاربری

چهارشنبه, ۲ شهریور ۱۳۹۰، ۰۶:۰۹ ق.ظ
cakephp یکی از بهترین فریم ورک های دنیاست که همواره در رنکینگ فریم ورک ها یکی از سه جایگاه برتر را به خود اختصاص می دهد. پیش از این در این سایت مطالبی برای آشنایی با کیک پی اچ پی و آموزش های دیگری از این فریم ورک قرار گرفته است. امروز قصد داریم آموزش بسیار ساده و کاربردی را به شما ارائه دهیم. آیا نام کاربری که برای ثبت نام انتخاب شده است دردسترس می باشد؟ با استفاده از کتابخانه ی جاوا اسکریپت jquery و Ajax به راحتی می توانید این کار را انجام دهید...
شما در سایت خودتون بخش ثبت نام دارید که خوب در این بخش یونیک بودن نام کاربری قطعی هستش. بنابراین باید دقت کنید که هیچ نام کاربری یی دوبار انتخاب نشه. در ضمن یه کم سخته که کاربر نام کاربری رو وارد بکنه بعد ارسال بکنه و صفحه ریفرش بشه بعد با خطای نام کاربری تکراری مواجه بشه. بنابراین می تونیم از ای جکس استفاده کنیم که به محض نوشتن نام کاربری بهش نمایش بدیم که میتونه این نام کاربری رو انتخاب کنه یا نه.
خوب شروع می کنیم.
شما باید ابتدا یه جدول به نام users داشته باشید. ساختن model و controller و view ها به عهده ی خودتون. برای جلوگیری از اتلاف وقت فقط می پردازیم به آموزش خودمون.
یک فرم در view خواهیم داشت که نام کاربری رو از کاربر می گیریم به این صورت:
Form->input('username', array('div'=>false,
'type'=>'text',
'id'=>'name',
'class'=>'username',
'value'=>'Username'));
?>
حالا باید کدهای بخش CSS رو بنویسیم:
#username_feedback{
margin-left: 30px;
margin-top: 5px;
color: #FD868E;
font-size: 11px;
font-style: italic;
border: 1px solid #fff;
-moz-border-radius: 1em 0em 1em 0em;
display: none;
-khtml-border-radius: 1em 0em 1em 0em;
-webkit-border-radius: 1em 0em 1em 0em;
border-radius: 1em;
background-color: #E1E0DD;
padding: 3px;
padding-left: 15px;
padding-right: 15px;
}
این کدها رو هم می تونید در فایل سی اس اس ذخیره کنید. به طور پیشفرض آدرس این فایل appwebrootcss هستش که می تونید در فایل default.ctp در شاخه ی appviewslayouts هر فایلی رو که می خواید اد کنید.
کد جی کوئری رو هم به این صورت اضافه می کنیم:

خوب تا اینجا که مشکلی نبوده و نیست. حالا می تونیم به کنترلر خودمون بریم و اکشن check_username رو بنویسیم. می تونید کدهای زیر رو هم به کنترلر users اضافه کنید:

function check_username()
{
$this->autoRender=false;
if(mb_strlen($username)===0){
echo "یک نام کاربری انتخاب کنید";
}
else if(mb_strlen($username) echo "نام کاربری باید حداقل 6 حرف باشد!";
}
else
{
if($this->RequestHandler->isAjax()) {
mb_internal_encoding("UTF-8");
$username=trim($this->params['form']['username']);
$conditions = array("User.username" =>$username);
//میتونید از دو روش برای خوندن از دیتابیس استفاده کنید.
//استفاده از متد find - توصیه می شه
$query=$this->User->find('first', array('conditions' => $conditions));
//استفاده از متد query - توصیه نمی شه
$query=$this->User->query("SELECT username FROM users
WHERE username= 'mysql_real_escape_string($username)'");
if(mb_strlen($query)!==0){
echo "قبلاً ثبت شده است!";
}
else{
echo "می توانید انتخاب کنید!";
}
}
}
}
?>
به همین راحتی شما می تونید کاربر رو به خوبی در انتخاب نام کاربری راهنمایی کنید. این آموزش بسیار ساده و کاربردیه. امیدوارم به دردتون خورده باشه.
موفق باشید

نظرات  (۱۱)

۰۳ شهریور ۹۰ ، ۰۱:۰۹ سهیل نوین فرد
چالیست جان، آموزش خیلی قشنگی بود.
نکته جالب تو نوشته هات اینه که ساده مفهوم رو می رسونه و بدون تعارف این از عهده هرکسی برنمیاد.
به نظرم میشه این آموزش با اندک تغییری، عمومی(کیک پی اچ پی یا هر شکل دیگه) بشه.
موفق باشی
خواهش می کنم
خوشحالم به درد خورده
مرسی عالی بود
سلام کاش میشد نمونه ای اماده برای این مثال بود تا بصورت پویا کاربردشو میدیدیم
پیشنهاد خوبیه
از این به بعد سعی می شه در آموزش ها دمو قرار داده بشه.
ممنون از توجهتون
سلام
چرا فرم تماس و اشتراک در خبرنامه و ردیافت آخرین مطالب با ایمیل رو ندارید!!×!!!!؟
اونم به روی چشم
اضافه می شه
با سلام
برای تماس با نویسندگان مطالب لینک ایمیل آنها را بگذارید
برای طرح موضوعی در مورد یک پروژه به ایمیل چالیست نیاز دارم
با تشکر
قسمت اول رو متوجه نمیشم
view یعنی چی؟
منظور چیه؟
۰۵ دی ۹۰ ، ۲۲:۲۹ منوچهر بسحاق
من نیاز به یک مربی برای آموزش خصوصی کیک دارم لطفا کمک کنید
یه فایل ایجاد می کنید در شاخه view->users با نام add.ctp مثلن.
بعد داخلش این کد ها رو اضافه می کنید

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی