درخواست های ارتباط
جستجو تنظیمات
لیست دوستان من
صندوق پیام
همه را دیدم تنظیمات
  • در حال دریافت لیست پیام ها
صندوق پیام
  • در حال دریافت لیست رویدادها
همه رویدادهای من

قسمت دوازدهم آموزش MVC در PHP

1 نظرات
با عرض سلام به تمامی دوستداران ITPro

تو این چند هفته به مشکل برخوردم نتونستم آموزش ها جلو ببرم، ولی ایشالله از این به بعد مرتب آموزشها ادامه داره .
تمام فایلهایی که تا الان واسه وب سایت درست کردیم میتونید از این لینک دانلود کنید .
خوب بریم سر آموزش، تو این قسمت و چند قسمت بعدی میخوایم چند تا جدول توی دیتابیس ایجاد کنیم ، کاربر بتونه ثبت نام کنه و وارد پروفایل خودش بشه.
کد sql جدول استان :
CREATE TABLE tbl_Province(Name VARCHAR(30) NOT NULL,NO VARCHAR(2) NOT NULL) ENGINE=InnoDB COLLATE=utf8_persian_ci
کد sql جدول شهر :
CREATE TABLE tbl_City(Name VARCHAR(30) NOT NULL,NO VARCHAR(3) NOT NULL, NO_Province VARCHAR(2) NOT NULL) ENGINE=InnoDB COLLATE=utf8_persian_ci
کد sql جدول تنظیمات کاربر :
CREATE TABLE tbl_SettingUser(Username VARCHAR(10) NOT NULL, Locked boolean NOT NULL, ReceiveEmail boolean NOT NULL, ShowEmail boolean NOT NULL, ShowAge boolean NOT NULL) ENGINE=InnoDB COLLATE=utf8_persian_ci
خوب حالا میخوایم کدای فرم ثبت نام کاربر بنویسیم، در ابتدا باید چک کنیم که این نام کاربری که کاربر میخواد ثبت کنه آیا وجود داره یا نه؟! که اینکارو با استفاده از کدایی که توی فایل checkuser.php مینویسیم (در ادامه این فایل ایجاد میکنیم ) انجام میدیم و بعد از اینکه مطمئن شدیم وجود نداره اطلاعات میفرستیم به فایلی بنام Index__Model.php (در ادامه این فایل هم میسازیم) و از طریق این فایل به دیتابیس وصل میشیم و اطلاعات کاربر ذخیره میکنیم .
در فرم ثبت نامی که قبلاً درست کردیم یادمون رفت کادر نام کاربری ایجاد کنیم، واسه همین ابتدا اینکارو انجام میدیم، کد زیرو به فایل Index.php (توی فولدر Index) اضافه میکنیم .
<li>
    <input type="text" name="txt_username" id="txt_username" value="نام کاربری" class="borderstyle" />
</li>
قسمتهای از کد register.js تغییر میدیم و بصورت زیر مینویسیم، فقط خط 16 اضافه شده : (به خاطر نام کاربری)
$(".borderstyle").focusin(function()
	{
		$(this).css("border-color" , "darkgrey");
		$(this).css("color" , "black");
		if( (($(this).prop("name") == "txt_Name" && $(this).val()=="نام")) || 
			(($(this).prop("name") == "txt_Family" && $(this).val()=="نام خانوادگی")) || 
			(($(this).prop("name") == "_txt_pass" && $(this).val()=="رمز عبور")) || 
			(($(this).prop("name") == "_txt_pass2" && $(this).val()=="تکرار رمز عبور")) || 
			(($(this).prop("name") == "txt_Email" && $(this).val()=="آدرس پست الکترونیکی")) || 
			(($(this).prop("name") == "txt_Email2" && $(this).val()=="تکرار آدرس پست الکترونیکی")) || 
			(($(this).prop("name") == "txt_Question" && $(this).val()=="سوال امنیتی")) ||
			(($(this).prop("name") == "txt_username" && $(this).val()=="نام کاربری")) )
		{
			$(this).val("");
		}
	});
در کد زیر ، فقط خط 12 تا 16 اضافه شده مابقی کدا تکراری هستن. (کدای register.js)
                         .
                         .
                         .
$(".borderstyle").focusout(function()
	{
		$(this).css("border-color" , "#c30009");
		if($(this).prop("name") == "txt_Name" && $(this).val()=="")
		{
			$(this).val("نام");
			$(this).css("color" , "darkgrey");
		}
		else if($(this).prop("name") == "txt_username" && $(this).val()=="")
		{
			$(this).val("نام کاربری");
			$(this).css("color" , "darkgrey");
		}
		else if($(this).prop("name") == "txt_Family" && $(this).val()=="")
		{
                         .
                         .
                         .
در کد زیر ، خط 10 تا 29 اضافه شده مابقی کدا تکراری هستن. (کدای register.js)
                                  .
                                  .
                                  .
			else
		{
			$("#_txt_pass2").css("border-color" , "darkgrey");
		}
	}
}
else if($(this).prop("name") == "txt_username")
{
	if($("#txt_username").val()!="نام کاربری")
	{
		$.post("libs/checkuser.php",			
		{
			"username" : $(this).val()
		},function(response)
		{
			if(response == "NotExist")
			{				
				alert($("#txt_username").val()+" Is NotExist");
			}
			else
			{				
				alert($("#txt_username").val()+" Is Exist");
			}
		});
	}
}
else if($(this).prop("name") == "_txt_pass2")
{
                             .
                             .
                             .
یه فایل بنام checkuser.php (توی فولدر libs) ایجاد میکنیم و کدای php اونجا مینویسیم .
<?php

	if(!isset($_POST["username"]))
	{
		echo "value is empty";
		return;
	}
	
	$username = htmlspecialchars($_POST["username"]);
	$dbase = new PDO("mysql: host=localhost; dbname=ITPro", "root", "mehdi!1230");
	$qurey = $dbase->prepare("select id from tlb_userpass where Username = :userlogin");
		
	$qurey->execute(array(":userlogin" => $username));
	$count = $qurey->rowcount();
	if($count > 0)
	{
		echo "Exist";
	}
	else
		echo "NotExist";
یه خروجی از کارمون میگیریم .
Image

Image

یه سری نام کاربری وارد میکنیم که توی جدول نیست که به ما پیغامی میده که این نام کاربری وجود نداره و سپس نام کاربری وارد میکنیم که توی جدول وجود داره و این سری به ما میگه که نام کاربری وجود داره . نمونه کدای بالا تو آموزشهای قبلی بوده پس دیگه اینجا توضیح نمیدم .
فقط اشکالی که اینجا وجود داره اینه که نمیخوایم زمان که نام کاربری وجود داره یا وجود نداره اینجوری بهمون پیغام بده .
در کد زیر ، خط 6 تا 9 اضافه شده مابقی کدا تکراری هستن. ( کدای index.php (توی فولدر index) )
                      .
                      .
                      .
<li>
    <input type="text" name="txt_username" id="txt_username" value="نام کاربری" class="borderstyle" />
    <div id="NotExist">نام کاربری که انتخاب کرده اید
             مجاز است و در حال حاضر توسط شخص دیگری بکار برده نمی شود.</div>
    <div id="Exist">این نام کاربری قبلا توسط شخص دیگری ثبت شده است،
  اگر  رمزعبور خور را فراموش کرده اید این  <a id="ForgetPass" href="#ForgetPass">اینجا</a> کلیک کنید</div>
</li>
                     .
                     .
                     .
Image

یه استایل کوچیکم بهش میدیم .
کدای زیرو به فایل Register.css اضافه میکنیم .
#Register #Exist, #Register #NotExist
{
	font-family: Constantia, "Lucida Bright", "DejaVu Serif", Georgia, serif;
	font-size: 12px;
	font-weight: bold;
	padding: 7px;
}

#Register #Exist
{
	color: #D14343;
}

#Register #NotExist
{
	color: #37A626;
}

#Register #Exist a
{
	padding: 0 3px;
	color: #000;
	text-decoration: none;
}

#Register #Exist a:hover
{
	text-decoration: underline;
}
Image

حالا میخوایم زمانی که کاربر وجود داره یا نداره ، این دوتا نمایش داده بشن .
کدای زیرو به ابتدای کدای فایل register.js اضافه میکنیم .
$("#Exist").hide();
$("#NotExist").hide();
ابتدا مخفیشون میکنیم و زمانی که لازمشون داریم نمایششون میدیم .
کدای زیرو به فایل register.js اضافه میکنیم . (فقط 6 و 7 و 13 و 14 اضافه شده و خط 9 و 16 بصورت کامنت دراوردیم و مابقی تکراری هستن )
                       .
                       .
                       .
if(response == "NotExist")
{
	$("#Exist").hide();
	$("#NotExist").show();
	
	//alert($("#txt_username").val()+" Is NotExist");
}
else
{
	$("#NotExist").hide();
	$("#Exist").show();
	
	//alert($("#txt_username").val()+" Is Exist");
}
                         .
                         .
                         .

این کدو هم اضافه میکنیم ، فقط خط 9 و 10 اضافه شده مابقی تکراریست .
                       .
                       .
                       .
else if($(this).prop("name") == "txt_username" && $(this).val()=="")
{
	$(this).val("نام کاربری");
	$(this).css("color" , "darkgrey");
	
	$("#Exist").hide();
	$("#NotExist").hide();
}
                       .
                       .
                       .
یه نام کاربری که وجود نداره وارد میکنیم .
Image

حالا میایم یه نام کاربری که وجود داره وارد میکنیم .
Image

و حالا هم هیچی وارد نمیکنیم در نتیجه اگه پیغامی نمایش داده باشه ، پیغام پاک میشه .
Image

سایز کادر نام کاربری کوچیکه، یه خورده بزرگش میکنیم .
کد زیرو به register.css اضافه میکنیم .
#Register #txt_username
{
	width: 330px;
}

تمام فایلهایی که تا الان واسه وب سایت درست کردیم (به همراه کارای این قسمت) میتونید از این لینک دانلود کنید .
امیدوارم از این آموزش هم استفاده لازم ببرید، ITPro باشید .

نویسنده : مهدی رزمجویی
منبع : انجمن تخصصی فناوری اطلاعات ایران
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد .
برچسب ها
ردیف عنوان قیمت
1 قسمت اول آموزش MVC در PHP رایگان
2 قسمت دوم آموزش MVC در PHP رایگان
3 قسمت سوم آموزش MVC در PHP رایگان
4 قسمت چهارم آموزش MVC در PHP رایگان
5 قسمت پنجم آموزش MVC در PHP رایگان
6 قسمت ششم آموزش MVC در PHP رایگان
7 قسمت هفتم آموزش MVC در PHP رایگان
8 قسمت هشتم آموزش MVC در PHP رایگان
9 قسمت نهم آموزش MVC در PHP رایگان
10 قسمت دهم آموزش MVC در PHP رایگان
11 قسمت یازدهم آموزش MVC در PHP رایگان
12 قسمت دوازدهم آموزش MVC در PHP رایگان
13 قسمت سیزدهم آموزش MVC در PHP رایگان
14 قسمت چهاردهم آموزش MVC در PHP رایگان
مطالب مرتبط
نظرات
  • سلام خسته نباشید
    ضمن تشکر از آموزش های بسیار خوبتون به یه مشکلی خوردم فرم ثبت نام رو نشون نمیده مشکل چیه؟؟ حتی فایل های خودتونم دانلود کردم و اجرا کردم اما بازم فرمشو نشون نمیده!!

برای ارسال نظر ابتدا به سایت وارد شوید

arrow