صفحه 2 از 3 نخستنخست 123 آخرینآخرین
نمایش نتایج: از شماره 11 تا 20 , از مجموع 26

موضوع: آموزش گقدم به قدم برنامه نویسی به زبان php از پایه

  1. #11
    عضو جدید
    تاریخ عضویت
    Apr 2011
    نوشته ها
    24
    تشکر تشکر کرده 
    2
    تشکر تشکر شده 
    107
    تشکر شده در
    19 پست

    پیش فرض پاسخ : آموزش گقدم به قدم برنامه نویسی به زبان php از پایه

    داشتم عرض میکردم که روش دستیابی به اطلاعات متغیر های یک فرم خیلی مهمه

    اگر به مثال بالا توجه کرده باشید حتما متوجه شدید ولی باز من توضیح می دم

    سه روش برای این کار هست به عنوان مثال مثلا برای دستیابی به متغیر فرم pasqty که در مثال ch3-6.html قرار داره به دو روش زیر عمل میکنیم

    pasqty$

    یا

    کد PHP:
    $_POST['pasqty'
    اگر بخواهیم از روش اول استفاده کنیم باید تغیراتی توی فایل php.ini ایجاد کنید به این ترتیب:

    register_globals = on

    تو حالت عادی یا مقدارش off هست یا بصورت توضیحاته و اجرا نمیشه

    یادتون نره بعد از ایجاد تغیر سیستم رو ریست کنید

    البته این روش پیشنهاد نمیشه چون مشکل امنیتی ایجاد میشه

    اما روش دوم ،روش مناسب تریه . ولی تو نسخه های اولیه php یعنی پائین تر از php 4.1.0 قابل استفاده نیست

    توی این روش بهتره برای متغیر ها از اسم های کوچیک استفاده کنید

    پس شد به این صورت

    کد PHP:
    $p $_POST['pasqty']; 
    دستور پنجم با استفاده از قیمت کتاب ها و تعداد درخواست . کل هزینه درخواست رو محاسبه می کنهو توی متغیر price$ قرار میده

    دستورات 6 و 7 متغیر های sum$ و price$ رو در مرورگر نمایش میدن

    توضیحات در برنامه php

    تقریبا هممون میدونیم که توضیحات توی برنامه به دلیل بالا بردن میزان خوانایی برنامه قرار دادهمیشه

    توی php برای قرار دادن توضیحات از دو روش استفاده میشه

    1- استفاده از */و/* برای توضیحات چند سطری

    2- استفاده از // برای توضیحات یک سطری

    کد PHP:
    /* this is a multiple
    line cooments used in php
    */

    //this is a single line comment 


    دستکاری رشته ها

    رشته ها هم نوعی از داده ها هستن ،اعمالی مثل جست جو و مقایسه رشته ها و عبارات منظم ، به وفور مورد استفاده قرار میگیرن.

    حذف فضاهای خالی


    معمولا توی انجام مقایسه ها و و جست و جو ها از فضای خالی رشته ها صرف نظر میشه

    برای این کار از چند تابعی که بهتون معرفیمیکنم استفاده میشه

    تابع()ltrim: این تابع فضای خالی سمت چپ رشته ای رو حذف میکنه
    کد PHP:
    ltrim($str); 
    تابع ()chop این تابع فضای خالیه سمت راست رو حذف میکنه
    کد PHP:
    chop($str); 
    تابع ()trim فضای خالی سمت چپ و راست رو حذف میکنه
    کد PHP:
    trim($str); 







    ---------- Post added at 06:07 PM ---------- Previous post was at 04:36 PM ----------

    اگر بشه این قسمت رو امشب تموم میکنم و از فردا میریم روی آرایه ها و ساختارهای کنترلی کار کنیم


    تبدیل حروف به رشته ها

    توابعی هم وجود دارن که میتونن حروف کوچیک رو به بزرگ و برعکس تبدیل کنن

    تابع()stroupper: این تابع رشته را به حروف بزرگ تبدیل میکنه

    تابع()strtolower: این تابع به حروف کوچیک تبدیل میکنه

    تابع ()ucfirst: " " اولین حرف رشته رو به حرف بزرگ تبدیل میکنه

    تابع ()ucwords: " " اولین حرف تمام کلمات رشته ای رو به حروف بزرگ تبدیل میکنه


    روش استفاده این توابع به این صورت هست که اسم تابع نوشته میشه و داخل پرانتز نام متغیر قرار میگیره

    مثال :

    کد PHP:
    ucwords($str); 


    الحاق و تجزیه رشته ها

    توابعی هم هستن که برای الحاق دو یا چند رشته یا تجزیه رشته به چند زیر رشته به کار میرن


    تابع()explode: این تابع رشته رو دریافت کرده اون رو بر اساس جدا کننده ای که به عنوان پارامتر مشخص می شه تجزیه میکنه و توی آرای قرار میده.


    کد PHP:
    explode(separator.str[,int limit]); 

    separator کاراکتر جدا کننده

    str$ رشته ای که باید تجزیه بشه

    limit مشخص میکنه که چند تکه از رشته جدا شود

    و در آرایه قرار بگیره

    کد PHP:
    $mail "abcd@yahoo.com";
    $ar explode ('@'$mail); 

    دستور اول رشته ای رو تعریف میکنه

    دستور دوم این رشته رو به دو بخش میکنه در آرایه ar$ میریزه

    بطوری که [0]a$ برابر با abcd و [1]ar$ برابر با yahoo.com



    فعلا رو اینا تمرین کنید تا دوباره شروع کنم

    موفق باشید

  2. تعداد تشکر ها ازphpman به دلیل پست مفید


  3. # ADS




     

  4. #12
    عضو جدید
    تاریخ عضویت
    Apr 2011
    نوشته ها
    24
    تشکر تشکر کرده 
    2
    تشکر تشکر شده 
    107
    تشکر شده در
    19 پست

    پیش فرض پاسخ : آموزش گقدم به قدم برنامه نویسی به زبان php از پایه

    تابع ()implode :

    این تابع برعکس تابع قبلیه و به صورت زیر استفاده میشه

    implode(separator,array);


    separator کاراکتر جدا کننده و array آرایه ایه که رشته های موجود توی اون باید الحاق بشن




    تابع join هم دقیقا مثل تابع implode استفاده میشه


    نابع stroke

    هر بار که روی رشته ای اجرا بشه یک نشانه رو جدا میکنه

    stroke(str,separator);

    str رشته ایه که نشانه ای از اون با separator تفکیک شده ،جدا می شود.


    $str = 'computer science';
    $t = stroke($str, '');

    با این دستور واژه computer در t$ قرار میگیره


    تابعsubstr
    این تابع زیر رشته ای را از یک رشته جدا میکنه

    substr(str, start[,length]);


    این تابع رشته ای را به طول length را با شروع از موقعیت start در رشته str برمیگرداند.اگر length مشخص نشه از start تا انتها ی رشته برگردونده میشه

    $str = "you are learning php";
    $sub = substr($str, 18,3);

    این مثال رشته php رو جدا میکنه و در sub$ قرار می ده. موقعیت اولین کاراکتر هم صفره

    ---------- Post added at 02:22 PM ---------- Previous post was at 02:17 PM ----------

    دوستان اگر کسی ایرادی اشکالی چیزی میبینه و میتونه، درستش کنه .
    کمی سخته که این کار بدون کمک انجام بشه

    دوستان توجه کنن چون اینکار زمان زیادی برای تایپ میبره و من هرچی تا حالا دیدید رو پای سیستم ،خودم دارم تایپ میکنم بنابر این غلط هایی هم ممکن دیده بشه که هم به بزرگی خودتون ببخشید و هم اگر ایرادها باعث شده بود چیزی رو متوجه نشید بگید تا یا درستش کنم یا توضیح بدم

    ممنون از توجه و همکاریتون


    ---------- Post added at 04:03 PM ---------- Previous post was at 02:22 PM ----------

    ساختارهای کنترلی و آرایه ها


    ساختارهایی وجود دارن که باعث کنترل جریان برنامه یا اسکریپت میشن

    به دو دسته هم تقسیم میشن 1- ساختار تصمیم گیری یا شرطی 2- ساختار تکرار یا حلقه

    تصمیم گیری

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

    وگرنه دستورات دیگه ای اجرا میشه

    بنابر این ساختار های تصمیم گیری می تونن جریان اجرای برنامه رو تغییر بدن.بدون این ساختارها دستورات برنامه رو از اول تا آخر اجرا می کنن.

    ساختارهای تصمیم توی php دستورات if و else و switch هستند که دونه دونه روشون بحث نیکنیم


    دستور if

    برای پردازش داده هایی که کاربر در فرم وارد میکنه نیاز به تصمیم گیری داریم ویکی از دستوراتی که تصمیم گیری رو ممکن میکنه دستور if

    هست.مثلا اگر سفارش کاربر کمتر از 1000 تومن بود تخفیف نداره و گرنه 5% تخفیف داره. برای این کار میتونیم از دستور if استفاده کنیم.


    روش بکار بردن این دستور:

    (شزط)if

    }

    دستور1 ;

    ...

    دستور n ;

    {


    روش دوم


    (شزط)if

    }

    دستور1 ;

    ...

    دستور n ;

    {

    else
    }

    دستور e1
    ...
    دستور en

    {



    اینم بگم که اگر دستوراتی که توی هر مورد باید اجرا بشن بیشتر از یک ی نباشه نیاز به {} نیست


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

    میکنیم و از دستور if توش استفاده میکنیم


    با استفاده از if شرطی رو اضافه میکنیم که اگر کاربر میزان سفارشش بیش از 100000ریال بود 5% تخفیف بده و در نهایت تعداد خرید رو هم نشون بده
    کد HTML:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    </head>
    <body>
    <form action="ch4-1.php" method="post">
    <table border=0>
    <tr bgcolor="#CC0000">
       <td align="center">booname</td>
       <td align="center">Quantity</td>
    </tr>
    <tr bgcolor="#999999">
        <td>pascal</td>
        <td><input type="text" name="pasqty" size="3" maxlength="3"></td>
    </tr>
    <tr bgcolor="#999999">
        <td>visual C++</td>
        <td><input type="text" name="vcqty" size="3" maxlength="3"></td>
    </tr>
    <tr bgcolor="#999999">
        <td>C programming</td>
        <td><input type="text" name="cqty" size="3" maxlength="3"></td>
    </tr>
    <tr bgcolor="#999999">
    <td>
      <input type="submit" value="submit order">
    </td>
    </tr>
    </form>
    </body>
    </html>

    کد های بالا برای صفحه دریافت اطلاعاته صفحه بعدی php باید باشه و با نام ch4-1.php ذخیرش کنید

    اینم از کدهای قسمت رسید خرید

    کد PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>

    <body>
    <?php
    $sum 
    $_POST['pasqty']+ $_POST['vcqty']+ $_POST['cqty'];
    $price=$_POST['pasqty']*3000 $_POST['vcqty']*2500 $_POST['cqty']*4000;

    echo 
    '<b>رسید خرید شما:'.'<br>';
    echo 
    '<b>pascal:'$_POST['pasqty'].'<br>';
    echo 
    '<b>visual:'$_POST['vcqty'].'<br>';
    echo 
    '<b>cprogramming:'$_POST['cqty'].'<br>';
    echo 
    '<b>total quantity:'$sum.'<br>';
    echo 
    '<b>Total price:'$price.'<br>';
    if (
    $price 100000)
        
    $discount $price /100;

        ELSE
          
    $discount
          echo 
    'discount'.$discount;
          echo 
    'payment'.($price-$discount);
    ?>
    </body>
    </html>


    ---------- Post added at 04:06 PM ---------- Previous post was at 04:03 PM ----------

    به کدهای قسمت if و else توجه کنید

    ---------- Post added at 04:46 PM ---------- Previous post was at 04:06 PM ----------

    دستور بعدی elseif

    بچه ها if در مسئله هایی با دو گزینه بکار میره

    اگر بیش از دو گزینه داشته باشیم یا باید از if های تو در تو استفاده کنیم یا اینکه از دستور elseif استفاده کنیم

    روش اول که توصیه نمیشه چون خیلی گیج کننده و نا منظم هست اما کار با elseif که در واقع ترکیبی از if و else هست بهتره و توصیه

    میشه ازش استفاده کنیدیه مثال هم میزنم که کامل متوجه موضوع بشید



  5. تعداد تشکر ها ازphpman به دلیل پست مفید


  6. #13
    عضو جدید
    تاریخ عضویت
    Apr 2011
    نوشته ها
    24
    تشکر تشکر کرده 
    2
    تشکر تشکر شده 
    107
    تشکر شده در
    19 پست

    پیش فرض پاسخ : آموزش گقدم به قدم برنامه نویسی به زبان php از پایه

    دوستان کمی سرم شلوغ بود نتونستم ادامه بدم از فردا مطالب جدید در این بخش قرار میگیره
    برای اینکه در جریان قرار بگیرید که بعد از پایان این دوره چه چیزهایی یاد میگیرید یه تعدادیشو مینویسم

    احتمالا در همین بخش و در ادامه همین مبحث آموزش my sql هم مینویسم
    ارتباط پی اچ پی با my sql
    کوکی ها و نشست ها
    تشخیص هویت کاربران و شخصی سازی سایت
    ساخت سبد خرید
    پیکربندی فایل php.ini و خیلی چیزهای دیگه رو بعد از اتمام این دوره کامل یاد میگیرید

    در ضمن اگر پیشنهادی برای بهتر شدن دارید ارائه کنید ممنون میشم

  7. تعداد تشکر ها ازphpman به دلیل پست مفید


  8. #14
    عضو جدید
    تاریخ عضویت
    Apr 2011
    نوشته ها
    24
    تشکر تشکر کرده 
    2
    تشکر تشکر شده 
    107
    تشکر شده در
    19 پست

    پیش فرض پاسخ : آموزش گقدم به قدم برنامه نویسی به زبان php از پایه

    سلام خدمت همه دوستای گلم مبحث آموزش php رو ادامه میدیم با مثالی ا ز دستور elseif

    این مثال همون مثال سفارش کتابه که تکمیلش میکنیم و چند شرط بهش اضافه میکنیم

    خرید کنتر از 10 عدد تخفیف نداره

    10 تا 49 تا 5% تخفیف داره

    50 تا 99 10 %تخفیف داره

    100 تا یا بیشتر 15% تخفیف داره

    این صفحه رو مثلا با نام ch4-2.html ذخیره کنید

    کد HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Untitled Document</title>
    <style type="text/css">
    <!--
    .style1 {color: #FFFFFF}
    -->
    </style>
    </head>
    
    <body>
    <FORM ACTION="CH4-2.PHP" METHOD="POST">
    <TABLE width="251">
    <Tr>
     <td bgcolor="#333333"><div align="center" class="style1">نام کتاب</div></TD>
     <td bgcolor="#333333"><div align="center" class="style1">تعداد</div></TD>
    </tr>
    <tr>
    <td bgcolor="#FFFF00"><div align="center">پاسکال</div></td>
    <td bgcolor="#FFFF00"><input type="text" name="pascalq" size="3" maxlength="3"></td>
    </tr>
    <tr>
     <td bgcolor="#FFFF00"><div align="center">ویژوال بیسیک</div></td>
     <td bgcolor="#FFFF00"><input type="text" name="visualq" size="3" maxlength="3"></td>
    </tr>
    <tr>
     <td bgcolor="#FFFF00"><div align="center">برنامه c</div></td>
     <td bgcolor="#FFFF00"><input type="text" name="cq" size="3" maxlength="3"></td>
    </tr>
    <tr>
    <td bgcolor="#FFFF00"><div align="center">
      <input type="submit" value="خرید">
    </div>
    <td bgcolor="#FFFF00">
    
    </tr>
    </TABLE>
    </form>
    </body>
    </html>

    حالا باید صفحه محاسباتمون رو طراحی کنیم این صفحه رم با نام ch4-2.php ذخیره کنید

    کد PHP:
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>

    <body>
    <?php
    $sum
    $_POST['pascalq']+ $_POST['visualq']+ $_POST['cq'];
    $price=$_POST['pascalq']*3000+$_POST['visualq']*2500 $_POST['cq']*4000;
    echo 
    '<b> you ordered as follow:'.'<br>';
    echo 
    'pascal:'.$_POST['pascalq'].'<br>';
    echo 
    'visual c++:'$_POST['visualq'].'<br>';
    echo 
    'c programming:'.$_POST['cq'].'<br>';
    echo 
    'TOTAL quantity:'$sum .'<br>';
    echo 
    'TOTAL PRICE:' .$price.'<br>';
    if (
    $sum 10)
        
    $dicount=0;
        elseif(
    $sum >=10&&$sum<=49)
        
    $discount=$price */100;
        elseif(
    $sum>=50&&$sum<=99)
        
    $discount=$price *10 100;
        else
        
    $discount=$price *15/100;
        echo 
    'discount='.$discount;
        echo 
    'pament=' . ($price$discount);
        

    ?>
    </body>
    </html>
    دستور switch

    اگر یه شرط دارای 2 مقدار باشه برای تصمیم گیری بر اساس نتیجه اون شرط از دستور if استفاده می شه. اما اگه شرط بیش از دو مقدار داشته باشه

    میتونیم از switch استفاده کنیم توی شرط if مقدار true یا false داشته باشه اما در دستور switch هرمقداری می تونه داشته باشه

    ---------- Post added at 03:00 PM ---------- Previous post was at 02:59 PM ----------

    شکل کلی دستور
    کد PHP:
    switch(avalable)
    {
                  
    مقدار case1;
                  ....
                  break;
                  
    مقدار case2;
                  ....
                  break;
                  .
                  .
                  .
                  default;
                  ...
                  break;
                  } 


    ---------- Post added at 03:15 PM ---------- Previous post was at 03:00 PM ----------

    توی این دستور اگر مقدار variable برابر 1 باشه دستورات مربوط به خودش اجرا میشه و دستور break باعث خروج از ساختار استفاده میشه.
    اگر مقدارش 2 باشه دستورات مربوط به اون اجرا میشه و اگر هیچکدوم از مقادیر ذکر مشه دستورات بعد از default اجرا میشه

    فکر کنم با این مثال کاملا توجیح بشید:

    به نام ch4-3.html ذخیره کنید

    کد HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>
    
    <body>
    <table border=0>
    <form action="ch4-3.php" method="post">
    <tr>
    <td bgcolor="#33FF00"><h5>how do you find my site?</h5></td>
    </tr>
    <tr>
    <td bgcolor="#66FF00">
    <select name="find">
    <option value="a" >i'm regular customer.</option>
    <option value="b">tv and radio advertising</option>
    <option value="c">i heared from my student</option>
    <option value="d"> i found it by search engine.</option> 
    </select>
    </td>
    </tr>
    <tr>
    <td bgcolor="#66FFFF"><input type="submit" value="submit order"></td>
    </tr>
    </form>
    </table>
    </body>
    </html>
    باز هم نیاز داریم به طراحی صفحه php که اون رو هم با نام ch4-3.php ذخیره میکنیم

    کد PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    </head>

    <body>
    <?php
    switch($_POST['find'])
    {
    case 
    'a':
     echo 
    '<b><p>regular customer.<p>';
     break;
     case 
    'b':
     echo 
    '<b><p> customer refferd by advertisment.<p>';
     break;
     case 
    'c':
     echo 
    '<b><p>customer refferd by his friend.<p>';
     break;
     case 
    'd':
     echo 
    '<b><p>customer refferd by search engine.<p>';
     break;
     default:
     echo 
    '<b><p>we do not know how customer found us.<p>';
     break;
     }
      
    ?>
    </body>
    </html>
    توی دستور بالا بوسیله select یک لیست بازشونده می سازیم با 4 گزینه اسمشم find میزاریم

    هر گزینه با یک مقدار مشخص میشه گزینه اول برابر با a

    گزینه دوم b

    گزینه سوم c

    و گزینه چهارم d

    وقتی کاربر گزینه ای رو انتخاب کنه ئ دکمه رو بزنه یکی از مقادیر a,b,c,d, در متغیر finde$ قرار میگیره که توی برنامه ch4-3.php قابل دستیابیه

    اگر خوب دقت کنید میبینید که یه دستور switch متغیر find رو بصورت
    کد PHP:
    switch($_POST['find']) 
    بررسی میکنه و بر اساس مقدار این متغیر

    پیامی رو چاپ میکنه

    ---------- Post added at 03:16 PM ---------- Previous post was at 03:15 PM ----------

    مبحث بعدی ساختار تکرار و دستور while

  9. تعداد تشکر ها ازphpman به دلیل پست مفید


  10. #15
    عضو جدید
    تاریخ عضویت
    Apr 2011
    نوشته ها
    24
    تشکر تشکر کرده 
    2
    تشکر تشکر شده 
    107
    تشکر شده در
    19 پست

    پیش فرض پاسخ : آموزش گقدم به قدم برنامه نویسی به زبان php از پایه

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

    این دستور ساده ترین ساختار تکرار در php هست. معمولا در مواردی به کار میره که تعداد دفعات اجرای حلقه از قبل مشخص نیست.
    کد PHP:
    while(شرط)
    {
    دستور1;
    ...
    دستورn;


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

    برای درک بهتر این موضوع یه صفحه طراحی می کنیم که مثلا هزینه ارسال کتاب درخواستی کاربر رو بر اساس فاصله حساب کنه فاصله از 50 تا 300 کیلومتر در نظر گرفته میشه.

    کد PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    </head>

    <body>
    <table width="164" border="0" cellpadding="3">
    <tr>
       <td width="81" align="center" bgcolor="#FFFF00" >Distance</td>
       <td width="65" align="center" bgcolor="#993300" >Cost</td>
    </tr>
    <?php
    $distance
    50 ;
    while(
    $distance <=300)
    {
    echo 
    '<b><tr><td align="right">'$distance .'</td>';
    echo 
    '<b><td align="right">'.$distance/10 .'</td></tr>';
    $distance +=50;
    }
    ?>
    </table>

    </body>
    </html>

    دستور بعدی do while

    این دستور مشابه دستور while فرقشون در اینه که در این دستور شرط حلقه در انتها بررسی میشه ولی در دستور قبل شرط حلقه در ابتدا بررسی میشد در واقع در این ساختار حتما دستورات یکبار انجام میشن


    کد PHP:
    do
    {
         
    دستور1;
         ...
         
    دستور n;
         
         
         

    }while(
    شرط); 
    برای درک بهتر این مسئله هم یک صفحه طراحی میکنیم که عددی از ورودی بگیره و معلوم کنه این عدد اول هست یا نه

    کد های این مثال رو بعدا در این قسمت قرار میدم فعلا خودتون تست کنید ببینید می تونید این مسئله رو حل کنید یا نه




    درس بعدی بعد از حل این مسئه در مورد دستور for هست موفق باشید

  11. تعداد تشکر ها ازphpman به دلیل پست مفید


  12. #16
    عضو جدید
    تاریخ عضویت
    Apr 2011
    نوشته ها
    24
    تشکر تشکر کرده 
    2
    تشکر تشکر شده 
    107
    تشکر شده در
    19 پست

    پیش فرض پاسخ : آموزش گقدم به قدم برنامه نویسی به زبان php از پایه

    خوب دوستان اینم کدهای مسئله بالا


    اول یک صفحه html طراحی می کنیم که اطلاعات رو از کاربر بگیره و ببا اسم ch4-5.html ذخیره میکنیم

    کد HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    </head>
    
    <body>
    <form method="post" action="ch4-5.php">
    whats your name:
    <input name="guess" typr="text">
    <br>
    <br>
    <input type="submit" value="clickhere to check if it is prime">
    <br>
    </form>
    
    </body>
    </html>

    بعد از این صفحه محاسبات رو مینویسیم و با اسم ch4-5.php ذخیره میکنیم


    کد PHP:
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    </head>

    <body>
    <?php
    $count
    =2;
    $x=$_POST['guess'];
    do
    {
        
    $remainder$x%$count;
         
    $count$count+1;
    }
    while(
    $remainder!= and $count<$x);
    if ((
    $count $x ) || ($x == 0))
    {
    echo (
    "number $x is not prime");
    } else {
       echo (
    "number $x is prime");
    }
    ?>
    </body>
    </html>
    دستور for

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

    دستورات رو شمارش میکنه.

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

    بار اجرای دستورات حلقه ، چند واحد به شمارنده حلقه اضافه بسه.

    روش بکارگیری این دستور هم به شکل زیر هست؟

    (گام افزایش;شرط حلقه;مقدار اولیه شمارنده حلقه) for
    }

    ...
    {


    توجه کنید که اگر تعداد دستوراتی که تکرار می شوند بیش از یکی نباشن نیاز به }{ نیست.


    کد PHP:
    for($i 0$i5$i++)
    {
    دستورات حلقه


    تحلیل کد بالا:

    i$:شمارنده یا اندیس حلقه

    مقدار اولیه شمارنده حلقه = 0

    شرط حلقه : 5>i$

    گام افزایش :1 (پس از هر بار اجرا ،یک واحد به i$ اضافه می شود)

    در ادامه صفحه ای طراحی می کنیم که تعداد دوستان یک کاربر رو دریافت کنه بطور پویا کادرهای متنی رو بر اساس این تعداد ایجاد کنه .

    این تمرین هم حل کنید تا بعدا کد هاش رو در ین قسمت قرار بدم

    ---------- Post added at 08:10 PM ---------- Previous post was at 06:50 PM ----------

    کد HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    </head>
    
    <body>
    <form action="ch4-6.php" method="post">
    how many friend do you have
    <input name="NUMBER" type="text" size="3">
    <br>
    <br>
    <input type="submit" value="submit order">
    <br>
    </form>
    </body>
    </html>

    این هم صفحه پی اچ پی برای انجام محاسبات
    کد PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    </head>

    <body>
    <?php
    $NUM
    =$_POST['NUMBER'];
    for (
    $counter=0$counter $NUM$counter++)
    {
    $Offset=$counter+1;
    echo 
    "<br><br>pleas enter the name of friend number $Offset<br>";
    echo 
    "<input name=child type=text>";
    }
    ?>
    <br>
    <br>

    </body>
    </html>



    در خط چهارم این برنامه تعداد دوستان کاربر که در متغیر فرم
    کد PHP:
    $_POST['NUMBER']; 
    قرار داره در متغیر num$ قرار میگیرن حلقه تکرار for در خط 5 بر اساس این مقدار کادر متنی ایجاد میکنه تا نام ها رو دریافت کنه



    قسمت بعد انتقال کنترل غیر شرطی

  13. تعداد تشکر ها ازphpman به دلیل پست مفید


  14. #17
    عضو جدید
    تاریخ عضویت
    Apr 2011
    نوشته ها
    24
    تشکر تشکر کرده 
    2
    تشکر تشکر شده 
    107
    تشکر شده در
    19 پست

    پیش فرض پاسخ : آموزش گقدم به قدم برنامه نویسی به زبان php از پایه

    انتقال کنترل غیر شرطی

    تعدادی از دستور ها توی php هستن که کنترل اجرای برنامه رو بدون هیچ شرطی از نقطی ای به نقطه دیگه منتقل میکنه.

    اولین دستور در این بخش دستور break

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

    در قسمت switch از این دستور استفاده کردیم.

    دومین دستور دستور continue

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

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

    دستور exit

    اجرای این دستور موجب خاتمه اجرای دستورات میشه . به عنوان مثال وقتی خطایی بوجود بیاد استفاده از این دستور مناسبه

    مثال

    صفحه این طراحی میکنیم که نام و سن ار بر رو بگیره و اگر سن زیر 1 و بالای 120 بود پیغامی رو چاپ کنه.

    اگر هم بین 1 و 120 بود پیغامی چاپ کنه .توی این برنامه از exit استفاده میشه

    ---------- Post added at 04:38 PM ---------- Previous post was at 03:59 PM ----------

    کد HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    </head>
    
    <body>
    <form action="ch4-7.php" method="post">
    <table width="245" border=0>
    <tr>
    <td width="151" bgcolor="#33FF00">NAME</td>
    <td width="84" align="center" bgcolor="#33FF00" ><input name="name" type="text" size="3"></td>
    </tr><br>
    <tr><td bgcolor="#FFFF00">Age</td>
    <td align="center" bgcolor="#FFFF00"><input name="age"  type="text" size="3" ></td>
    </tr>
    <tr><td bgcolor="#FFCC66"><input type="submit" value="submit Order"></td>
    </tr>
    </table>
    </form>
    </body>
    </html>

    کد PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>

    <body>
    <?php
    $a
    =$_POST['age'];
    $n=$_POST['name'];
    if(
    $a<|| $a>120 )
    {
    echo 
    "<b> age $a is out of range";
    exit;
    }
    else
    echo 
    "<b> age $a is in range";
    echo 
    "<b><br> name is $n and age is $a";
    ?>
    </body>
    </html>

  15. تعداد تشکر ها از phpman به دلیل پست مفید


  16. #18
    عضو جدید
    تاریخ عضویت
    Apr 2011
    نوشته ها
    24
    تشکر تشکر کرده 
    2
    تشکر تشکر شده 
    107
    تشکر شده در
    19 پست

    پیش فرض پاسخ : آموزش گقدم به قدم برنامه نویسی به زبان php از پایه

    آرایه
    تا الان یادگرفتیم که متغیر تعریف کنیم و یک مقدار رو توش ذخیره کنیم .اما باید بگم یه ساختار دیگه ای هم در php هست که دنباله ای از مقادیر رو توی خودش ذخیره می کنه .آرایه میتونه دارای چند عنصر باشه که هر کدوم این عناصر میتونن مقداری رو تو خودشون ذخیره کنن مقادیری مثل عدد . یا متن ،یا یه آرایه دیگه

    دو نوع آرایه در php وجود داره

    آرایه هایی با اندیس عددی و آرایه های انجمنی

    مورد 1 اونهایی هستند که برای فراخوانی عناصر اون از اندیس استفاده میشه . اما در آرایه های انجمنی ،اندیسی که با اون به عنصر آرایه دسترسی پیدا میکنیم می تونه غیر از عدد باشه.
    نکته :اگر در یک آرایه 5 مقدار وجود داشته باشه همیشه اندیس اولین مقدار صفر است . مگر اینکه خودمون براش تعریف کنیم که از چه عددی شروع بشه.

    برای تعریف آرایه از کلمه array استفاده میکنیم برای درک این موضوع مثال زیر رو خوب نگاه کنید.
    کد PHP:
    $m = array (2,4,6,8,9); 
    حالا به این مثال توجه کنید


    کد PHP:
    Echo $m[1]  ;
    Echo 
    $m[3]; 

    دستور اول مقدار 4 و دستور دوم مقدار 8 رو نمایش میده. چون اندیس $m از صفر شروع میشه

    با دستور انتساب میشه به عناصر یک آرایه مقدار داد.

    کد PHP:
    $z [2]=3;
    $z [1]=6
    اگه بخواهیم هم یه آرایه ایجاد کنیم و هم بازه ای از اعداد رو توش قرار بدیم از کلمه range استفاده میکنیم

    کد PHP:
    $m range(10,15); 
    با توجه به این دستور اعدا 10 تا 15 در این آرایه قرار میگیره
    برای دستیابی به عناصر یک آرایه میشه از حلقه تکرار استفاده کرد.

    مثال


    کد PHP:
    $m = array(5,10,15,20,25);
    For(
    $i 0$m 5$m++);
      echo 
    “$m[i]

  17. تعداد تشکر ها از phpman به دلیل پست مفید


  18. #19
    عضو جدید
    تاریخ عضویت
    Apr 2011
    نوشته ها
    24
    تشکر تشکر کرده 
    2
    تشکر تشکر شده 
    107
    تشکر شده در
    19 پست

    پیش فرض پاسخ : آموزش گقدم به قدم برنامه نویسی به زبان php از پایه

    با دستور while هم میشه این کارو انجام داد.

    کد PHP:
    $i 0;
    while(
    $i)

    {
       echo 
    "$x[$i]";
       
    $i++;
     } 

    دستور foreach

    به جز دو دستور بالا با دستور foreach هم میشه به عناصر آرایه دستیابی پیدا کرد.

    از این دستور وقتی استفاده میشه که تعداد عناصر آرایه مشخص نیست

    شکل کلی دستور

    کد PHP:
    foreach(&arrayname as $index)
    {
       ...
     } 

    arrayname نام آرایه است

    as کلمه ای هست که باید به همین شکل نوشته بشه

    index$ نتغیریه که عنصر فعلی آرایه توش قرار میگیره

    کد PHP:
    foreach($x as $index)
            echo  
    $current.''
    دستور foreach هر کدوم از عناصر آرایه رو به نوبت توی متغیر current$ قرار میده

    خط آخر هم این متغیر رو نمایش میده

    اندیس آرایه ها رو میشه با عددی غیر از 0 شروع کنیم

    مثال

    کد PHP:
    $x[=> 51015]; 
    برای فهم بهتر این موضوع یه صفحه طراحی می کنیم که اسامی شهر ها رو توی یک آرایه قرار میده و نمایش میده


    کد PHP:
    <?php
    $city
    =array(1=>"babol","tehran","sari","amol","shiraz");
    foreach(
    $city AS $index => $state)
    {
    echo 
    "<b><br> $index-$state ";
    }
    ?>
    دستور دوم ارایه ای با نام city$ تعریف میکنه که اندیس اول اون یکه نام 5 شهر هم توی آرایه قرار میگیره . و خط 3 یه حلقه تکرار foreach ایجاد میکنه که عناصر آرایه رو با اندیسشون چاپ میکنه


    مثال دیگه ای هم در ادامه براتون میزنم

    ---------- Post added at 03:50 PM ---------- Previous post was at 02:24 PM ----------

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

    کد HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>
    
    <body>
    <form action="ch41-9.php" method="post" >
    شما چند تا دوست دارید؟
    <input type="text" name= "number" size="3">
    <br>
    <br>
    <input type="submit" value="submit order">
    <br>
    </form>
    </body>
    </html>
    صفحه دو م طبق عددی که کاربر در صفحه قبل وارد کرده کادر متنی ایجاد میکنه

    و نام دوستان رو در کادر متنی درخواست میکنه و با فشاردادن دکمه اطلاعات به فرم دیگری ارسال میشه

    کد PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    </head>

    <body>
    <form method = post action = "ch41-9-1.php" >
    <?php
    $num 
    $_POST['number'];
    for (
    $counter=0$counter $num$counter++)
    {
      
    $OffSet $counter+1;
      echo 
    "<b> <br>pleas enter the name of friend number $OffSet<br>";
      echo 
    "<b> <input name = child[] type = text>";
    }
    ?>
    <br>
    <br>
    <input type = "submit" value = "submit">

    </form>
    </body>
    </html>
    در صفحه سوم اطلاعات آرایه child که یک متغیر فرم است در متغیر c$ قرار میده

    بعد با ایجاد یک حلقه تکرا با استفاده از دستور foreach اسم هر نفر رو در خروجی نمایش میده

    کد PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    </head>

    <body>
    <?php
    $c 
    $_POST['child'];
         echo 
    "<b> your friend's names are:<br>";
         foreach(
    $c as $index)
         {
         echo 
    "<b>".$index."<br>";
         }
    ?>
    </body>
    </html>
    قسمت بعد آرایه انجمنی
    ویرایش توسط phpman : May 8th, 2011 در ساعت 14:33

  19. تعداد تشکر ها ازphpman به دلیل پست مفید


  20. #20
    عضو جدید
    تاریخ عضویت
    Apr 2011
    نوشته ها
    24
    تشکر تشکر کرده 
    2
    تشکر تشکر شده 
    107
    تشکر شده در
    19 پست

    پیش فرض پاسخ : آموزش گقدم به قدم برنامه نویسی به زبان php از پایه

    چون اندیس آرایه ها ی انجمنی ،عددی نیست نمی شه با استفاده ازشمارنده در حلقه تکرار به عناصر آرایه انجمنی دسترسی پیدا کرد.
    برای اینکار می تونید از حلقه تکرار foreach یا تابع list ،each ، reset استفاده کنید.

    روش کار با foreach

    روش بکار گیری این دستور در آرایه های انجمنی ،اندکی متفاوت از بکارگیری آن با آرایه های معمولی است.
    مثال

    کد PHP:
    Foreach($grade  as  $key => $value)
    Echo 
    $key => $value .<br>

    در این دستور foreach ، متغیر $key اندیس رو مشخص میکنه که در آرایه $grade به ترتیب برابر با ahmad .ali.reza
    است.و $value مقدار کلید رو مشخص میکنه که به ترتیب 15و17و14 است.
    انتخاب نام $key و $value اختیاریه

    به کار گیری ساختار each()
    این تابع عنصر فعلی آرایه را بر میگرداند و به عنصر بعدی میره
    بکار گیری تابع each()

    کد PHP:
    While($element each($grade))
    {
    Echo 
    $element[‘key’];
    Echo 
    =>;
    Echo 
    $element [‘value’];
    Echo 
    <br>;



    در این دستور .تابع each اندیس و محتویات آرایه $grade رو استخراج میکنه در آرایه ای با نام $element قرار میده . اندیس با واژه key و مقدار با واژه value قابل دستیابیه در داخل .حلقه برایدستیابی به اندیس(کلید) از $element[‘key’] و برای دستیابی به مقدار این کلید از $element[‘value’] استفاده میشه.

    روش استفاده از تابع list
    با استفاده ازتابع list و each در کنار همدیگه هم میشه به محتویات آرایه انجمنی رو به نمایش کشید.

    تابع list آرایه رو به چند قسمت تبدیل میکنه بنابر این میشه دو مقداری که توسط each برگردونده میشه رو از هم تفکیک کرد و در دو متغیر جدا از هم قرار داد .


    کد PHP:
    <?php
    $grade 
    = array(‘ahmad’ => 15‘ali’ => 17‘reza’ => 14);
    While(list(
    $index ,$value)= each($grade))
    {
    Echo 
    <b>$index => $value”.<br>;
    }
    ?

    در این دستور در شرط حلقه while تابع each هر یک از اندیس های آرایه را درمتغیر $index و مقدار کلید را در $value قرار میده. در داخل حلقه تکرار ،این دو متغیربه همراه علامت <= چاپ میشه.

    تابع reset
    وقتی با تابع each مقادیر عناصر آرایه رو چاپ میکنیم . به انتهای آرایه میرسید.اگر در همان برنامه بخواهید دوباره به عناصر همون آرایه دستیابی داشته باشید باید به ابتدای آرایه برگردید برای این منظور از تابع reset استفاده میشه
    Reset($grade);
    تمرین
    صفحه ای طراحی کنید که ضمن تعریف یک آرایه انجمنی ، چگونگی دستیابی به عناصر آرایه را به روش های مختلف نشان بدهد.

  21. تعداد تشکر ها از phpman به دلیل پست مفید


صفحه 2 از 3 نخستنخست 123 آخرینآخرین

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. منبع اصلی آموزش برنامه نویسی
    توسط Mr1 در انجمن مباحث و منابع آموزشی
    پاسخ ها: 0
    آخرين نوشته: October 13th, 2014, 20:37
  2. پاسخ ها: 0
    آخرين نوشته: April 19th, 2013, 03:30
  3. پاسخ ها: 0
    آخرين نوشته: February 18th, 2013, 20:31
  4. پاسخ ها: 0
    آخرين نوشته: January 14th, 2012, 14:19

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •