مقدمه :
دنیای عجیبی است که تکنولوژی های مربوط به آن تار جهان گستر "World Wide Web" اغلب بدون پشتیبانی کافی عرضه می شوند و کاربران این تکنولوژی همه روزه با واژگـان جدیدی بر خورد میکنند که باعث سر در گمی آنها می شوند. برای نمونه میتوان به رشد نرم افزارهای open source اشاره کرد که عبارتند از:
برنامه های که بتوان آنها را گسترش داد و یا تغییراتی در ساختار آنها ایجاد کرد
متداول ترین این برنامه ها سیستم عامل Unix و به طور خاص Linux می باشد. این برنامه ها با وجود ثبات و پایداری، دارای یک مشکل بزرگ است و آن دشوار بودن آموختن این برنامه ها می باشد. کمبود راهنماهایی که به زبان ساده این برنامه ها را به مبتدیان آموزش دهد باعث شده است که این دسته از نرم افزار ها از جایگاه واقعی خود دور نگاه داشته شوند. PHP یکی از زبانهای اسکریپتی open source است و ابزار مفیدی می باشد که تا کنون علی رغم سادگی استفاده از آن هنوز به صورت شایسته ای از آن استقبال نشده است.
PHP چیست ؟
PHP سال 1994 توسط Rasmus Lerdorf ایجاد شد و مخفف واژگان Personal Home Pages به حساب می آید. با گسترش قابلیت ها و موارد استفاده این زبان PHP در معنای Hypertext Preprocessor به کار گرفته شد. عبارت پیش پردازشگر (Preprocessor) بدین معنی است که PHP اطلاعات را قبل از تبدیل به زبان Html پردازش می کند.
مطابق مطالب سایت وب رسمی PHP که در آدرس http://www.php.net قرار دارد، PHP زبان اسکریپتی سمت سرویس دهنده Html Embeded , Cross-Platform ,(Server-side) می باشد.
سمت سرویس دهنده بودن PHP بدین معناست که تمام پردازشهای این زبان بر روی سرویس دهنده (Server) انجام می گیرد. یک سرویس دهنده در حقیقت یک کامپیوتر مخصوص می باشد که صفحات وب در آنجا نگهداری می شوند و از آنجا به مرورگر وب کاربران منتقل می شوند.
چگونگی ادامه این روند را در درس های آتی توضیح داده خواهد شد.
منظور از Cross-Platform بودن این زبان این است که بروی هر سیستم و با هر سیستم عاملی از قبیل : Unix, Windows NT, Macintosh, Os/2 اجرا میشوند. توجه کنید که منظور از سیستم عامل، سیستم عامل هایی می باشند که بر روی سرویس دهنده نصب می شوند. PHP نه تنها قابلیت اجرا بر روی هر سیستم عاملی را دارا می باشد بلکه برای منتقل کردن برنامه های آن از یک سیستم عامل به سیستم عامل دیگر احتیاج بــه تغییرات اندکی خواهید داشت و حتی در بعضی از موارد بدون احتیاج به هیچ تغییری می توانید یک برنامه به زبان php را از یک سیستم عامل به سیستم عامل دیگر منتقل کنید.
منظور از Html embeded بودن PHP این است که دستورات این زبان در بین کدهای html قرار می گیرند. بنابراین برنامه نویسی به زبان PHP کمی پیچیده تر از برنامه نویسی به زبان Html به حساب می آید.
PHP بر خلاف زبانهای برنامه نویسی (Programming Languages) یک زبان اسکریپتی (Scripting Language) می باشد به عبارت دیگر دستورات PHP بعد از رخداد یک رویداد (Event) اجرا می شوند. این رویدادها می توانند شامل ارسال یک فرم رفتن به یک URL مشخص و یا مواد دیگر باشند متداولترین زبان اسکریپتی زبان Java Script می باشد که معمولا برای پاسخ به رویدادهای کاربر در مرورگر وب بــه کار می رود تفاوت عمده Java Script با PHP در این است که Java Script یک تکنولوژی سمت سرویس گیرنده (Client-side) می باشد.
زبان هایی مانند Java Script یا PHP تفسیر شونده (Interpreted) نامیده میشوند. به عبــارت دیگر برای اجرا به یک مفسر مانند مرورگر وب احتیاج دارند. اما زبانهای برنامه نویسی مانند C یا Java بعد از ترجمه به زبان ماشین (Compile) به خودی خود قابل اجرا می باشند.جدیدترین نسخه PHP نسخه 4 این زبان اسکریپتی می باشد و کلیه فایل ها و کدهایی که توی این وبلاگ ارائه میشه تحت این نسخه کار میکنند. اما یک مشکل هست که اکثر سرویس دهنده ها از نسخه 3 استفاده میکنند. تفاوت این دو نسخه PHP بسیار اندک هست و تغییرات مهم عموما در مسیر اصلاح عملکرد این زبان صورت گرفته شده است.
چرا PHP ؟
اولین چیزی که می خواهم در موردش توضیح دهم این است که به چه علتی ما از PHP استفـاده می کنیم؟ PHP در مقایسه با تکنولوژی های مشــابه سریعتر بهتر و آسانتر است. از جمله تکنولوژی هــای مشابه برای طراحی یک سایت وب می توان به این موارد اشاره کرد :اسکریپت های Common Gateway interface) CGI) که معمولا به زبان Perl نوشته می شوند و ASP . مزیتی که PHP در مقــــابل HTML دارد این است که HTML یک سیستم حدود به حساب می آید و توانایی ایجاد ارتباط متقابل با کاربر را ندارد. یک صفحه HTML ساده توانایی پاسخ به اعمال کاربر را ندارد اما با استفاده از PHP شما میتوانید صفحاتی بر اساس سیستم عامل کاربر و یا تاریخ مشـاهده صفحه تنظیم کنید . همچنین PHP می تواند با فایل ها یا پایگاههــــــــای داده (DataBase) ارتباط بر قرار کند و بسیاری عملیات دیگر که HTML قادر به انجام به آنها نمی باشد.
شاید یک سوال برای شما به وجود بیاد که چــــرا یک طراح وب بهتر است که از زبان PHP به جای زبانهــای مانند CGI و ASP و یا JSP برای طراحی سـایت دینــــــــامیک استفاده کند؟
دلیل اول سرعت بیشتر PHP چه در برنامه نویسی و ایجاد برنامه هایی به این زبان و چه در اجرا می باشد . همچنین PHP برای یادگیری بسیار ساده می باشد و افــراد بدون نیاز به زمینه های قبلی در برنامه نویسی و تنهــا با یادگیری دستورات و راهنماهایی که وجود دارد می توانند این زبان را یاد بگیرند.
دومین دلیل این است که PHP به صورت اختصاصی تنها برای ایجاد صفحـات دینامیک طراحی شده است. امـــا Perl و VbScript و یا Java اینگونه نیستند و به همین دلیل PHP سریعتر و ساده تر از تکنولوژی های جایگزین می باشد.
صفحه Index.html :
صفحه Home.php :
صفحه Register.php :
صفحه Upload.php :
صفحه Search.php :
صفحه View :
صفحه Map.html :
صفحه View2.php :
چکیده :
این سایت که شامل 8 صفحه است . اعمال این صفحات به شرح ذیل است :
صفحه index.html کار ورود به صفحه اصلی سایت را بر عهده دارد.
صفحه home.php اصلی ترین صفحه سایت است که از طریق آن می توان به صفحه ثبت نام و آپلود کردن عکس ها وارد شویم. همچنین می توان از داخل این صفحه جست و جو نمود.
در صفحه view.php کاربر لیست عکس هایی را که از منو انتخاب کرده می تواند ببیند.
صفحه register.php کارگرفتن مشخصات کاربر و ثبت نام وی را بر عهده دارد.
و اما کاربر می تواند درصفحه upload.php که در این صفحه عمل آپلود کردن را کاربر می تواند انجام دهد.
در صفحه ی search.php مشخصاتی را که کاربر در صفحه home.php وارد کرده از جمله نوع ، سایز ونام عکس را گرفته و جست و جو را انجام می دهد.
در صفحه view2.php عمل بزرگنمایی عکس ها یی که چه در صفحه view.php و چه در صفحه ی search.php را انتخاب کرده ایم را نشان می دهد.
محدودیت ها :
اما در این سایت اگر کسی ثبت نام نکرده باشد نمی تواند از امکاناتی همچون :
بزرگنمایی عکس ها
آپلود کردن عکس ها
بهره ببرد.
ثبت نام :
در ابتدا من طریقه ثبت نام را برای شما توضیح می دهم که اگر کاربردرسایت عضو شود می تواند به طور کامل از تمام امکانات سایت استفاده کند.
برای ثبت نام کاربر باید به لینکی که در سمت چپ صفحه home.php یا iew.php که هردو این امکان را دارا هستند مراجعه کند. در زیر شکل این تصویر را می بینید :
با کلیک کردن بر روی این لینک کاربر صفحه register.php مشاهده می کند.
همانطور که در شکل می بینید در این صفحه مشخصات کاربر خواسته شده و کاربر باید تمام گزینه ها را وارد کند تا بتواند ثبت نام کند.در زیر کدهای مربوط به ثبت نام را برای شما شرح می دهم :
<? php
$name=$_POST ['name'];
$family=$_POST ['family'];
$age=$_POST ['age'];
$city=$_POST ['city'];
$username=$_POST ['username'];
$password=$_POST ['password'];
$password1=$_POST ['password1'];
$email=$_POST ['email'];
If (!get_magic_quotes_gpc())
{
$name=addslashes ($name);
$family=addslashes ($family);
$age=addslashes ($age);
$city=addslashes ($city);
$username=addslashes ($username);
$password=addslashes ($password);
$password1=addslashes ($password1);
$email=addslashes ($email);
}
if (trim($name) && trim($family) && trim($city) && trim($username) &&
trim($password) && trim($password1) && trim($email) )
{
$query="select username from user where username like'$username' ";
$link=mysql_connect("localhost","root","");
if(!$link)
{
die ("Could not Connect MYSQL");
}
mysql_select_db("Gallery") or die ("Could Not Open Gallery");
$result=mysql_query($query) or die (mysql_error());
if(!mysql_num_rows($result) || strlen($password)<17)
{
if(($password != $password1) || (strlen($password)<6))
{
$k=1;
echo 'Please check your password'.'</br>';
}
if(!$k)
{
$password=sha1($password);
$query="insert into user values(";
$query=$query."'".$name."',";
$query=$query."'".$family."',";
$query=$query."'".$age."',";
$query=$query."'".$city."',";
$query=$query."'".$username."',";
$query=$query."'".$password."',";
$query=$query."'".$email."')";
mysql_query($query) or die (mysql_error());
mysql_close($link);
echo "<h4>Thank You. You member now. Please back to home<h4>"."<br>";
}
}
else
echo "Please Select The Other User Name. Beacause It's repeat ";
}
?>
ابتدا متد post اطلاعات را از فرمی که تمام مشخصات وارد آن شده به خود صفحه register.php ارسال کرده :
<form id="form1" name="form1" method="post" action="register.php">
در ادامه دوباره با متد post مشخصات را دریافت کرده و در متغیرها ذخیره می کند :
<? php
$name=$_POST ['name'];
$family=$_POST ['family'];
$age=$_POST ['age'];
$city=$_POST ['city'];
$username=$_POST ['username'];
$password=$_POST ['password'];
$password1=$_POST ['password1'];
$email=$_POST ['email'];
بعد تمام کاراکترهای کنترلی در تمام فیلدها جست وجو می کند. در این حالت مقدار تابع get_magic_quotes_gpc() را بررسی می کند. با افزودن (/) به کاراکترهای کنترلی , استفاده از آنها ممکن می شود. برای رهایی از دست کاراکترهای کنترلی از()addslashes استفاده می کنیم :
If (!get_magic_quotes_gpc())
{
$name=addslashes ($name);
$family=addslashes ($family);
$age=addslashes ($age);
$city=addslashes ($city);
$username=addslashes ($username);
$password=addslashes ($password);
$password1=addslashes ($password1);
$email=addslashes ($email);
}
سپس در این قسمت با استفاده از تابع trim() فضاهای خالی قبل و بعد از عبارات درون textbox ها حذف می شود. و بعد در صورت وجود مقداردر تمام textbox ها شرط برقرار می شود:
if (trim($name) && trim($family) && trim($city) && trim($username) &&
trim($password) && trim($password1) && trim($email) )
در صورت درست بودن شرط به database متصل شده(که نام آن gallery است) و در جدول user تمامusername ها را چک می کند که آیا نام کاربری تکراری است و همچنین چک می کند طول آن از 17 کاراکتر بیشتر است یا نه. در صورت تکراری بودن وطول بیشتر از 17 کاراکتر وارد پیغام خطای زیر چاپ و از ثبت اطلاعات جلوگیری می شود می شود :
echo "Please Select The Other User Name. Beacause It's repeat ";
در ادامه بررسی می کند آیا پسورد که باید در دو textbox نوشته شود با هم برابر است و همچنین باید حداقل طول پسورد وارد شده 6 کاراکتر یا بیشت رباشد برای اینکه حدس زدن پسورد مشکل باشد. که در صورت نقض این شرط پیغام زیر نمایش داده می شود و از ثبت اطلاعات جلوگیری می شود:
echo 'Please check your password'.'</br>';
در صورت پر کردن تمام اطلاعات و مشکل نداشتن password و username اطلاعات کاربرتوسط دستور insert وارد database می شود و پیغام چاپ شده:
Thank You. You member now. Please back to home
سپس اتصال به database قطع می شود. البته لازم به ذکر است که password کاربر توسط تابع sha1 رمزگذاری می شود و در database به صورت 40 کاراکتر ذخیره شده که حتی server هم از تشخیص آن نا توان است:
If (!$k)
{
$password=sha1($password);
$query="insert into user values(";
$query=$query."'".$name."',";
$query=$query."'".$family."',";
فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد
تعداد صفحات این مقاله 39 صفحه
پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید
دانلود مقاله پروژه سایت گالری عکس