P30-ART


ارسال موضوع ارسال پاسخ
 
امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش کامل PHP: جلسه دوم
نویسنده پیام
کاربر با تجربه
*****

ارسال‌ها: 537
تاریخ عضویت: اردیبهشت 1393
اعتبار: 43
وضعیت : آفلاین
جنسیت:
سپاس ها 398
سپاس شده 294 بار در 171 ارسال
ارسال: #1
آموزش کامل PHP: جلسه دوم
سلام
به جلسه دوم آموزش برنامه نویسی PHP خوش آمدید.

خوب در جلسه قبل یک سری از دوستان گفته بودند که این آموزش ها رو به صورت pdf هم قرار بدیم، بنابر این خواستیم تا از خودتون بپرسیم که pdf ها به چه صورت باشه؟ ۱- هر جلسه یک فایل pdf. 2-هر چند جلسه یک فایل pdf. 3- بعد از اتمام کامل مطالب کل آموزش به صورت یک فایل pdf باشه.
میریم که جلسه دوم آموزش را شروع کنیم.
[تصویر:  800px-PHP-n_logo.svg_.png]
 
در جلسه اول چگونگی نصب ومپ را آموزش دادیم، امیدوارم که دانلود و نصب کرده باشید.

قوانین نوشتن کدهای PHP
اصولا شما میتونید کدها رو به شکل های متفاوتی بنویسید اما من در اینجا راحت ترین روش را به شما آموزش میدهم. کدهای php در بین این دوتگ نوشته می شوند.
<?php
?>

مثال:
<?php
$num = 1 + 2;
echo $num;
?>

نوشتن توضیحات در بین کدهای PHP (Comment)
  •  
  • برای نوشتن توضیحات در یک خط میتونید از علامت  // استفاده کنید.
  • همچنین برای نوشتن توضیحات در چند خط باید ابتدا با علامت */ شروع کنید و با علامت /* توضیحات را ببندید.



چی باعث میشه که من یک برنامه خوب بنویسم؟
  1.  
  2. ثبات: یعنی تمیز نوشتن و به جا نوشتن کدها که باعث به هم ریختگی برنامه نشه.
  3.  
  4. استفاده مکرر از توضیحات: این کار باعث میشه که شما بدونید که کدی که در یک صفحه با ۱۰۰۰ خط کد به کار بردید، برای چی هست.
  5.  
  6. استفاده از شماره خطوط: بعضی از ویرایشگر های کد مانند برنامه Adobe dreamweaver  برای هر خط کدی که شما می نویسید شماره میگذارند، این کار باعث میشه که اگر در هنگام اجرای برنامه php به شما خطایی داد و شماره خط را نوشت شما سریعا به اون خط مراجعه کنید و اون خطا رو رفع کنید.




چه اهمیتی داره که من خوب و تمیز کدنویسی کنم؟
  1.  
  2. بالا بردن راندمان کار: این کار باعث میشه که شما هر وقت خواستید کدتون رو ویرایش کنید، سریعا خط مورد نظر را پیدا کنید، یا یک کد دیگری به خط مثلا ۵۳۶ ام اضافه کنید.
  3.  
  4. برای اجرای برنامه یا همون دیباگ کردن: همون طور که گفتم باعث میشه در بین ۱۰۰۰ خط کد مشکلتون رو سریعتر پیدا کنید.
  5.  
  6. برای ویرایش و گسترش برنامه در آینده: این هم از عنوانش معلومه که چیه.


 

ایجاد اولین برنامه PHPعبارت echo در این برنامه نویسی یکی از پراستفاده ترین عبارات میباشد که باعث می شود هر نوع عبارت، متغیر و… به مرورگر شما ارسال بشه و در اونجا نمایش داده شود.

استفاده از echo
میریم که اولین برنامه کوچیکمون رو بنویسیم.کدهای زیر را در ویرایشگر کدتون تایپ کنید و با نام firstprog.php در اون آدرسی که در جلسه اول گفتم ذخیره کنید.

نکته: گفتم تایپ کنید چون اگر کپی کنید با خطا مواجه میشید، می خواهید یک دفعه امتحان کنید.

< html >
<head >
< title > My First PHP Program </title >
>/head >
<body >
< ?php
echo “I’m a lumberjack.”;
? >
</body >
</html >
حالا برنامه را اجرا کنید با آدرس پیشفرض  http://localhost/firstprog.php (البته قبلش باید ومپ را اجرا کرده باشید.)حالا باید صفحه ای در مرورگرتون باز بشه با متن I’m a lumberjack.حالا قسمت هایلایت شده زیر را در کدی که نوشتید اعمال کنید تا طریقه پارس شدن کدهای PHP را بهتر متوجه شوید.
< html >
< head >
< title > My First PHP Program < /title >
< /head >
< body >
< ?php
echo “I’m a lumberjack.”;
echo ‘And I\’m okay.’;
? >
< /body >
< /html >

حالا کدتون را ذخیره کنید و اون رو دوباره اجرا کنید. باید صفحه ای با متن زیر ببینید.I’m a Lumberjack. And I’m okay.
 —

ثابت ها
ثابت ها میشه گفت که مکاندار هایی هستند که می تونیم با استفاده از اونها بعدا به اونها در کدها ارجاع بدیم. به یاد داشته باشید که وقتی می خواهید یک ثابت را تعریف کنید باید با حرف یا underline شروع بشه و نه با عدد. همچنین این نامها به حروف بزرگ و کوچک حساس هستند.
تابع define()
با این تابع میتوینم یک مقدار را به یک ثابت نسبت بدیم. وقتی هم که این کار را انجام دادیم دیگه نمیتونیم اون ثابت برداریم.

مثالی برای استفاده از ثابت ها
کد زیر را بنویسید و با نام moviesite.php  ذخیره کنید و سپس آن را اجرا کنید.
< html >
< head >
< title > My Movie Site < /title >
< /head >
< body >
< ?php
define (‘FAVMOVIE’, ‘The Life of Brian’);
echo ‘My favorite movie is ‘;
echo FAVMOVIE;
? >
< /body >
< /html >
حالا باید متن زیر را ببینید.My favorite movie is life of brian.
  
این کد چطور کار میکنه؟
با تعریف کردن یک ثابت با نام FAVMOVIE شما یک مقدار رو برای اون تعریف کردید که عبارت است از The Life of Brian که بعدا هم میتونه دوباره فراخوانی بشه.

متغیر ها
برخلاف ثابت ها متغیر ها همونطور که از اسمشون پیداست تغییر پذیر هستند. آنها می توانند در هر نقطه ای برنامه شما تغییر پذیرند. متغیر ها نیازی نیست که تعریف بشوند فقط کافی است تا هر وقت که نیاز داشتیم آنها را معین کنیم. متغیر ها مثل ظرفی هستند که اطلاعات رو در خودشون ذخیره میکنند تا در آینده از اونها استفاده بشه. متغیر ها با یک علامت دلار($) مشخص میشوند و همچنین حساس به حروف کوچک و بزرگ هستند. مثلا متغیر $abc با متغیر $ABC فرق داره. همچنین اولین حرف یک متغیر باید حرف یا خط زیرین باشه و نمیتونیم از عدد استفاده کنیم.

مثال
فایل moviesite.php را باز کنید و تغییرات هایلایت شده زیر را در آن اعمال کنید.
< html >
< head >
< title > My Movie Site < /title >
< /head >
< body >
< ?php
define(‘FAVMOVIE’, ‘The Life of Brian’);
echo ‘My favorite movie is ‘;
echo FAVMOVIE;
echo ‘ < br/ > ’;
$movierate = 5;
echo ‘My movie rating for this movie is: ‘;
echo $movierate;
? >
< /body >
< /html >
فایل رو ذخیره کنید و اون رو اجرا کنید. در صورت اجرای صحیح متن زیر باید در مرورگر شما نمایش داده بشه.My favorite movie is The Life of BrianMy movie rating for this movie is:5 

این کد چطور کار میکنه؟
مقدار عددی ۵ به متغیر movierate داده شده و همچنین اعداد مانند رشته ها نیاز نیست که درون علامت نقل قول قرار گیرند.همانطور که میبینید از ایین طریق میتونیم خیلی راحت کدهای ریاضیاتی را بنویسیم.

مثال(نیازی به اجرای این کد نیست)
< ?php
$bobsmovierate = 5;
$joesmovierate = 7;
$grahamsmovierate = 2;
$zabbysmovierate = 1;
$avgmovierate = (($bobsmovierate + $joesmovierate + $grahamsmovierate
+ $zabbysmovierate) / 4);
echo ‘The average movie rating for this movie is: ‘;
echo $avgmovierate;
? >
PHP تعداد زیادی توابع برای کارهای محاسباتی ریاضی داره مثل:rand([$min, $max])  : دارای دو پارامتر است، هر دوی آنها یک عدد متفاوت را میگیرند و یک عدد به صورت تصادفی از بازه تعریف شده برای شما تولید میکند.max($value1[, $value2[, $...]]) : بزرگترین عدد در یک بازه.min($value1[, $value2[, $...]]) : کوچکترین عدد در یک بازه.همانطور که گفته شد PHP دارای توبع بسیار زیادی برای ریاضیات است که اینجا نمیتونیم همه اونها رو توضیح بدیم. مشا میتونید توابع بیشتری رو از سایت http://www.php.net پیدا کنید.

ارسال و گذراندن متغیر ها بین صفحات
فرض کنید که شما در صفحه اصلی سایتتون می خواهید که از بیننده سایتتون نامش رو بپرسید و در صفحه بعدی ورودش رو بهش خوش آمد بگید، برای این کار شما به متغیر ها برای اینکار نیاز دارید. این کار از ۴ طریق میتونه صورت بگیره:از طریق URL، از طریق جلسه، از طریق کوکی، از طریق یک فرم HTML.

ارسال متغیر ها از طریق URL
حتما آدرسی مثل آدرس زیر را دیدید.http://www.mydomain.com/news/articles/showart.php?id=12345
این آدرس مثالی هست برای ارسال متغیرها از طریق url . که درخواست میکنه article با ID : 12345 انتخاب بشه از صفحه showart.php . متن بعد از url را رشته پرس و جو یا query string میگن.

اشکالات ارسال متغیر از طریق URL
  1. همه میتونن مقادیر متغیر شما رو ببینند، به همین دلیل ارسال اطلاعات حساس از این طریق امن نیست.
  2. کاربر میتونه به صورت دستی مقدار متغیر را عوض کنه و مقدار دلخواهش رو بزاره و چیزی که نباید ببینه را ببینه.
  3. کاربر میتونه با وارد کردن اطلاعات غلط یا غیر دقیق به صفحه ای دسترسی پیدا کنه.


برای ارسال متغیر از این طریق باید از آرایه $_GET استفاده کنیم.

مثال
تغییرات هایلایت شده زیر را در فایل moviesite.php اعمال کنید. نکته هر جا که نوشته شده (delete this line) اون خطها را پاک کنید.
< html >
< head >
< title > My Movie Site – < ?php echo $_GET[‘favmovie’]; ? > < /title >
< /head >
< body >
< ?php
//delete this line: define(‘FAVMOVIE’, ‘The Life of Brian’);
echo ‘My favorite movie is ‘;
echo $_GET[‘favmovie’];
echo ‘ < br/ > ’;
$movierate = 5;
echo ‘My movie rating for this movie is: ‘;
echo $movierate;
? >
< /body >
< /html >

این فایل را ذخیره کنید ولی اجرا نکنید. یک فایل جدید دیگر ایجاد کنید با نام movie1.php و کدهای زیر را در آن تایپ کنید.
< html >
< head >
< title > Find my Favorite Movie! < /title >
< /head >
< body >
< ?php
echo ‘ < a href=”moviesite.php?favmovie=Stripes” > ’;
echo ‘Click here to see information about my favorite movie!’;
echo ‘ < /a > ’;
? >
< /body >
< /html >
فایل را ذخیره کنید و اجرا کنید. حالا بر روی لینک داده شده در صفحه مورد نظر کلیک کنید و متن و لینک بالا در مرورگر دقت کنید.
همانطور که در لینک میبینید $favmovie برابر با Stripesاست که از طریق $_GET[‘favmovie’] فراخوانی شده است و ما به این کار ارجاع میگیم.

ارسال متغیر ها از طریق جلسه ها (sessions)
اساسا جلسه ها یک سری متغیر موقت هستند که تا وقتی که مرورگر شما باز هستند کار میکنند. مثلا اگر دقت کرده باشید وقتی می خواهید وارد یک سایت شوید با یک نام کاربر و رمز عبور گزینه ای برای شما در نظر گرفته شده که نوشته “من را در این کامپیوتر به یاد داشته باش” و اگر شما آن را تیک نزنید یک جلسه برای شما ایجاد میشود.هر جلسه یک آی دی منحصر به فرد داره که اطلاعات رو در خودش نگه میداره. ای آی دی میتونه از طریق کوکی و یا URL منتقل بشه، که بهترین روش کوکی هست. برای شروع یک جلسه از session_start() استفده میکنیم. ولی اول باید بدونید که چه اطلاعاتی باید در جلسه ذخیره بشه. هر چیزی که در پایگاه اطلاعات شما هست میتونه در اینجا فراخوانی بشه

مثال
فرض کنید که میخواهید از طریق جلسه نام کاربر و صحت ورود کاربر به سایت را بفهمید.
تغییرات هایلایت شده زیر را در فایلmovie1.php اعمال کنید.
< ?php
session_start();
$_SESSION[‘username’] = ‘Joe12345’;
$_SESSION[‘authuser’] = ۱;
? >
< html >
< head >
< title > Find my Favorite Movie! < /title >
< /head >
< body >
< ?php
$myfavmovie = urlencode(‘Life of Brian’);
echo “ < a href=\”moviesite.php?favmovie=$myfavmovie\” > ”;
echo ‘Click here to see information about my favorite movie!’;
echo ‘ < /a > ’;
? >
< /body >
< /html >
حالا این فایل را ذخیره کنید و فایل moviesite.php را باز کنید و تغییرات زیر را اعمال کنید.
< ?php
session_start();
//check to see if user has logged in with a valid password
if ($_SESSION[‘authuser’] != ۱) {
echo ‘Sorry, but you don\’t have permission to view this page!’;
exit();
}
? >
< html >
< head >
< title > My Movie Site – < ?php echo $_GET[‘favmovie’]; ? > < /title >
< /head >
< body >
< ?php
echo ‘Welcome to our site, ‘;
echo $_SESSION[‘username’];
echo ‘! < br/ > ’;
echo ‘My favorite movie is ‘;
echo $_GET[‘favmovie’];
echo ‘ < br/ > ’;
$movierate = 5;
echo ‘My movie rating for this movie is: ‘;
echo $movierate;
? >
< /body >
< /html >
حالا فایل را ذخیره کنید و با اجرای movie1.php و کلیک بر روی لینک مورد نظر اطلاعاتی که در جلسه دادیم را خواهید دید.

نکاتی در مورد جلساتکدهایی که برای جلسات مینویسیم باید قبل از هر کد دیگری باشند. حتی اگر یک فاصله هم قبل از اون باشه شما یک خطا دریافت میکنید.

ارسال متغیر ها از طریق کوکی(Cookies)
کوکی ها اطلاعات کوچک ذخیره شده در کامپیوتر بازدید کننده سایت شما هستند. مزیت ذخیره اطلاعات در کوکی ها طول عمر اونها هست. همانطور که دیدید در جلسه فقط تا زمانی اطلاعات باقی میموند که مرورگر شما با باشه اما در کوکی ها این ماندگاری اطلاعات به برنامه نویس مربوط میشه.
برای شروع کار با کوکی باید از تابع setcookie() استفاده کرد. سپس باید برای کوکی نام تعیین کنیم. بعد مقداری که باید به کوکی بدیم را تعیین میکنیم مثل نام کاربری. بعد از اون زمان انقضا و از بین رفتن کوکی در ثانیه مثلا time()+60*60*24*365  باعث میشه تا اطلاعات برای یک سال ذخیره بشه، اگر این پارامتر را تعیین نکنیم کوکی ها مثل جلسه عمل میکنه. پارامتر بعدی مسیر ذخیره کوکی هست که این هم اختیاری هست. پارامتر بعدی دامنه ای که میتونه به کوکی دسترسی داشته باشه که این هم اختیاری هست. پارامتر بعدی هم تعیین میکنه که کوکی ها دارای ارتباط پروتکل HTTPS باشند یا خیر که پیشفرض اون ۰ هست و برای فعال کردنش باید ۱ قرار بدیم.
setcookie ($name[, $value[, $expire[, $path[, $domain[, $secure]]]]])
این مقادیر به $_COOKIE[‘cookiename’] ارجاع داده میشوند.

مثال
توی این مثال ما نام کاربری شخص را ذخیره میکنیم و هر دفعه که کاربر به صفحه دیگری میره، شناخته خواهد شد.تغییرات هایلایت شده زیر را در فایل movie1.php اعمال کنید.
< ?php
setcookie(‘username’, ‘Joe’, time() + 60);
session_start();
//delete this line: $_SESSION[‘username’] = ‘Joe12345’;
$_SESSION[‘authuser’] = ۱;
? >
< html >
< head >
< title > Find my Favorite Movie! < /title >
< /head >
< body >
< ?php
$myfavmovie = urlencode(‘Life of Brian’);
echo “ < a href=\”moviesite.php?favmovie=$myfavmovie\” > ”;
echo ‘Click here to see information about my favorite movie!’;
echo ‘ < /a > ’;
? >
< /body >
< /html >
فایل را ذخیره کنید و تغییرات هایلایت شده زیر را در فایل moviesite.php اعمال کنید.
a< ?php
session_start();
//check to see if user has logged in with a valid password
if ($_SESSION[‘authuser’] != ۱) {
echo ‘Sorry, but you don\’t have permission to view this page!’;
exit();
}
? >
< html >
< head >
< title > My Movie Site – < ?php echo $_GET[‘favmovie’]; ? > < /title >
< /head >
< body >
< ?php
echo ‘Welcome to our site, ‘;
echo $_COOKIE[‘username’];
echo ‘! < br/ > ’;
echo ‘My favorite movie is ‘;
echo $_GET[‘favmovie’];
echo ‘ < br/ > ’;
$movierate=5;
echo ‘My movie rating for this movie is: ‘;
echo $movierate;
? >
< /body >
< /html >

فایل را ذخیره کنید و اگر مرورگرتون باز هست اون رو ببندید و دوباره باز کنید. سپس فایل movie1.php را باز کنید و بر روی لینک مورد نظر کلیک کنید. حالا باید متن زیر را در مرورگرتون ببینید.Welcome to our site, Joe!My favorite movie is life of brianMy movie rating for this movie is: 5

نکاتی در مورد جلسات
کوکی ها هم مانند جلسات باید اول و قبل از هر کد دیگری نوشته شوند و اگر نه با پیام خطایی مواجه خواهید شد.ما در این مثال زمان انقضای کوکی را ۶۰ ثانیه قرار دادیم اما شما میتونید این زمان را بیشتر کنید.

این سه روش از مهمترین روش های ارسال متغیر ها دربین صفحات سایت بود. من ارسال متغیر ها از طریق فرم را فقط مثال میزنم و توضیح نمیدم(خیلی واضح هست).
مثال در رابطه با ارسال متغیر از طریق فرم هاتغییرات هایلایت شده زیر را در فایل movie1.php اعمال کنید.
< ?php
//delete this line: setcookie(‘username’, ‘Joe’, time() + 60);
session_start();
$_SESSION[‘username’] = $_POST[‘user’];
$_SESSION[‘userpass’] = $_POST[‘pass’];
$_SESSION[‘authuser’] = ۰;
//Check username and password information
if (($_SESSION[‘username’] == ‘Joe’) and
($_SESSION[‘userpass’] == ‘۱۲۳۴۵’)) {
$_SESSION[‘authuser’] = ۱;
} else {
echo ‘Sorry, but you don\’t have permission to view this page!’;
exit();
}
? >
< html >
< head >
< title > Find my Favorite Movie! < /title >
< /head >
< body >
< ?php
$myfavmovie = urlencode(‘Life of Brian’);
echo “ < a href=\”moviesite.php?favmovie=$myfavmovie\” > ”;
echo “Click here to see information about my favorite movie!”;
echo “ < /a > ”;
? >
< /body >
< /html >
تغییرات هایلایت شده زیر را در فایل moviesite.php اعمال کنید.
< ?php
session_start();
//check to see if user has logged in with a valid password
if ($_SESSION[‘authuser’] !=۱ ) {
echo ‘Sorry, but you don\’t have permission to view this page!’;
exit();
}
? >
< html >
< head >
< title > My Movie Site – < ?php echo $_GET[‘favmovie’]; ? > < /title >
< /head >
< body >
< ?php
echo ‘Welcome to our site, ‘;
//delete this line: echo $_COOKIE[‘username’];
echo $_SESSION[‘username’];
echo ‘! < br/ > ’;
echo ‘My favorite movie is ‘;
echo $_GET[‘favmovie’];
echo ‘ < br/ > ’;
$movierate = 5;
echo ‘My movie rating for this movie is: ‘;
echo $movierate;
? >
< /body >
< /html >
یک فایل جدید درست کنید و با نام login.php ذخیره کنید و سپس کدهای زیر را در آن تایپ کنید.
< ?php
session_unset();
? >
< html >
< head >
< title > Please Log In < /title >
< /head >
< body >
< form method=”post” action=”movie1.php” >
< p > Enter your username:
< input type=”text” name=”user”/ >
< /p >
< p > Enter your password:
< input type=”password” name=”pass”/ >
< /p >
< p >
< input type=”submit” name=”submit” value=”Submit”/ >
< /p >
< /form >
< /body >
< /html >
فایل login.php را در مروگر باز کنید و نام کاربر را Joe12345 و رمز عبور را ۱۲۳۴۵ قرار دهید و وارد شوید.
میبینید که با یک پیام خطا مواجه میشید، چون نام کاربری اشتباه وارد شده پس دوباره به صفحه قبل برگردید و نام کاربر را Joe قرار دهید و وارد شوید.
نکته : دستور session_unset() باعث خارج کردن کاربر از سایت و پاک کردن جلسه هایی که از قبل در مرورگر باقی مونده میشه.
در صورتی که قبلا با html  کار کرده باشید حتما دیدید که در فرم ها از دستور post و get استفاده میشه. در اینجا هم ما برای اینکه بخشی از فرم را به برنامه ارجاع بدیم از $_POST استفاده کردیم.Authuser نیز بررسی میکند که اگر در نام کاربر و رمز مطابقت وجود ندارد پیامی برای کاربر نمایش داده شود.

 این هم از پایان جلسه دوم


منبع :
کد php:
www.gooyait.com 


 

ســیــتــی فــانــــ

انجمن تفریحی تک آرام


انجمن تک آرام به دنبال گروه مدیریت میگردد ... !!!

پس کلیک کنین ...

(آخرین ویرایش در این ارسال: 05-14-1393 02:43 ق.ظ، توسط sajjad.)
05-14-1393 02:42 ق.ظ
مشاهده‌ی وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
 سپاس شده توسط admin
ارسال موضوع ارسال پاسخ


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان