تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 3 از 6 اولاول 123456 آخرآخر
نمايش نتايج 21 به 30 از 52

نام تاپيک: آموزش PHP

  1. #21
    پروفشنال hatef_4541's Avatar
    تاريخ عضويت
    Jul 2005
    محل سكونت
    ايران/رشت
    پست ها
    672

    پيش فرض شروع كد نويسي

    امروز در مورد شكل كلي ساختار برنامه هاي PHP و روش استفاده از PHP در ميان HTML صحبت ميكنيم و همچنين يك برنامه ساده براي شروع كار رو ياد مي گيريم!!!

    براي شروع به آموختن هر زبان برنامه نويسي شما احتياج به اين خواهيد داشت كه با قواعد دستوري ( syntax ) آن زبان آشنا شويد و اين همان چيزي است كه در اين درس به آن مي پردازيم.

    دستورات پايه
    براي ايجاد اولين صفحه PHP شما دقيقا همان كاري را خواهيد كرد كه براي ايجاد اولين صفحه HTML احتمالا انجام داده ايد.
    دو تفاوت اساسي بين يك متن HTML استاندارد و يك متن PHP وجود دارد.
    1- اسكريپتهاي PHP بايد در يك فايل با پسوند .قرار بگيرند php ( مانند index.php)
    2- همچنين براي جدا كردن كدهاي PHP از كدهاي HTML بايد كدهاي PHP در بين برچسبهاي <?php و <؟ قرار گيرند.

    تا كنون دو نكته از شكل دستوري PHP رو ياد گرفتيد حالا باهم روند ايجاد يك صفحه نمونه يا بهتر بگم اولين برنامه PHP خود را دنبال مي كنيم.

    ابتدا يك ويراشگر متن مانند Notepad و يا هر برنامه اي كه مي پسنديد را باز كنيد.
    توضيح : شما مي توانيد از هر ويرايشگر متني براي نوشتن دستورات PHP استفاده كنيد و همچنين مي توانيد از نرم افزار هايي كه مخصوص برنامه نويسان وب مي باشد استفاده كنيد مانند Home Site و Macromedia Dreamweaver و Microsoft FrontPage و ...

    از منوي فايل گزينه NEW را براي ايجاد يك سند جديد انتخاب كنيد.
    حال عبارتهاي زير را TYPE كنيد.

    <html>
    <head>
    <title>First PHP Script</title>
    </head>
    <body>
    <?php
    ?>
    </body>
    </html>

    ساختار بالا ساده ترين ساختار براي يك سند HTML كه از برچسب هاي PHP استفاده مي كند مي باشد.
    تمام اسكريپتهاي PHP بايد در بين برچسبهاي مخصوص آن قرار داده شوند تا به عنوان كدهاي PHP در نظر گرفته شوند. در حاليكه تمام كدهاي خارج اين دو برچسب معمولا به صورت كدهاي HTML استاندارد به مرورگر كاربر منتقل مي شوند.
    حال با استفاده از منوي فايل گرينه Save As را انتخاب كنيد و نام فايل را frist.php قرار دهيد و در مسير root اصلي كامپيوتر خود قرار دهيد.هم اكنون شما موفق به ايجاد اولين اسكريپت PHP خود شديد و زمان آن رسيده است كه حقيقتا عملي را با استفاده از اسكريپت خود انجام دهيد.
    در اين تمرين ما از تابع phpinfo() استفاده مي كنيم تا اطلاعاتي مخصوص نصب PHP در سرويس دهنده را به مرورگر ارسال مي كند.براي اضافه كردن تابع phpinfo() به اسكريپت خود فايل frist.php را در ويرايشگر متن خود باز كنيد.سپس در بين دو برچسب (<?php , ?>) يك خط جديد ايجاد كنيد و عبارت phpinfo(); را تايپ كنيد حال اسكريپت خود را ذخيره كنيد و آن را با استفاده از مرورگر اجرا كنيد.

    توضيح : كليه دستورات PHP به علامت سيمي كالون ( ختم مي شود عدم گذاشتن اين علامت باعث خطا در اجراي روند برنامه مي شود و يكي از خطا هاي معمول در برنامه هاي PHP مي باشد.

    با اجراي اسكريپت خود در مرورگر اين صفحه را خواهيد ديد كه در آن اطلاعات مربوط به نصب و پشتيباني PHP قرار دارد.

    چند نكته :
    1- قرار ندادن علامت ; يكي از اشتباهات رايج در PHP مي باشد.

    2- از آنجايي كه انتهاي هر دستور با يك علامت ; مشخص مي شود شما مي توانيد چندين دستور را پشت سرهم در يك خط تايپ كنيد و در انتهاي هر دستور يك علامت ; قرار دهيد هر چند كه اين كار رو پيشنهاد نمي كنم.

    3- هر دستور در PHP يك كد قابل اجرا محسوب ميشه! به عبارت ديگه يك مدل PHP بعد از هر دستور ( مانند print() و يا phpinfo() ) يك فرمان را اجرا مي كند در مقابل ساختارهايي مانند خطوط توضيح ( Comment Line) برچسبهاي PHP ( php Tag) و يا ساختارهاي كنترلي ( شرطها حلقه ها و غيره ) يك دستور محسوب نمي شوند بنابراين به يك ; نيز ختم نمي شوند .

    در درس بعدي چند مثال ساده ديگه به همراه چاپ يك پيغام در مرورگر و همچنين فرستادن كد هاي HTML به مرورگر از طريق PHP و همچنين افزودن توضيحات به اسكريپت صحبت خواهيم كرد.

    پس با ما باشيد...

    By Mohammad Mojrian

  2. #22
    پروفشنال hatef_4541's Avatar
    تاريخ عضويت
    Jul 2005
    محل سكونت
    ايران/رشت
    پست ها
    672

    پيش فرض

    ادامه در شب هاي بعد ! خسته شدم !

  3. #23
    پروفشنال hatef_4541's Avatar
    تاريخ عضويت
    Jul 2005
    محل سكونت
    ايران/رشت
    پست ها
    672

    پيش فرض استفاده از mysql

    مثل اينكه زياد طرفدار نداره اين بحث ! در هر صورت من ادامه ميدم !





    نوشته های زیر ترجمه آزادی از مرجع کامل php موجود در php.net/docs.php و همچنین برگزیده ای منابع زیر است



    کتب:



    1. php & mysql web development(sams)******

    بهترین کتابی که من در این زمینه دیده ام

    2. php Developers cookbook(sams)****

    همان طور که از نامش پیداست برای برنامه نویسان نوشته شده است و در کل

    کتاب بسیار جالبی است

    3. MySQL and PHP Database Applications(M&T Books)***

    بیشتر به بحث در رابطه با بانک اطلاعاتی mysql به همراه php می پردازد. در نوع خود کتاب بسیار خوبی است

    4. MySQL&mSQL(O'reilly)***

    این کتاب بیشتر به بحث در رابطه با ابنک های اطلاعاتی می پردازد تا php

    این کتاب به طور موازی mysql و msql را و کاربرد های آنها را آموزش میدهد



    5. Oreilly-PHP Pocket Reference(**)

    به نظر من کتاب بسیار خوبی برای شروع است اما برای ادامه نه!



    6. مرجع کامل php4 ترجمع گروه مهندسی ساحر****

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





    سایت ها:

    php.net******(Complete Reference)

    (Project Center)******Sourceforge.net

    (Main php Spenser)****** [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    (It is little yet but it is wonderful)****iranphp.net

    (Quick php Guide)*** [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    (Scripts Reference)***** [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]



    ...



    * = کیفیت از نظر شخصی من



    در این سلسله مقالات طریقه کار با بانک اطلاعاتی mysql را phpبحث می کنم فرض من براین است که شما اصول بانک های اطلاعاتی ودستور زبان SQL وهمچنین برنامه نویسی با php را بلدید.یکی از خصوصیات ممتاز php را میتوان توانایی کار با اکثر بانک های اطلاعاتی مثل sql server ویا mysql وبسیاری از دیتابیس های دیگر ذکر کرد.php برای بانک اطلاعاتی mysql توابع خاصی را درنظر گرفته است که در اینجا به معرفی متداول ترین و کاربردی ترین آنها با ذکر مثال وکد نمونه می پردازم برای شرع تعدادی از توابع را معرفی وپس ازاتمام معرفی توابع در ادامه تکنیک های خاص استفاده از آنها را ذکر خواهم کرد.در طول معرفی توابع از تعدادی مثال استفاده خواهد شد اما برای اینکه واقعا چیزی یاد بگیرید تنها باید از فکر خودتان استفاده کنید و بنا به کاربرد هایی که برای توابع ذکر میشود برنامه هایی را نوشته واجرا کنید.



    حتما توجه کنید که این لیست فقط مانند یک فهرست عمل می کند و برای آگاهی بیشتر از توابع ذکر شده باید به مستندات php مراجعه کنید . البته در ادامه پرکاربرد ترین و عمومی ترین آن ها را توضیح خواهم داد.این مطالب را می توانید در مستندات php به زبان اصلی بخوانید هدف از این مطالب آشنایی شما با برخی توابع کاربردی است که در قسمت های آتی تکنیک های استفاده از آن ها را به شما یاد خواهم داد و در انتها با هم یک پروژه را انجام میدهیم.برخی از مطالب و توابعی را هم که در اینجا ذکر نکرده ام را (مثل حلقه foreach) در ادامه و در طی کار به شما خواهم گفت.





    توابع مورد کاربرد در php نسخه چهار و سی وسه()





    [break]

    Php 4.3.3 functions for working with mysql

    *=توابعی که در این بخش راجع به آن ها صحبت خواهم کرد

    **=قسمت هایی که در صورت ترجمه به اصل مطلب صدمه می خورد






    *mysql_affected_rows – تعداد رکورد های تحت تاثیر قرار گرفته در آخرین پرس و جوی انجام داده را می گیرد

    mysql_change_user – کاربر فعال را در ارتباط جاری با بانک اطلاعاتی را عوض میکند عوض می کند

    mysql_client_encoding – تنظیمات کاراکتری پیش فرض را از ارتباط جاری را باز میگرداند

    *mysql_close – ارتباع جاری با پایگاه داده را قطع میکند

    *mysql_connect – یک ارتباط جدید با پایگاه داده برقرار می کند

    mysql_create_db – یک بانک اطلاعاتی میسازد

    mysql_data_seek – نشانگر (پیوینتر) داخلی مجموعه جواب را حرکت می دهد

    mysql_db_name – اطلاعات جواب پرس و جو را می گیرد

    mysql_db_query – پرس و جو را ارسال می کند

    mysql_drop_db – بانک اطلاعاتی را حذف میکند

    mysql_errno – شماره خطای ایجاد شده در آخرین عملیات را باز می گرداند

    mysql_error – متن خطای ایجاد شده در آخرین عملیات را باز میگرداند

    mysql_escape_string –یک رشته را برای کار با بانک اطلاعاتی تطبیق می کند

    *mysql_fetch_array – یک مجموعه جواب بازگشتی را در آرایه ای انجمنی یا اندیسی یا هر دو می ریزد

    *mysql_fetch_assoc - یک مجموعه جواب بازگشتی را در آرایه ای انجمنی می ریزد

    mysql_fetch_field – اطلاعات یک ستون را از یک مجموعه جواب میگیرد و یک شی را باز میگرداند

    mysql_fetch_lengths – طول هر کدام از جواب های خروجی را باز می گرداند

    *mysql_fetch_object – یک مجموعه جواب را در یک شی می ریزد

    *mysql_fetch_row – یک مجموعه جواب را به صورت یک آرایه شمارشی در می آورد

    mysql_field_flags – نمایه فیلد معرفی شده در مجموعه جواب را باز می گرداند

    mysql_field_len – طول فیلد مشخص شده را باز میگرداند

    mysql_field_name – نام فیلد مشخص شده در مجموعه جواب را باز می گرداند

    mysql_field_seek – نشانه گر جواب را در فیلد مبدا مشخص شده قرار می دهد

    mysql_field_table – نام جدولی را که فیلد در آن قرار دارد را باز می گرداند

    mysql_field_type – نوع فیلد موجود در مجموعه جواب را باز می گرداند

    mysql_free_result – حافظه را از مجموعه جواب خالی می کند

    mysql_get_client_info – اطلاعات خدمات گیرنده پایگاه داده را بدست می آورد

    mysql_get_host_info - اطلاعات میزبان پایگاه داده را بدست می آورد

    mysql_get_proto_info – پروتکل(قوانین) مورد استفاده در پایگاه داده را میگیرد نسخه

    mysql_get_server_info - اطلاعات خدمات دهنده پایگاه داده را بدست می آورد

    mysql_info – اطلاعاتی در مورد جدیدترین پرسش و پاسخ را باز می گرداند

    *mysql_insert_id – شناسه آخرین فیلد اضافه شده را باز می گرداند

    *mysql_list_dbs – بانک های اطلاعاتی موجود را نشان می دهد

    *mysql_list_fields – ستون های جدول را نشان می دهد

    mysql_list_processes – پردازش های انجام شده را نشان می دهد

    *mysql_list_tables - لیست جدول های یک بانک اطلاعاتی را نشان می دهد

    *mysql_num_fields – تعداد فیلد های یک مجموعه جواب را باز می گرداند

    *mysql_num_rows - تعداد سطرهای یک مجموعه جواب را باز می گرداند

    *mysql_pconnect – یک اتصال دائمی با پایگاه داده بر قرار می کند

    *mysql_ping – یک ارتباط را پینگ می کند و در صورت برقرار نبودن ارتباط آنرا برقرار میسازد

    *mysql_query – یک پرس و جو را ارسال میکند

    mysql_real_escape_string کاراکتر های ویژه را در یک رشته برای استفاده از پایگاه داده بهینه میکند و در این عمل از تنظیمات کاراکتری موجود در پایگاه داده استفاده می کند.

    *mysql_result - اطلاعات مجموعه جواب را باز میگرداند

    *mysql_select_db – یک بانک اطلاعاتی را نتخاب می کند

    mysql_stat – وضعیت سیستم جاری را باز می گرداند

    mysql_tablename – نام جدول فیلد را باز میگرداند

    **mysql_thread_id –جاری را باز می گرداند thread شناسه

    mysql_unbuffered_query – یک پرس و جو را بدون واسطه به پایگاه داده ارسال می کند





    در نسخه پنجم php که هنوز در مرحله بتا است توابع بسیار قدرتمند دیگری نیز اضافه شده است که معمولا به صورت Mysqli_* می باشند.در کل php 5 خیلی به سمت شی گرایی رفته است بنابراین توابع مورد استفاده در آن نیز تا حد امکان سعی در اضافه نمودن هرچه بیشتر امکانات شی گرایی دارند.پس از پایان این دروس توایع نسخه پنجم را نیز بررسی خواهیم کرد که البته بعلت تغییرات ناچیز یاد گیری و استفاده از آنها چندان مشکل نخواهد بود.

    توجه کنید لازم نیست شما تک تک این توابع را حفظ کنید بلکه با دانلود کردن مرجع کامل php از سایت php.net می توانید هر زمان که لازم داشتید توضیحات مربوط به آن را بخوانید من توصیه می کنم که فایل chm را دانلود کنید زیرا استفاده از آن سریع تر و راحت تر است

    در اینجا کاربردی ترین توابع را در نسخه جاری php(4.3.3) بحث می کنم





    * تابع mysql_ping توجه کنید این تابع تنها کاری که می کند بررسی اتصال به موتور mysql است و معمولا در اسکریپت های تست که برای تست کردن آمادگی سرور بکار می رود استفاده می شود.این تابع یک اتصال به mysql را ping می کند و در صورت موفقیت و بازگشت جواب true و در غیر اینصورتfalse را باز می گرداند.در صورت قطع بودن ارتباط سعی میکند آنرا بر قرار سازد.







    mysql_ping()
    Ping a server connection or reconnect if there is no connection (PHP 4 >= 4.3.0)
    bool mysql_ping ( [resource link_identifier ] )
    Example:
    <?php
    $conn=mysql_connect($db_host, $db_user, $db_password);
    $db=mysql_select_db($db_name);
    if(mysql_ping($conn)){
    echo "your database is online\",
    } else {
    echo \"your database is offline\",
    }
    mysql_close($conn);
    ?>







    [break]


    * تابع mysql_connect که وظیفه برقراری ارتباط با بانک اطلاعاتی را برعهده دارد و معمولا اولین خط اسکریپت کار با mysql را تشکیل میدهد زیرا تا زمانی که این تابع مقدار true را بازنگرداند شما اصلا به موتور mysql متصل نیستید تا بتوانبد کاری را انجام دهید!توجه کنید پس از پایان اسکریپت یا فراخوانی تابع mysql_close این اتصال قطع خواهد شد.





    mysql_connect()
    Open a connection to a MySQL Server (PHP 3, PHP 4 )
    resource mysql_connect ( [string server [, string username [, string password [, bool new_link [, int client_flags ]]]]] )
    Example:
    <?php
    $conn = mysql_connect("localhost\",\"mysql username\",\"mysql _password\") or die(Could not connect to database deamon:.mysql_error());
    $db = mysql_select_db(\"your database name\",$conn) or die(Could not select database:.mysql_error());
    $query = mysql_query (\"select * from tablename\");
    mysql_close ($conn);
    ?>








    * تابع mysql_pconnect که وظیفه برقراری ارتباط دائمی با بانک اطلاعاتی را داراست و بعد از پایان اسکریپت و یا فراخوانی تابعmysql_close ارتباط قطع نمی شود.کاربرد این تابع در مواقعی است که شما می خواهید در زمان صرفه جویی کنید زیرا این تابع باعث می شود در فراخوانی های متعدد از همین ارتباط برای تبادل داده استفاده شود و ارتباط جدیدی بر قرار نگردد. معمولا این تابع زمانی استفاده می شد که چندین صفحه اتصال هایی با آرگومان ها ی مشابه را نیاز داشته باشند.

    توجه کنید برای استفاده ازاین تابع شما حتما باید phpرا به عنوان ماژول نصب کنید نه CGI این یکی از راه های سریع کردن و بهینه کردن کد است اما توجه کنید که این امر می تواند باعث مشکل نیز بشود زیرا سبب ایجاد اتصالات بیهوده و بیکار که اصطلاحا آنها را idle می نامند می گردد توجه کنید این اتصالات به هر حال منابع سرور شما را مصرف خواهند کرد بنابراین کاربرد غلط آن می تواند موجب مشکلاتی شود.





    mysql_pconnect()
    Open a persistent connection to a MySQL server (PHP 3, PHP 4 )
    resource mysql_pconnect ( [string server [, string username [, string password [, int client_flags]]]] )
    Example:
    <?php
    $conn=mysql_pconnect("localhost\",\"mysql_username \",\"mysql_password\") or die(Could not connect to database deamon:.mysql_error());
    $db = mysql_select_db (\"your database name\",$conn) or die(Could not select database:.mysql_error());
    $Query = mysql_query (\"select * from tablename\");
    mysql_close ($conn);
    ?>
    P = persistent = دائمی








    * تابع mysql_close که باعث بسته شدن اتصال غیر دائمی به پایگاه داده می شود.





    mysql_close()
    Close MySQL connection (PHP 3, PHP 4 )
    bool mysql_close ( [resource link_identifier ] )
    Example:
    <?php
    $conn = mysql_connect ("localhost\",\"mysql username\",\"mysql_ password\") or die(Could not connect to database deamon:.mysql_error());
    $db = mysql_select_db (\"your database name\",$conn) or die(Could not select database:.mysql_error());
    $Query = mysql_query(\"select * from tablename\");
    mysql_close ($conn);
    ?>










    [break]



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







    mysql_select_db()
    Select a MySQL database (PHP 3, PHP 4 )
    bool mysql_select_db ( string database_name [, resource link_identifier ] )
    Example:
    <?php
    $conn = mysql_connect("localhost\",\" mysql_user \",\"mysql_ password\") or die(Could not connect to database deamon:.mysql_error());
    $db = mysql_select_db(\"your database name\",$conn) or die(Could not select database:.mysql_error());
    $query = (\"select * from tablename\");
    $result = mysql_query ($query);
    mysql_close ($conn);
    ?>










    · تابع mysql_query که جزو مهترین توابع است زیرا این تابع دستورات sql شما را اجرا می کند این تابع معمولا با توابعmysql_fetch_* به همراه حلقه ها کار اصلی را در رابطه با پایگاه داده انجام میدهند





    mysql_query()
    Send a MySQL query (PHP 3, PHP 4 )
    resource mysql_query ( string query [, resource link_identifier] )
    Example:
    <?php
    $conn = mysql_connect("localhost\",\" mysql_user \",\"mysql_ password\") or die(Could not connect to database deamon:.mysql_error());
    $db = mysql_select_db(\"your database name\",$conn) or die(Could not select database:.mysql_error());
    $query = (\"insert into tablename values(1,2)\");
    $result = mysql_query($query);
    mysql_close($conn);
    ?>








    · تابع mysql_result که برای یک رکورد از پردازش انجام شده توسط mysql_query() کاربرد دارد همان طور که قبلا گفتم برای خواندن تمامی رکورد ها باید از توابع mysql_fetch_* به همراه حلقه ها استفاده کرد.آرگومان اول مجموعه جواب اجرا شده بوسیله تابع mysql_query وآرکومان دوم شماره رکوردی که می خواهید بخوانید و آرگومان سوم فیلدی است که میخواهید بخوانید که در شورت معرفی نکردن آرگومان سوم اولین فیلد خوانده خواهد شد.





    mysql_result()
    Get result data (PHP 3, PHP 4 )
    mixed mysql_result ( resource result, int row [, mixed field ] )
    Example:
    <?php
    $conn=mysql_connect("localhost\",\" mysql_user \",\" mysql_password \");
    $db=mysql_select_db(\"test\");
    $query=\"select * from test\";
    $result=mysql_query($query);
    if($result) /*for testing result answer*/{
    $record1=mysql_result($result,0,'name');
    echo \"Rcord 1 is:\",$record1;
    echo \"<p>\";
    $record2=mysql_result($result,1,'name');
    echo \"Rcord 2 is:\",$record2;
    }
    ?>












    · تابع mysql_affected_rows که تعداد سطرهایی را که توسط آخرین دستور delete یاreplace, یا insert یا ,update تحت تاثیر قرار گرفته اند را باز می گرداند





    mysql_affected_rows()
    Get number of affected rows in previous MySQL operation (PHP 3, PHP 4 )
    int mysql_affected_rows ( [resource link_identifier ] )
    Example:
    <?php
    /* connect to database */
    mysql_pconnect("localhost\", \"mysql_user\", \"mysql_password\") or
    die(\"Could not connect: \" . mysql_error());
    mysql_select_db(\"mydb\");
    /* this should return the correct numbers of deleted records */
    mysql_query(\"DELETE FROM mytable WHERE id < 10\");
    printf (\"Records deleted: %d\n\", mysql_affected_rows());
    /* without a where clause in a delete statement, it should return 0 */
    mysql_query(\"DELETE FROM mytable\");
    printf (\"Records deleted: %d\n\", mysql_affected_rows());
    ?>








    · تابع mysql_num_rows این تابع عملکردی مشابه تابع mysql_affected_rows دارد با این تفاوت که این تابع تعداد رکورد های مجمومه جواب بازگردانده شده از یک جستجوی select را بدست می آورد.از این تابع می توان برای بدست آوردن رکورهای یک جدول استفاده کرد.







    mysql_num_rows()
    Get number of rows in result (PHP 3, PHP 4 )
    int mysql_num_rows ( resource result )
    Example:
    <?php
    $conn = mysql_connect("localhost\", \"mysql_user\", \"mysql_password\");
    mysql_select_db(\"database\", $conn);
    $result = mysql_query(\"SELECT * FROM table\", $link);
    $num_rows = mysql_num_rows($result);
    echo \"$num_rows Rows\n\";
    ?>








    [break]



    · تابع mysql_free_result که وظیفه آزاد سازی حافظه مصرف شده بوسیله نتایج بدست آمده از query را داراست.این تابع در اسکریپت های طولانی که اعمال زیادی را انجام می دهند و حافظه زیادی را مصرف می کنند کاربرد دارد. ولی در اسکریپت های عادی به آن نیازی نیست زیرا درphp پس از پایان اسکریپت به طور خورکار حافظه اختصاص داده شده به query آزاد می شود.







    mysql_free_result()
    Free result memory (PHP 3, PHP 4 )
    bool mysql_free_result ( resource result )
    Example:
    <?php
    $conn = mysql_connect("localhost\",\"mysql username\",\"mysql _password\") or die(Could not connect to database deamon:.mysql_error());
    $db = mysql_select_db(\"your database name\",$conn) or die(Could not select database:.mysql_error());
    $query = mysql_query (\"select * from tablename\");
    mysql_free_result ($query);
    mysql_close ($conn);
    ?>










    · تابعmysql_fetch_array . همان طور قبلا بارها گفتم برای خواندن تمامی سطرهای یک جدول از توابع mysq_fetch_* به همراه حلقه ها استفاده میشود این توابع وظیفه دارند حاصل یک query را در یک آرایه یا مجموعه از اشیا بریزند تا بتوان به کمک حلقه ها تک تک آن ها را خواند.تابع mysql_fetch_array مجموعه جواب یک query را در یک آرایه می ریزد که بوسیله آرگومان دوم می توان طریقه ذخیره و دسترسی رادر آرایه(نوع آرایه) معیین کرد.







    در اینجا لغات کلیدی را که در مثال های آتی استفاده می کنم را توضیح میدهم انها به عنوان ثابت در php تعریف شده اند .



    ثابت


    توضیحات




    MYSQL_ASSOC


    Columns are returned into the array having the fieldname as the array index.



    بوسیله این ثابت می تونید از نام فیلدهای خود برای دسترسی به اطلاعات آن ها استفاده کنید




    MYSQL_NUM


    Columns are returned into the array having a numerical index to the fields. This index starts with 0, the first field in the result.



    بوسیله این ثابت می توانید از شماره اندیس آرایه برای دسترسی به اطلاعات فیلد ها استفاده کنید




    MYSQL_BOTH


    Columns are returned into the array having both a numerical index and the fieldname as the array index.



    بوسیله این ثابت می توانید از نام فیلد با اندیس آن در آرایه برای دسترسی به اطلاعات آن استفاده کنید







    mysql_fetch_array()
    Fetch a result row as an associative array, a numeric array, or both. (PHP 3, PHP 4 )
    array mysql_fetch_array ( resource result [, int result_type ] )
    1)Example for MYSQL_NUM:
    <?php
    mysql_connect("localhost\", \"mysql_user\", \"mysql_password\") or
    die(\"Could not connect: \" . mysql_error());
    mysql_select_db(\"mydb\");
    $result = mysql_query(\"SELECT id, name FROM mytable\");
    while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf (\"ID: %s Name: %s\", $row[0], $row[1]);
    }
    mysql_free_result($result); ?>



    2)Example for MYSQL_ASSOC:
    <?php
    mysql_connect(\"localhost\", \"mysql_user\", \"mysql_password\") or
    die(\"Could not connect: \" . mysql_error());
    mysql_select_db(\"mydb\");
    $result = mysql_query(\"SELECT id, name FROM mytable\");
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    printf (\"ID: %s Name: %s\", $row[\"id\"], $row[\"name\"]);
    }
    mysql_free_result($result);
    ?>
    3)Example for MYSQL_BOTH:
    <?php
    mysql_connect(\"localhost\", \"mysql_user\", \"mysql_password\") or
    die(\"Could not connect: \" . mysql_error());
    mysql_select_db(\"mydb\");
    $result = mysql_query(\"SELECT id, name FROM mytable\");
    while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
    printf (\"ID: %s Name: %s\", $row[0], $row[\"name\"]);
    } mysql_free_result($result);
    ?>








    توجه کنید که در صورت معرفی نکردن ثابت به طور پیش فرض از MYSQL_NUM استفاده میشود.





    در ادامه تنها دو تابع از سری توابع mysql_fetch_* را معرفی میکنم زیرا تابع mysql_fetch_array تقریبا تمام نیاز های شما را بر طرف می کند اما در قسمت مباحث پیشرفته توابع mysql_fetch_field و mysql_fetch_lengths را نیزمعرفی خواهم کرد. توجه کنید شما هم اکنون هم میتوانید بدون مشکل یک برنامه کامل با php & mysql بنویسید .



    · تابع mysql_fetch_row که عملکردی کاملا مشابه mysql_fetch_array به همراه ثابت MYSQL_NUM دارد.



    · تابع mysql_fetch_assoc که عملکردی کاملا مشابه mysql_fetch_array به همراه ثابت MYSQL_ASSOC دارد.



    · تابع mysql_fetch_object



    این تابع رکورد های بازگردانده شده بوسیله یک دستور select را به صورت مجموعه ای از اشیا باز می گرداند که در پایان پس از اتمام رکورد ها بوسیله بازگرداندن false اتمام رکورد ها را اعلام می کند.در صورتی که به برنامه نویسی شی گرا علاقه دارید این تابع را دوست خواهید داشت.





    mysql_fetch_object()
    Fetch a result row as an object (PHP 3, PHP 4 )
    object mysql_fetch_object ( resource result )
    <?php
    mysql_connect("hostname\", \"user\", \"password\");
    mysql_select_db(\"mydb\");
    $result = mysql_query(\"select * from mytable\");
    while ($row = mysql_fetch_object($result)) {
    echo $row->user_id;
    echo $row->fullname;
    }
    ?>







    · و آخرین تابع که یک تابع کاربردی است به نام mysql_insert_id
    این تایع باعث بازگشت ID آخرین فیلد ایجاد شده بوسیله دستور insert می گردد.
    *در جدول هایی که به طور ذاتی نمی توان برا ی آنها یک کلید اصلی (Primary key) تعریف کرد معمول است که یک فیلد به نام ID که دارای خاصیت AUTO_INCREMENT است تعریف می کنند که یک فیلد عددی است و برای فهمیدن تعداد رکور های جدول نیز کاربرد دارد.




    mysql_insert_id()
    Get the ID generated from the previous INSERT operation (PHP 3, PHP 4 )
    int mysql_insert_id ( [resource link_identifier ] )
    Example:
    <?php
    mysql_connect("localhost\", \"mysql_user\", \"mysql_password\") or
    die(\"Could not connect: \" . mysql_error());
    mysql_select_db(\"mydb\");
    mysql_query(\"INSERT INTO mytable (name) values (\"houtan')\");
    printf (\"Last inserted record has id %d\n\", mysql_insert_id());
    ?>



    خب توابعی که فکر می کردم برای شروع کار با mysql لازم میشود را گفتم اما همان طور که قبلا گفتم توابع زیادی در php برای کار با mysql تعبیه شده است در قسمت مباحث پیشرفته توابعی را به شما خواهم گفت که توانایی های جالب و بعضا قدرتمندی دارند اما شما هم اکنون هم می توانید یک برنامه کامل و حرفه ای را با استفاده از این توابع بنویسید که در ادامه یک برنامه برای تمرین با هم خواهیم نوشت اما به یاد داشته باشید تا زمانی که خودتان برنامه ننویسی و به مشکل برنخورید چیز زیادی در عمل یاد نخواهید گرفت در ضمن آخرین نکته اینکه اگر دارید تمرین میکنید و هیچ مشکلی در برنامه هایی که میخواهید بنویسی ندارید و می بینید همه چیز را بلدید فکر کنم باید در نحوه تمرین کردن خود تجدید نظر کنید.

  4. #24
    پروفشنال hatef_4541's Avatar
    تاريخ عضويت
    Jul 2005
    محل سكونت
    ايران/رشت
    پست ها
    672

    پيش فرض استفاده از mysql

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

    خب در مرحله اول من باید جدول خود را طراحی کنم.جدول من باید حاوی نام, نام خانوادگی,email, شغل و یک فیلد دیگر باشد که مشخص کند آیا کاربر مایل است اخبار جدید سایت برای او ارسال شود یا نه.اما آیا این ها کافی است؟من همیشه یک فیلد به نام ID به جدول خود اضافه می کنم.این فیلد که یک فیلد عددی است را معمولا به عنوان کلید اصلی جدول تعریف می کنم.در ادامه فواید این فیلد اضافه را خواهید دید.

    خب من قبل از هر چیزی باید به پایگاه داده ام وصل شوم پس می نویسم:




    <?php

    $conn=mysql_connect("localhost\",\"root\",\"pass\" ) or

    die(\"Could not connect;\".mysql_error());

    ?>




    اگر در این مرحله مشکلی پیش بیاید بوسیله تابع die() از اجرای باقی برنامه جلوگیری کرده و پیغام مقتضی را روی صفحه نمایش نشان می دهم نقش تابع mysql_error() این است که پیغام خطای mysql را روی صفحه نمایش دهد و من بوسیله عملگر . از این تایع برای کامل کردن پیغام خطای اتصال استفاده کرده ام.

    اکنون من یک بانک اطلا عاتی می سازم تا درون آن جدول یا جداول مورد نیازم را ایجاد کنم.



    <?php

    $conn = mysql_pconnect("localhost\", \"root\", \"pass\")

    or die(\"Could not connect: \" . mysql_error());



    if (mysql_create_db(\"my_db\")) {

    print (\"Database created successfully\n\");

    } else {

    printf (\"Error creating database: %s\n\", mysql_error());

    }

    ?>




    *توجه کنید میزبان شما معمولا نرم افزاری مثل phpmyadmin را در اختیار شما میگذارد تا مدیریت خود را روی mysql اعمال کنید.

    *فراموش نکنید من فقط یک بار از mysql_create_db() استفاده می کنم تا یک بانک اطلاعاتی بسازم و بعد از آن چون کارهایم را روی آن انجام می دهم دیگر احتیاجی به استفاده از این تابع نیست!

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



    <?php

    $conn = mysql_pconnect("localhost\", \"root\", \"pass\")

    or die(\"Could not connect: \" . mysql_error());

    $db=mysql_select_db(\"my_db\") or die(\"Could not select database:\".mysql_error());

    ?>




    خب برنامه من اکنون آماده است تا فرامینی به زبان sql را بگیرد و برای پردازش به mysql بدهد.برای

    ارسال فرامین به mysql برای پردازش از mysql_query() استفاده می شود به مثال توجه کنید.



    <?php

    $conn = mysql_pconnect("localhost\", \"root\", \"triadpass\")

    or die(\"Could not connect: \" . mysql_error());

    $db=mysql_select_db(\"my_db\") or die(\"Could not select database:\".mysql_error());

    $query='CREATE TABLE `users` ( `id` INT NOT NULL AUTO_INCREMENT ,'

    . ' `name` VARCHAR( 15 ) NOT NULL ,'

    . ' `family` VARCHAR( 20 ) NOT NULL ,'

    . ' `email` VARCHAR( 20 ) NOT NULL ,'

    . ' `job` VARCHAR( 20 ) ,'

    . ' `newspost` TINYINT NOT NULL ,'

    . ' PRIMARY KEY ( `id` ) );'

    . ' ';



    if(mysql_query($query)){

    print \"Table successfuly created\";}

    else print \"Error in create table\";

    ?>




    من تا به حال یک بانک اطلاعاتی به همراه یک جدول درون آن را ساخته ام.توجه کنید شما ابزار های زیادی را در اینترنت می توانید پیدا کنید که این کار را بسیا ساده تر و مطمئن تر برای شما انجام دهند مثل phpmyadmin که خود بوسیله php نوشته شده و در آدرس [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] میتوانید آخرین نسخه آن را دانلود واستفاده کنید.در اکثر مواقع میزبان شما به عنوان یکی از خذماتش یک برنامه مدیریت بانک اطلاعاتی را برای شما تدارک دیده است.

    از این به بعد بحث ما کمی کاربردی تر خواهد شد.

    در اولین مرحله من می خواهم فرمی داشته باشم که کاربر مشخصات خود را درآن ثبت کند و پس از ارسال در جدول بانک اطلاعاتی من ذخیره شود.ابتدا فرم را طراحی می کنیم:



    <html>

    <form name=\"form1\" method=\"post\" action=\"<?=$_SERVER['PHP_SELF']?>\">

    <p>Name:

    <input type=\"text\" name=\"name\">

    Family:

    <input type=\"text\" name=\"family\">

    Email:

    <input type=\"text\" name=\"email\">

    Job:

    <input type=\"text\" name=\"job\">



    </p>

    <p>Do you want to recived the site news via email? <font color=\"#006699\">Yes</font>

    <input type=\"checkbox\" name=\"newspost\" value=\"checkbox\">

    </p>

    <p>

    <center><input type=\"submit\" name=\"Submit\" value=\"Submit\"></center>

    </p>

    </form>

    </html>



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



    این عبارت از یک ارایه به نام $_SERVER[] استفاده می کند.این آرایه شامل اطلاعاتی از قبیل هدرهاومسیرهاو....است که می توانید در مرجع کامل php موجود در php.net با عنوان

    Predefined Variables این آرایه وبسیاری دیگر را پیدا کنید.به هر حال من از عنصر PHP_SELF در اینجا استفاده کردم که وظیفه آن باز گرداندن مسیرکد جاری است.




    اکنون به کد کامل این فایل توجه کنید:



    <?php

    $name=$_POST['name'];

    $family=$_POST['family'];

    $email=$_POST['email'];

    $job=$_POST['job'];

    $newspost=$_POST['newspost'];

    if(!empty($newspost)){

    $newspost=1;

    }

    if(isset($name) && empty($name)==false && isset($family) && empty($family)==false&&

    isset($email) && empty($email)==false && isset($job) && empty($job)==false){

    $conn = mysql_pconnect("localhost\", \"root\", \"triadpass\")

    or die(\"Could not connect: \" . mysql_error());

    $db=mysql_select_db(\"my_db\") or die(\"Could not select database:\".mysql_error());

    $query=\"INSERT INTO users VALUES('','$name','$family','$email','$job','$news post')\";

    $result=mysql_query($query) or die(\"Could not do query!\");

    }

    else

    print \"Complete <b>ALL</b>for adding your self\";

    ?>

    <html>

    <form name=\"form1\" method=\"post\" action=\"<?=$_SERVER['PHP_SELF']?>\">

    <p>Name:

    <input type=\"text\" name=\"name\">

    Family:

    <input type=\"text\" name=\"family\">

    Email:

    <input type=\"text\" name=\"email\">

    Job:

    <input type=\"text\" name=\"job\">



    </p>

    <p>Do you want to recived the site news via email? <font color=\"#006699\">Yes</font>

    <input type=\"checkbox\" name=\"newspost\" value=\"checkbox\">

    </p>

    <p>

    <center><input type=\"submit\" name=\"Submit\" value=\"Submit\"></center>

    </p>

    </form>

    </html>




    توجه کنید که من قبل از هر چیزی از $_POST[]برای قرار دادم متغییر های ارسال شده توسط فرم در متغییر های قابل استفاده در php است

    (در حقیقت امذ متغییر های ارسال شده توسط فرم را درون یک آرایه می گذارد تا php از آن استفاده کند)در نسخه های قدیمی این امر اجباری نبود اما در نسخه های جدید این امر اجباری شده که بیشترین دلیل آن به خاطر مسائل امنیتی است.

    *از نسخه4.2.0 این امر اجباری شده است که به جای register_globald از آرایه های $HTTP_*_VARS[] استفاده شود.با این حال شما با دست کاری در فایل php.ini می توانید این موضوع را تغییر دهید که این کار بدلیل مسائل انیتی اکیدا توصیه نمی شود.مقاله ای در این زمینه را در آدرس /studyinscarlet.txtwww.securereality.com.au

    مشاهده کنید.

    اما در اینجا مسئله ای که پیش می آید این است که نوشتن $HTTP_POST_VARS[]کمی سخت است بنابراین برای این آرایه ها اسامی مستعاری در نظر گرفته شد مثل$_POST[] برای$HTTP_POST_VARS[] یا...

    خب من در ادامه بوسیله توابع empty() و isset() از پر بودن و موجود بودن متغییرهایم اطمینان حاصل کرده ام.اما اگر توجه کرده باشید من به دو روش از تابع empty() استفاده کرده ام.



    1-empty($varname) == false

    2-!empty($varname)



    هر دو این روش ها درست است و من فقط برای یاد دادن به شما از هر دوی آن ها استفاده کرده ام.

    تابع empty() یک تابع Boolean است یعنی مقدار بازگشتی آن یا true است یا false

    من در روش اول گفته ام مقدار بازگشتی تابع empty() برابر false باشد که به معنای خالی بودن فیلد است

    روش دوم هم همین است تنها تفاوت آن این است که من از عملگر نفی (!) استفاده کرده ام.

    تابع isset() هم چک می کند که آیا متغیری به این نام تعریف شده است یا نه.

    پس از اینکه من از پر بودن فیلد ها و وجود متغییر ها اطمینان حاصل کردم چک می کنم که آیا کاربر می خواهم اخبار سایت برای او ارسال شود یا نه.من برای نه مقدار 0 و برای بله مقدار 1 را در نظر گرفته ام که در ادامه با نحوی استفاده از آن ها آشنا خواهیم شد.

    حالا که من از مرحله تست کردن متغییر ها بدون خطا گذشته ام وارد مرحله کار با بانک اطلا عاتی میشوم .

    من یک اتصال برقرار کرده ام.بانک اطلا عاتی خود را انتخاب کرده ام و دستورات sql را که می خواهم اجرا شود در متغییری به نام $queryریخته ام.سپس بوسیله تابع mysql_query() آن ها را به mysql داده ام تا اجرا کند.

    شما اکنون می توانید از یک فرم برای ذخیره اطلاعات استفاده کنید.من توابع مزتبط با این درس را برای شما مینویسم.اما بدون تمرین و به مشکل برخورد کردن چیزی یاد نخواهید گرفت.در صورتی که سوال یا مشکلی داشتید بوسیله houtanal at NOSPAM yahoo dot com آن را مطرح کنید.

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

    تابع mysql_create_db()

    این تابع یک بانک اطلاعاتی در پایگاه داده شما ایجاد می کند.


    mysql_create_db()
    Create a MySQL database (PHP 3, PHP 4 )
    bool mysql_create_db ( string database_name [, resource link_identifier ] )
    Example:
    <?php
    $link = mysql_pconnect("localhost\", \"mysql_user\", \"mysql_password\")
    or die(\"Could not connect: \" . mysql_error());
    if (mysql_create_db(\"my_db\")) {
    print (\"Database created successfully\n\");
    } else {
    printf (\"Error creating database: %s\n\", mysql_error());
    }
    ?>




    تابع isset()

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



    isset()
    Determine whether a variable is set (PHP 3, PHP 4 )
    bool isset ( mixed var [, mixed var [, ...]] )
    example:
    <?php
    $var = '';
    // This will evaluate to &true; so the text will be printed.
    if (isset($var)) {
    print "This var is set set so I will print.\";
    }
    // In the next examples we'll use var_dump to output
    // the return value of isset().
    $a = \"test\";
    $b = \"anothertest\";
    var_dump( isset($a) ); // TRUE
    var_dump( isset ($a, $b) ); // TRUE
    unset ($a);
    var_dump( isset ($a) ); // FALSE
    var_dump( isset ($a, $b) ); // FALSE
    $foo = NULL;
    var_dump( isset ($foo) ); // FALSE
    ?>




    تابع empty()

    بررسی می کند آیا مقدار متغیر خالی است یا نه در صورت پر بودن مقدار true و در غیر این صورت false را بر می گرداند.



    empty()
    Determine whether a variable is empty (PHP 3, PHP 4 )
    bool empty ( mixed var )

    example:
    <?php
    $var = 0;
    // Evaluates to true because $var is empty
    if (empty($var)) {
    echo '$var is either 0, empty, or not set at all';
    }
    // Evaluates as true because $var is set
    if (isset($var)) {
    echo '$var is set even though it is empty';
    }
    ?>




    توابع مرتبط بیشتر برای مطالعه:



    Mysql_drop_db(),mysql_change_user(),mysql_db_name( ),mysql_db_query()
    unset(),define(),array_key_exist(),count(),strlen( )


    نويسنده: هوتن القاسپور

  5. #25
    پروفشنال hatef_4541's Avatar
    تاريخ عضويت
    Jul 2005
    محل سكونت
    ايران/رشت
    پست ها
    672

    پيش فرض آشنايي با ماژول Mysqli در PHP 5

    يكي از ويژگي هاي جالبي كه در php 5 ارائه شده است يك Extension جديد به نام ext/mysqli مي باشد كه همانند ext/mysql سابق به عنوان يك رابط براي كار با پايگاه داده mysql از آن استفاده مي شود. برای برنامه های کاربردی در مقیاس بزرگتر ماژول جدید MySQLi به کاربران اجازه می دهد که از ویژگی های جدید MySQL 4.1 در برنامه های خود استفاده کنند که بازدهی بیشتری را نسبت به نسخه های قبلی MySQL فراهم می کند.

    از اواسط دهه 90 تاكنون ext/mysql نقش خود را به عنوان يك پل رابط ميان PHP و MySQL به خوبي ايفا كرده است. اگرچه ext/mysql نقاط ضعف كمي داشته است ولي توانسته است كه همگام با تغييرات PHP و MySQL پيش رود.



    اما وقتي كه PHP 5 و MySQL 4.1 پا به عرصه نهادند ext/mysql نشان داد كه براي سازگاري با پيشرفت هاي زياد اين دو نسخه، فقدان هايي را دارد.يكي از اين نفاط ضعف مربوط به برقراري ارتباط پايدار و دايمي با پايگاه داده (mysql_pconnect()) بود. ويژگي ها و امكاناتي توسط MySQL ارائه شد كه ext/mysql هنوز قادر به سازگاري با آنها نبود. براي رفع اين مشكلات Georg Richter شروع به ساخت يك extension جديد براي PHP 5 كرد كه با ويژگي هاي ارائه شده در MySQL 4.1 و نسخه هاي بالاتر همگام باشد.



    مهمترين ويژگي هاي ارائه شده توسط ext/mysqli



    ارائه يك واسط روالي (Procedural Interface) كه بسيار شبيه واسط ext/mysql مي باشد
    ارائه يك واسط شي گرا(Object-Oriented Interface) كه در مقايسه با واسط روالي از انعطاف پذيري بيشتري برخوردار است و كار با آن راحت تر است(با توجه به امكانات شي گرايي در PHP 5)
    پشتيباني از پروتكل باينري جديد MySQL كه در نسخه 4.1 عرضه شد.(اين پروتكل جديد در مقايسه با قبلي از بازدهي بيشتري برخوردار است و امكانات گسترده اي همچون Prepared Statement را پشتيباني مي كند.)
    پشتيباني از تمام ويژگي هاي مجموعه كتابخانه كاربري MySQL C كه شامل قابليت تنظيم گزينه هاي پيشرفته اتصال از طريق mysqli_init() و توابع وابسته مي شود.


    به دو دليل توصيه مي شود كه به اين ماژول جديد switch كنيد و از اين به بعد با اين ماژول كار كنيد:

    سرعت بيشتر
    امنيت بيشتر




    حرف i در انتهاي ext/mysqli به معناي ,improved, interface, ingenious, incompatible incomplete مي باشد!



    نحوه كار با ext/mysqli



    *قبل از كدنويسي توجه داشته باشيد كه براي استفاده از اين ماژول، شما بايد PHP 5 و MySQL 4.1 را نصب كرده باشيد.كدهاي اين مقاله از پايگاه داده World استفاده مي كنند كه به صورت رايگان از آدرس [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] قابل دريافت مي باشد.



    برنامه ساده زير ابتدا به پايگاه داده متصل مي شود و با ارسال يك پرس و جو(Query) به Server ، دريافت نتايج و نمايش آنها و سپس بستن اتصال به كار خود خاتمه مي دهد:





    <?php

    /* Connect to a MySQL server */
    $link = mysqli_connect(
    'localhost', /* The host to connect to */
    'user', /* The user to connect as */
    'password', /* The password to use */
    'world'); /* The default database to query */

    if (!$link) {
    printf("Can't connect to MySQL Server. Errorcode: %s\n\", mysqli_connect_error());
    exit;
    }

    /* Send a query to the server */
    if ($result = mysqli_query($link, 'SELECT Name, Population FROM City ORDER BY Population DESC LIMIT 5')) {

    print(\"Very large cities are:\n\");

    /* Fetch the results of the query */
    while( $row = mysqli_fetch_assoc($result) ){
    printf(\"%s (%s)\n\", $row['Name'], $row['Population']);
    }

    /* Destroy the result set and free the memory used for it */
    mysqli_free_result($result);
    }

    /* Close the connection */
    mysqli_close($link);
    ?>




    بعد از اجراي اسكريپت بالا بايد خروجي را به صورت زير مشاهده كنيد:





    Very large cities are:

    Mumbai (Bombay) (10500000)
    Seoul (9981619)
    São Paulo (9968485)
    Shanghai (9696300)
    Jakarta (9604900)





    همانطور كه در كد مشاهده مي كنيد در اينجا هيچ تفاوت خاصي بين ext/mysql و ext/mysqli مشاهده نمي شود جز افزوده شدن حرف i به آخر توابع!



    حال اگر از واسط شي گرا استفاده كنيد و برنامه بالا را مجددا بازنويسي كنيد به انعطاف پذيري بيشتر و راحتي كار با اين واسط جديد پي مي بريد:



    <?php

    /* Connect to a MySQL server */
    $mysqli = new mysqli('localhost', 'user', 'password', 'world');

    if (mysqli_connect_errno()) {
    printf("Can't connect to MySQL Server. Errorcode: %s\n\", mysqli_connect_error());
    exit;
    }

    /* Send a query to the server */
    if ($result = $mysqli->query('SELECT Name, Population FROM City ORDER BY Population DESC LIMIT 5')) {

    print(\"Very large cities are:\n\");

    /* Fetch the results of the query */
    while( $row = $result->fetch_assoc() ){
    printf(\"%s (%s)\n\", $row['Name'], $row['Population']);
    }

    /* Destroy the result set and free the memory used for it */
    $result->close();
    }

    /* Close the connection */
    $mysqli->close();
    ?>






    همانطور كه مشاهده مي كنيد اطلاعات مربوط به اتصال در اشياي $mysqli و $result ثبت مي شود و براي اجراي دستورات نيازي به مشخص كردن اين اطلاعات نداريم. همچنين وقتي در بين نتايج پرس و جو به صورت سطر به سطر توسط تابع fetch_assoc() حركت مي كنيم ديگر نيازي به ساخت يك handle براي كار با ركوردها نداريم.



    استفاده از ويژگي Prepared Statements در پرس و جوها



    مزيت Prepared Statements اين است كه به كاربران امكان ساخت query هاي بسيار ايمن تر، با بازدهي بيشتر و راحت تر را مي دهد. به دو صورت مي توان از اين ويژگي بهره برد: bound parameter prepared statements و bound result prepared statements



    bound parameter prepared statements اين امكان را به ما مي دهد كه براي Query هاي خود قالب (Template) درست كنيم و آنها را در Server ذخيره كنيم. وقتي نياز به اجراي Query داشتيم اطلاعات لازم را براي پر كردن Query به Server مي فرستيم و سپس Query كامل را اجرا مي كنيم. اين كار دو مزيت دارد:

    اول اينكه زمان كمتري صرف تجزيه و تحليل Query در هنگام اجرا مي شود. و دوم اينكه از حملات تزريقي SQL(SQL injection attacks) جلوگيري مي شود.

    در زير يك مثال كامل از به كارگيري اين ويژگي را در پرس و جوها مشاهده مي كنيد:



    <?php
    $mysqli = new mysqli('localhost', 'user', 'password', 'world');

    /* check connection */
    if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n\", mysqli_connect_error());
    exit();
    }

    $stmt = $mysqli->prepare(\"INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)\");
    $stmt->bind_param('sssd', $code, $language, $official, $percent);

    $code = 'DEU';
    $language = 'Bavarian';
    $official = \"F\";
    $percent = 11.2;

    /* execute prepared statement */
    $stmt->execute();

    printf(\"%d Row inserted.\n\", $stmt->affected_rows);

    /* close statement and connection */
    $stmt->close();

    /* Clean up table CountryLanguage */
    $mysqli->query(\"DELETE FROM CountryLanguage WHERE Language='Bavarian'\");
    printf(\"%d Row deleted.\n\", $mysqli->affected_rows);

    /* close connection */
    $mysqli->close();
    ?>






    توجه كنيد كه تابع bind_param() يك رشته كوتاه را به عنوان اولين پارامتر خود مي گيرد. اين پارامتر String Format مي باشد و نوع متغيرهاي ارسالي را مشخص مي كند. در مثال بالا sssd مشخص مي كند كه $code و $language و $official از نوع String مي باشند و $percent از نوع float يا Double مي باشد. مشخص كردن اين نوع داده ها باعث مي شود كه ext/mysqli بداند كه چگونه داده ها را براي فرستادن كدگذاري كند و اين كار باعث بازدهي بالا مي شود.جدول زير نوع داده هاي قابل قبول را نشان مي دهد:





    BIND TYPE
    COLUMN TYPE

    i
    All INT types

    d
    DOUBLE and FLOAT

    b
    BLOBs

    s
    All other types






    اگر با ASP.NET هم آشنايي داريد، در زير مي توانيد نحوه به كارگيري اين ويژگي را درASP.NET هم مشاهده كنيد و با PHP 5 مقايسه كنيد:





    Dim cnn As New SQLConnection(\"server=LOCALHOST;User id=SA;password=;database=Northwind\")
    Dim InsertCommand As SqlCommand = New SqlCommand()
    InsertCommand.Connection = cnn
    Dim sql As String
    sql = \"INSERT INTO categories (categoryName) VALUES (@newCatName)\"

    InsertCommand.CommandText = sql

    InsertCommand.Parameters.Add(\"@newCatName\", SqlDbType.NVarChar, 250).Value = \"Category Name\"





    Bound result prepared statements اين امكان را مي دهد كه مقدار فيلدهاي دريافتي از پايگاه داده را به متغير هاي دلخواه نسبت دهيم(چيزي شبيه تابع list كه عناصر يك آرايه را به متغير هاي دلخواه نسبت مي دهد.)

    مثال زير استفاده از اين ويژگي را نشان مي دهد:



    <?php
    $mysqli = new mysqli("localhost\", \"user\", \"password\", \"world\");

    if (mysqli_connect_errno()) {
    printf(\"Connect failed: %s\n\", mysqli_connect_error());
    exit();
    }

    /* prepare statement */
    if ($stmt = $mysqli->prepare(\"SELECT Code, Name FROM Country WHERE Code LIKE ? LIMIT 5\")) {

    $stmt->bind_param(\"s\", $code);
    $code = \"C%\";

    $stmt->execute();

    /* bind variables to prepared statement */
    $stmt->bind_result($col1, $col2);

    /* fetch values */
    while ($stmt->fetch()) {
    printf(\"%s %s\n\", $col1, $col2);
    }

    /* close statement */
    $stmt->close();
    }
    /* close connection */
    $mysqli->close();

    ?>

    منبع: iranphp.net

  6. #26
    پروفشنال hatef_4541's Avatar
    تاريخ عضويت
    Jul 2005
    محل سكونت
    ايران/رشت
    پست ها
    672

    پيش فرض ایجاد ارتباط پایدار با MySQL سرور

    <?php
    $link = mysql_pconnect("localhost\", \"mysql_user\", \"mysql_password\")
    or exit(\"Could not connect\");
    ?>







    این تابع دو فرق عمده با دستور mysql_connect دارد .
    1- این دستور یک ارتباط پایدار با سرور ایجاد می کند به این نحوه که در صورتی که قبلا ارتباطی با همین Username و Password با این Mysql سرور ایجاد شده باشد ارتباط جدید ایجاد نمی کند و همان Connection در جواب در داخل متغیر $linke قرار می دهد .
    2- در اینجا تا موقعی که برنامه شما در حال اجراست این Conncetion‌ پایدار می ماند و با استفاده از دستور mysql_close نمی توانید این ارتباط را قطع کنید . فقط در صورت اتمام اجرای Script ارتباط قطع می شود . کنترل آن هم دست خود سیستم است .

    منبع : iranphp.net

  7. #27
    پروفشنال hatef_4541's Avatar
    تاريخ عضويت
    Jul 2005
    محل سكونت
    ايران/رشت
    پست ها
    672

    پيش فرض ایجاد بانک اطلاعاتی جدید در MySQL سرور

    <?php
    $link = mysql_pconnect("localhost\", \"mysql_user\", \"mysql_password\")
    or exit(\"Could not connect\");

    if (mysql_create_db(\"my_db\")) {
    print (\"Database created successfully\n\");
    } else {
    printf (\"Error creating database: %s\n\", mysql_error ());
    }
    ?>







    در اینجا در صورتی که Username و Password شما دسترسی به ایجاد بانک جدید در MySQL داشته باشد بانکی با نام my_db ایجاد خواهد شد .

    نويسنده: سید حمید رضا هاشمی گلپایگانی

  8. #28
    پروفشنال hatef_4541's Avatar
    تاريخ عضويت
    Jul 2005
    محل سكونت
    ايران/رشت
    پست ها
    672

    پيش فرض نرم افزار Easy PHP

    در درس امروز مي خواهيم در مورد چگونگي استفاد از نرم افزار Esay PHP صحبت كنيم.

    در اين درس مرحله سوم يا آخرين مرحله نصب و پيكربندي PHP رو ياد مي گيريد. اول كمي توضيح بدم كه Esay PHP چيه و چه كاري ميكنه! اين نرم افراز يك شبيه ساز وب سرور هست كه مي تونه بروي كامپيوتر شما بدون نياز به IIS و PWS برنامه هاي PHP رو با استفاده از كاوشگر اينترنت اجرا كنه.

    همچنين اين نرم افزار امكان استفاده از بانك اطلاعاتي مورد استفاده در PHP رو به شما ميده ‚ در درسهاي بعدي بيشتر در مورد بانكهاي اطلاعاتي صحبت مي كنيم! براي نصب و پيكربندي Esay PHP ابتدا بايد اون رو از اينجا دريافت كنيد و بعد مراحل زير رو براي نصب طي كنيد!

    با كليك كردن روي فايل اجرايي "easyphp1-6_setup" مي توانيد Wizard نصب رو اجرا كنيد. با اجراي فايل نصب پيغامي رو مشاهده خواهيد كرد كه در اون از شما براي نصب نرم افزار Esay PHP اجازه كسب مي كنه كه شما با زدن دكمه YES كادر رو تاييد كرده و كار نصب رو ادامه مي دهيد.

    سپس اين پنجره باز خواهد شد كه به شما اطلاعاتي در مورد نرم افزار Esay PHP ميده كه شما مي تونيد با زدن دكمه Suivant (من خودم تو زبان Wizard نصب اين موندم اگه كسي ميدونه چه زباني هست به من هم بگه!!!)مي توانيد به مرحله بعد بريد.

    سپس پنجره Accord de Licence باز خواهد شد كه شما با فشار دكمه Oui مي توانيد به مرحله بعدي برويد.
    در اين مرحله از Wizard نصب مسيري كه فايل هاي Esay PHP قراره در اونجا كپي شوند رو به شما نشان خواهد داد كه شما مي توانيد اين مسير نصب رو عوض كنيد و با فشار دكمه Suivant > به كار خود ادامه دهيد.
    در مرحله بعد محلي كه براي قرار گرفتن ميانبر هاي Esay PHP در Programes رو مشخص مي كند كه شما مي تونيد با فشار دكمه Suivant > به Wizard نصب ادامه دهيد و به مرحله بعدي برويد.

    در اين مرحله از شما براي كپي كردن فايلهاي Esay PHP اجازه مي خواهد كه شما با فشار دكمه Installer اين كادر را تاييد مي كنيد.

    حال شما شاهد كپي شدن فايلها در مسير تعيين شده هستيد و بايد اندكي صبر كنيد تا عمل كپي انجام شود. بعد از اتمام كپي فايل از شما مي خواهد كه سيستم را دوباره راه اندازي كنيد كه شما با فشار دكمه Terminer اجازه اين كار را به برنامه خواهيد داد.

    حالا بعد از دوباره راه اندازي سيستم در قسمت كازينه سيستم شمايل Esay PHP نمايش خواهد داده شد و شما هم اكنون مي توانيد با استفاده از مرورگر خودتون برنامه هاي PHP رو اجرا كنيد!

    منبع: pardise.com

  9. #29
    پروفشنال hatef_4541's Avatar
    تاريخ عضويت
    Jul 2005
    محل سكونت
    ايران/رشت
    پست ها
    672

    پيش فرض نصب PHP تحت Windows به چند روش

    نصب PHP تحت Windows...
    در اين مقاله به نصب PHP تحت سيستم عامل Windows و بر روي Web Server استاندارد IIS مي پردازيم ...

    با سلام خدمت شما دوستان و علاقه‌مندان طراحي و برنامه‌نويسي تحت Web ...
    در اين مقاله من سعي دارم روش نصب ساده و مختصر مفسر زبان PHP را توضيح دهم و نوآموزان و دوستاني كه علاقه‌مند به آشنايي با اين زبان قدرتمند هستند به راحتي بتوانند مفسّر آنرا بر روي Web Server شخصي خود نصب كنند. در اين نسخه از مقاله به نصب PHP تحت سيستم عامل Windows خواهيم پرداخت و در نسخه بعدي روش نصب بر روي سيستم عامل Linux را توضيح خواهم داد.

    ما در اين دو مقاله به نصب استاندارد PHP بر روي Web Serverهاي پيش فرض خواهيم پرداخت و براي نيل به اين منظور بر روي سيستم عامل Windows از IIS و تحت سيستم عامل Linux از Apache استفاده مي‌كنيم. گرچه خيلي از علاقه‌مندان Slackware پيشنهاد مي‌كنند كه حتّي بر روي سيستم عامل ويندوز از Apache استفاده شود بنده به هيچ وجه اين مسئله رو براي تازه كاران پيشنهاد نمي‌كنم. بدون شك نمي‌توان از قدرت اين Server حتّي تحت سيستم عامل MS Windows چشم پوشي كرد ولي براي كاربران معمولي و همچنين طراحان حرفه‌اي اي كه سعي در ارتقاء Solutionهاي خود دارند استفاده كردن از استانداردها بسيار مناسبتر خواهد بود. شايد در مقاله مفصّلي درباره اين مزيتها و معايب مجالي براي صحبت بود. بنابراين در مقاله حاضر تحت سيستم عامل ويندوز به نصب PHP بر روي IIS و Personal Web Managerخواهيم پرداخت.

    PHP چيست و چگونه كار مي‌كند؟
    PHP مخفّف Hypertext Preprocessor يك زبان Scripting و Server-Side مي باشد. يك Script به كدي از برنامه مي‌گويند كه بصورت ابتدايي Compile نمي‌شود و فقط در صورت فراخواني و يا درخواستي براي اجرا توسط مفسّر زبان مورد نظر ترجمه مي شود و به خروجي فرستاده مي شود. اين به اين معني مي‌باشد كه شما دقيقاً كد برنامه خود را در جاي مورد نياز به كار مي‌بريد و رابط اجرايي برنامه آنرا به مفسّر مورد نظر ارجاء مي‌دارد. درباره مثال ما مفسّر مذكور مفسّر PHP يا برنامه PHP.exe مي باشد و رابط اجرايي Web Server مورد نظر و در اينجا Internet Information Service (IIS) است. براي اينكه بتوانيد Scriptهاي PHP خود را اجرا كنيد نياز به نصب مفسّر PHP بر روي Web Server خود داريد. توجّه كنيد كه اين مفسّر بر روي Web Server شما نصب خواهد شد. شما مي‌توانيد به PHP.exe مانند يك Plug-in يا Add-on نگاه كنيد چرا كه روش كار هر دو به يك صورت مي‌باشد. بعد از نصب مفسّر PHP شما قادر خواهيد بود كه از كدهاي PHP به همراه كدهاي HTML خود در صفحات Web استفاده كنيد و همچنين مي‌توانيد Scriptهاي صرفاً PHP خود را به عنوان ترمينالهاي تفسير كننده داده ها و رابطهاي ورودي و خروجي بر روي سرور خود قرار دهيد. اكنون به روش نصب PHP تحت Windows توجه كنيد.

    روش نصب ...

    دور خيز ...
    همانطور كه گفتيم شما مفسّر PHP را بر روي Web Serverخود نصب خواهيد كرد. تحت سيستم عامل Windows اعم از هسته‌هاي 9X و يا NT شما اين قابليت را داريد كه از Web Serverهاي اختراع Microsoft يعني IIS يا Personal Web Manager استفاده كنيد. همچنين مي‌توانيد از هر دوي اين نرم‌افزارها در كنار يكديگر استفاده نماييد. اگر هنوز Web Serverي بر روي سيستم خود نصب نكرده‌ايد بايد قبل از شروع پروسه نصب PHP اين كار را انجام دهيد. براي نصب به CD-ROM و يا پكيج اصلي ويندوز مورد استفاده خود نياز داريد و از بخش Add/Remove Programs در Control Panel مي توانيد IIS را در قسمت Windows Components بيابيد. بعد از نصب حتماً بايد يكبار سيستم خود را Restart كنيد تا Socketها و Portهاي مورد نياز بر روي OSشما براي سرويس دهنده Implement شوند. بعد از راه اندازي مجدّد بايد از صحّت عملكرد Web Server خود اطمينان حاصل كنيد. براي اينكار در پنجره‌اي از Browser خود، Internet Explorer و يا Netscape Navigator آدرس [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] و يا [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] را امتحان كنيد، اگر Browser شما صفحه خوش آمد گويي IIS را نمايش داد Web Server شما به سلامت مشغول كار است. براي دسترسي به تنظيمات IIS مي توانيد به بخش Administrative Tools در Control Panel مراجعه كنيد و از آنجا Internet Information Service Consol را اجرا نماييد. بصورت پيش فرض مسير اصلي و قابل خواندن IIS در X:\inetpub\wwwroot قرار دارد. شما مي‌توانيد صفحات خود را در اينجا قرار دهيد و همچنين از كنسول تنظيمات IIS اين آدرس را تغيير دهيد و يا Virtual Directoryهاي ديگري به آن بيافزاييد. در ادامه به نصب PHP مي‌پردازيم.

    مواد مورد نياز ...
    PHP بصورت كاملاً رايگان و Open Source ارائه مي‌شود بنابراين شما بدون پرداخت هزينه‌اي مي توانيد هميشه با آخرين نگارش اين مفسّر Update باشيد. هنگام نوشتن اين مقاله آخرين نسخهء منتشر شده PHP 4.2.2 مي‌باشد كه بنده شديداً پيشنهاد مي كنم كه همين نسخه رو تهيه كنيد. شما مي‌توانيد براي Download كردن بخشهاي مورد نياز از Package كامل PHP به سايت رسمي آن در آدرس [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] مراجعه كنيد. در صفحه Download لينكهاي مختلفي براي دريافت بخشهاي مختلف Package وجود دارد شما براي نصب تحت Windows نياز به پكيج Binary for Win32 داريد. دو نسخه از اين پكيج براي PHP 4.2.2 وجود خواهد داشت. اولين نسخه مفسر اصلي PHP به همراه تمامي Add-ONهاست كه در حدود 5 مگابايت حجم دارد و ديگري تنها مفسّر اصلي PHP به همراه قابليت ارتباط ذاتي با پايگاه داده MySQL است كه اين نسخه نيز حدود 1 مگابايت مي باشد. براي شروع پكيج 1 مگابايتي تمام نيازهاي شما را برآورده خواهد كرد، بايد بدانيد كه با نصب اين پكيج شما قابليت اجراي تمامي دستورات ذاتي PHP و همچنين ارتباط كامل با MySQL را داريد بنابراين اگر دليل موجّهي براي استفاده از Add-ONها نداريد به دريافت همين پكيج بسنده كنيد. توجه كنيد كه در اين قسمت دو روش نصب براي شما وجود خواهد داشت.

    - نصب بصورت Automatic و استفاده از Wise Installer
    - نصب بصورت دستي (Manual)

    براي استفاده از حالت اوّل و نصب بصورت Automatic شما مي‌توانيد از هر دو پكيج استفاده نماييد ولي اگر قصد داريد PHP را بصورت دستي و Manual نصب كنيد تنها مي‌توانيد از پكيج كامل يعني پكيج 5 مگابايتي استفاده نماييد. تفاوت دو پكيج كاملاً آشكار است. شما با نصب پكيج كامل قابليتهايي مثل امكان استفاده از ISAPI و NSAPI براي امنيت هرچه بيشتر و همينطور نسخه‌اي از Apache API را بدست مي‌آوريد. نسخه كامل PHP داراي رابطهايي در استفاده بهينه از Apache 2 نيز مي باشد و علاوه بر تمامي قابليتهاي PHP كه در نسخه Installer نيز نصب خواهد شد داراي چندين Extension قابل اديت و OpenSource ديگر است كه براي كاربران حرفه‌اي بسيار مفيد مي باشند. امّا من پيشنهاد مي‌كنم اگر شما براي اوّلين بار قصد نصب PHP را داريد اقدام به دريافت Installer كنيد. اين برنامه نصب با يك Wizard ساده تمامي تنظيمات را براي شما انجام خواهد داد و به سادگي PHP را بر روي Web Server شما نصب خواهد كرد و البته بعد از نصب تمامي تنظيمات قابل تغيير خواهد بود. مزيت ديگر استفاده از اين برنامه قابليت Uninstall كردن PHP است كه در صورت بروز اشتباهي در آينده بدون تغيير در Web Server مي توانيد PHP را حذف كنيد. پكيج Installer قابليتهاي نسخه كامل PHP را ندارد ولي تمامي نيازهاي ما حتّي براي يك Solution متوسّط را برآورده مي‌كند. با نصب PHP توسّط Windows Installer شما مي توانيد تمامي دستورات PHP را استفاده كنيد و همچنين يك رابط Built-in و ذاتي از MySQL و PHP در اختيار داشته باشيد. مفسّر PHP در نسخه چهارّم براي پشتيباني از پايگاه داده MySQL نياز به هيچ Extensionي نخواهد داشت . در نسخه‌هاي قبلي شما براي استفاده از MySQL ملزم بوديد كه يك Extension به نام php_mysql.dll را به پكيج خود بيافزاييد ولي با نصب PHP 4 به اين كار نيازي نيست. شما به چيزي بيش از اين احتياج نخواهيد داشت. نصب PHP با اين روش يك نسخه قابل اجرا از PHP.exe را كه با فرم بندي CGI توليد شده در اختيار شما قرار خواهد داد كه دقيقاً همين سرور در پكيج كامل نيز ضميمه شده است. در ادامه روش نصب با هر دو پكيج را توضيح خواهم داد.

    روش اوّل : نصب Automatic با استفاده از Wise Installer ...
    در صفحه Download بر روي سايت رسمي در آدرس [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] مي توانيد در قسمت Windows Binaries دو پكيج مذكور را بيابيد و از روي Mirror مورد نظر آنرا دريافت كنيد. پيشنهاد مي‌كنم براي Mirror از سرورهاي مالزي يا سنگاپور استفاده كنيد، ساير Backboneهاي ذكر شده آسيايي از رابطهاي اروپايي منشاء مي گيرند و سرعت و اطمينان لازم را ندارند. شما با دريافت Installer ويندوز فايل اجرايي php-4.2.2-installer.exe را دراختيار خواهيد داشت. با اجراي اين برنامه پروسه نصب PHP آغاز خواهد شد.
    در طول نصب تنها از شما خواسته مي‌شود كه روش نصب Standard و يا Advanced را انتخاب نماييد. تفاوتي نخواهد كرد كه شما كدام روش را انتخاب نماييد ولي پيشنهاد مي‌شود كه از روش Standard براي دريافت تمامي حالات پيش فرض استفاده نماييد. بعد از انتخاب روش Standard از شما محل نصب مفسر اصلي پرسيده خواهد شد. باز هم هيچ تفاوتي نخواهد كرد كه اين محل كجاي سيستم شما باشد ولي توجّه كنيد كه محل هدف براي نصب مفسر بايد داخل شبكه خود شما قرار داشته باشد. اگر كامپيوتر شما جزو شبكه نيست به راحتي هر نقطه‌اي را كه مايل هستيد انتخاب نماييد.
    اگر پروسه نصب بدون هيچ اشكالي پايان يابد اكنون Web Server شما قادر به اجراي Scriptهاي PHP مي‌باشد. برنامه نصب تمامي تنظيمات IIS و ساير تنظيمات مورد نياز را انجام خواهد داد. اكنون شما تنها نياز به چند تست ساده داريد. ابتدا يادآور شوم كه تمامي تنظيمات مفسر اصلي PHP در فايلي به نام PHP.ini قرار دارد. شما با Edit كردن اين فايل مي‌توانيد تنظيمات اصلي مفسر را تغيير دهيد. بعد از نصب PHP تحت سيستم عامل Windows اين فايل در شاخه اصلي سيستم يعني شاخه Windows و يا WINNT قرار خواهد گرفت. (%systemroot%). اين فايل را در محل ذكر شده بيابيد و با يك Editor استاندارد فايلهاي Text آنرا باز كنيد. در اينجا براي هر قسمت توضيحات لازم وجود دارد امّا شما تنها نياز به چك كردن چند قسمت جزئي داريد. در ابتدا مقدار زير را بيابيد و آنرا دقيقاً مانند اين قسمت تغيير دهيد.


    magic_quotes_gpc = on

    سپس با به خاطر آوردن محلي كه براي نصب مفسّر PHP در طول برنامه نصب انتخاب كرديد مقدار زير را هم چك كنيد. اين مقدار محلّ فايل PHP.exe را مشخص خواهد كرد كه بصورت پيش فرض C:\PHP قرار داشت. اگر شما اين مقدار را تغيير نداده باشيد بايد اين مقدار دقيقاً مانند زير باشد.
    extension_dir = "c:\php"


    توجّه كنيد كه محل نصب مفسر PHP با استفاده از Installer در بخش Pathهاي پيش فرض ويندوز قرار خواهد گرفت بنابراين محل مشخص شده در extension_dir مي تواند بصورت مقدار زير نيز قرار داشته باشد.
    extension_dir = ./


    اگر هنوز اطمينان نداريد كه مشكلي در نصب PHP وجود داشته باشد اين مقدار را تغيير ندهيد گرچه تغيير آن به Path كامل نيز هيچ اشكالي در اجراي مفسر بوجود نخواهد آورد ولي استفاده از تنظيمات پيش فرض براي مراجعه بعدي مفيدتر خواهد بود.

    مقدار بعدي كه بايد در فايل PHP.ini چك شود محل شاخه اصلي مراجعه Web Server شماست. اگر شما IIS را بصورت پيش فرض نصب كرده باشيد و تغييري در Pathهاي Server نداده باشيد اين آدرس ..\inetpub\wwwroot مي‌باشد و در اينصورت مقدار مورد نظر بايد عيناً شبيه مقدار زير باشد.
    doc_root = "c:\inetpub\wwwroot"


    اين مقدار كه در واقع مهمترين بيشترين مشكل را براي كاربران در نصب PHP بوجود مي‌آورد بسيار مهم مي‌باشد. توجه كنيد كه مفسّر PHP بايد بر روي اين دايركتوري اصلي شما دسترسي Write داشته باشد. اگر شما از NTFS براي دايركتوري اصلي Web Server خود استفاده مي‌كنيد بايد حتماً به اين دقّت كنيد كه Authentication بر روي Web Server و همينطور File System را براي سيستم آزاد بگذاريد. در اين صورت مشكلي بوجود نخواهد آمد. همچنين براي قرار دادن Permissionها توجّه كنيد كه Web Server مورد نظر توانايي Execute بر روي دايركتوري‌اي كه حاوي فايل PHP.exe است را داشته باشد.

    اصولاً تفاوت چنداني بين نصب نسخه‌هاي جديد PHP و نسخه‌هاي قديمي‌تر وجود ندارد ولي در صورتي‌كه شما از PHP 4 و جديدتر استفاده مي‌كنيد نياز داريد كه مقدار زير را نيز در فايل PHP.ini تغيير دهيد.


    register_globals = on

    تغيير اين مقدار به on به شما اين امكان را مي‌دهد كه از متغيّرهاي خود بصورت پايدار در بين فرمهاي مختلف استفاده كنيد و در فرستادن متغييرها چه با $HTTP_POST_VARS و چه بصورت $Variables مشكلي نداشته باشيد.

    اكنون تنها كاري كه باقي مانده است Restart كردن Web Server مورد نظر است. اين كار را مي‌توانيد با باز كردن كنسول Internet Information Service (IIS) و Right-Click بر روي شاخه اصلي (كه همنام كامپيوتر شماست) و انتخاب گزينه Restart انجام دهيد.

    اگر تمام مراحل را با دقّت اينجا پيش رفته باشيد نبايد مشكلي با اجراي Scriptهاي PHP داشته باشيد. براي آزمايش كردن Web Server خود كد زير را در فايلي با پسوند *.php كپي كنيد و آنرا در دايركتوري اصلي Web Server كپي نماييد. اگر فرض كنيم شما نام فايل را phpinfo.php قرار داده باشيد با بازكردن Browser و همچنين تايپ [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] بايد جدولي پر از خصوصيات Server و همچنين تعدادي از متغيّرهاي اصلي صفحات را مشاهده كنيد.


    خب ... تبريك مي‌گم، شما موفّق شديد مفسر زبان PHP را بر روي Web Server خود نصب كنيد و يك Solution بسيار مناسب را براي يادگيري هرچه عميقتر اين زبان كه اعجابي در تكنولوژيهاي Scripting است ايجاد كنيد. شما اكنون مفسر زبان PHP را بصورت كامل در اختيار داريد، اين مفسّر به شما اجازه مي‌دهد كه از Extensionهايي كه هر چند وقت يكبار براي ضميمه شدن و هماهنگ كردن شما با نيازهايتان منتظر مي‌شود استفاده كنيد. از اين لحاظ مي‌توان PHP را يك زبان كاملاً Expandable دانست. در ادامه قصد داريم به روش دوّم نصب PHP تحت ويندوز بپردازيم. از بخش اوّل تنها اين نكته باقي مانده كه شما بعد از نصب PHP توسط Installer قادر خواهيد بود كه از Extensionهاي موجود در پكيج كامل PHP مانند php_ldap.dll و خيلي نمونه‌هاي ديگر استفاده كنيد. بنابراين براي يك نصب كامل و بدون نقص پكيج كامل PHP را نيز دريافت كنيد تا در صورت نياز به Extension خاصي درآينده با مشكلي برخورد نكنيد.

    روش دوّم : نصب بصورت دستي و Manual

    براي نصب PHP بصورت Manual دو روش اصلي وجود خواهد داشت. روش اوّل استفاده كردن از برنامه CGI و فايل PHP.exe است كه در پكيج اصلي ضميمه شده و روش دوم استفاده از SAPI Moduleهاست. نصب بصورت مدول SAPI از نسخه 4.1 به بعد بهينه‌سازي شده است و در نسخه‌هاي قبلي از PHP 4 به همراه خطاهاي آشكاري اجرا خواهد شد و البته در نسخه‌هاي قبل از 4 نيز اصلاً موجود نمي‌باشد. براي استفاده از حالت نصب SAPI بايد از پشتيباني Web Server خود اطمينان حاصل كنيد. نسخه‌هاي جديد Windows به همراه نسخه‌هاي جديد Web Serverها مانند IIS 4 و IIS 5 از اين روش نصب پشتيباني مي‌كنند. مراحل زير را براي هر دوروش نصب بكار ببنديد.

    - محتواي پكيج دريافتي از سايت رسمي PHP را بر روي فهرستي خارج از فهرستهاي سيستم باز كنيد. c:\php جاي مناسبي براي اين كار به نظر مي‌رسد. توجه كنيد كه اگر در هنگام UnZIP كردن پكيج فايلهاي را به همراه Pathپيش فرض آنها كپي كنيد دايركتوريهاي مختلفي در c:\php خواهيد ديد. از جمله Dlls، Extensions، Sapi و غيره. شما در ادامه نياز داريد كه جاي برخي از اين فايلها را تغيير دهيد بنابراين تفاوتي نخواهد كرد كه دقيقاً همين Structure را براي فايلهاي داخل پكيج بكار ببنديد. ما فرض مي‌كنيم كه شما پكيج اصلي را با در نظر گرفتن Pathهاي پيش فرض باز كرده‌ايد.

    - در مرحله دوّم شما بايد روش نص بخود را مشخّص كنيد. در صورتي كه مايل به نصب PHP بصورت يك Module بر روي SAPI و يا Apache هستيد با توجه كنيد كه فايلهاي DLL مورد نظر شما در دايركتوري sapi قرار گرفته اند و اگر مايل به استفاده از نسخه CGI مي‌باشيد، فايل php.exe را در ثسمت اصلي خواهيد يافت. فايل php4ts.dll در همه موارد نصب مورد نياز مي‌باشد همچنين توجّه كنيد كه اگر مايل به نصب Extension خاصي هستيد بايد DLLهاي مربوط به آنرا نيز در نظر بگيريد. بعد از مشخّص كردن بخشهاي مختلف مورد نيازتان فايلهاي مورد نظر را در يكي از شاخه‌هاي Path ويندوز كپي كنيد. دايركتوري اصلي ويندوز هدف مناسبي براي اين كار مي‌باشد. توجّه كنيد كه همه فايلها و DLLها بايد در شاخه‌اي قرار گرفته باشند كه فايل اصلي PHP.exe در آنجا وجود دارد. شما قادر خواهيد بود اين شاخه را در هر كجا كه مايل بوديد قرار دهيد ولي پيشنهاد مي‌شود كه براي حصول اطمينان يك نسخه را نيز بر روي Pathهاي ويندوز كپي كنيد.

    - مرحله بعدي كپي كردن DLL اصلي PHP مي باشد كه بايد در دايركتوري سيستم ويندوز قرار گيرد اين دايركتوري در Windowsهاي 9X و ME در X:\Windows\System، در Windowsهاي 2000 و NT در X:\WINNT\System32 و در Windows XP در X:\Windows\System32 مي‌باشد. DLL اصلي PHP به نام php4ts.dll بايد با توجه به سيستم عامل مورد استفاده در دايركتوري سيستم كپي شود. اگر اين فايل از ابتدا بر روي سيستم شما موجود بود آنرا Overwrite كنيد و همچنين هر يك از DLL هاي موجود در شاخه Dlls نيز اگر در هنگام كپي كردن معادلي بر روي كامپيوتر شما داشت با خيال راحت آنها را نيز Overwrite كنيد.

    - آخرين بخش براي كپي كردن فايل ini تنظيمات PHP مي‌باشد. دو نسخه از اين فايل بر روي پكيج اصلي موجود است يكي به نام php.ini-dist و ديگري به نام php.ini-optimized. شما قادر خواهيد بود با هر دوي اين فايلها يك سرور كامل و مناسب داشته باشيد ولي استفاده از نسخه Optimized به شما كمك خواهد كرد كه از تنظيمات پيش فرض براي داشتن بهترين امنيت و بالاترين ضريب اطمينان استفاده كنيد. من پيشنهاد مي‌كنم كه از همين فايل استفاده كنيد. اين فايل را به شاخه Windows بر روي سيستم خود كپي كنيد و نام آنرا به php.ini تغيير دهيد. دايركتوري Windows براي ويندوزهاي 9X، ME و XP X:\Windows و براي ويندوزهاي NT و 2000 ،X:\WINNT مي‌باشد.

    - بعد از بخش كپي كردن فايلها شما بايد فايل php.ini را Edit كنيد تابا چند تنظيم ساده php را بيشتر با سيستمتان آشنا كنيد. در بخش اولي مقدار extension_dir را به Pathي كه بر روي آن فايلهاي DLL و بخشهاي اصلي را قرار داده‌ايد تغيير دهيد.

    - سپس مقدار doc_root را به آدرس دايركتوري اصلي Web Server خود بصور مثال c:\inetpub\wwwroot تغيير دهيد.

    - در بخش آخر شما مي‌توانيد فايل X:\Windows\System32\Inetsrv\browscap.ini را با توجه به نيازتان تغيير دهيد. يك نسخه كامل از اين فايل نيز در Package دريافتي شما موجود مي‌باشد. براي نصب PHP بصورت SAPI Module نيز شما بايد به كنسول IIS مراجعه كنيد و يك Application Mapping بصورت Executable به سرور خود بيافزاييد. اين Mapping بايد به فايل php4isapi.dll اشاره كند. ساير بخشها نيز از اين قسمت به بعد مانند نصب خودكار براي CGI خواهد بود.

    اميدوارم مشكلي با نصب PHP با اين روش نداشته باشيد. سعي خواهم كرد كه درباره نصب PHP بر روي Linux و همچنين Apache Web Server نيز مقاله‌هايي بنويسم. قصدم اين بود كه يك راهنماي كامل براي نصب PHP تحت ويندوز و IIS تهيه كنم و براي رسيدن به اين هدف از شما تقاضا دارم كه اگر اشكالي در روش نصب مي‌بينيد و يا مطلبي براي تكميل آن در آختيار داريد آنرا در اختيار بنده قرار بدهيد تا به اين مقاله بيافزايم. همچنين اگر مشكلي با نصب PHP داشتيد مي‌توانيد از انجمن سايت Iranphp.net استفاده كنيد.

    نويسنده: سهيل صادق‌زاده

  10. #30
    پروفشنال hatef_4541's Avatar
    تاريخ عضويت
    Jul 2005
    محل سكونت
    ايران/رشت
    پست ها
    672

    پيش فرض نصب و پيكر بندي

    چرا 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 سريعتر و ساده تر از تكنولوژي هاي جايگزين مي باشد.

    نصب و پيكر بندي (قسمت اول)
    مي خواهيم در مورد نصب و پيكر بندي php بر روي دو سيستم عــــامل linux و Windows توضيح بدم.
    اولين چيزي كه بايد بهش بپردازيم اين است كه ما از چه نوع سيستم عــــــــــاملي استفاده مي كنيم يعني سيستم عاملي كه ما از استفاده مي كنيم قــابليت نصب php رو داره ؟ يا نه؟
    من تو درسهاي قبلي اين مسئله رو توضيح دادم و گفتم كه php روي چــه سيستم عامل هاي كار مي كنه و نصب ميشه. حالا ما مي خواهيم ياد بگيرييم كه چطــوري مي توانيم برنامه هايي كه به زبان php مي نويسيم رو اول رو سيستم خودمــــــون تست و اجرا كنيم و بعد اون رو منتقل كنيم به يك سيستم ديگه كه احتمالا همـــون سرور است.
    اولين كاري كه بايد انجام بديم اينكه از يك نرم افزاري استفاده كنيم كه قـابليت اين رو داشته باشه كه سيستم ما رو به يك وب سرور تبديل كنه!
    اول روش اجراي php رو بــــــــــــروي Windows آموزش خواهم داد بعد از اون در مورد Linux هم صحبت مي كنيم! براي اينكه بتونيم سيستم عامل ويندوز pc خودتون رو به يك وب سرور كه بتونـــه php رو پشتيباني كنه تبديل كنيد 3 راه وجود داره!

    " اگر شما با ويندوزي غير از XP يا NT يـــا 2000 كار مي كنيد بايد از راه اول استفاده كنيد و اگر نه بايد از راه دوم استفاده كنيد راه سوم رو هم مي شه بـــــــروي تمامي ويندوز ها استفاده كرد فقط يك نكته كـــــــه بايد روي ويندوز نسخه هاي XP يا NT يا 2000 - IIS رو غير فعال كنيد كه بتوانيد استفاده كنيد! "

    ابتدا راه دوم رو توضيح ميدم كه روش استاندارد استفـــــاده از php در windows مي باشد. ما در اين روش از IIS استفاده مي كنيم. IIS مخفف (Internet Information Server) مي باشد كه با كمك آن مي توان سرويس هايي از قبيل www و همچنين ftp كه مربوط به دريافت فايل مي شود و همچنين چندين سرويس ديگر را استفــاده كرد كه البته خارج از بحث ما هست. IIS در حال حاضر در دو نسخه پركاربرد 4 بــراي ويندوز NT و 5 براي ويندوز هاي XP و 2000 وجود دارد. حالا مي خــواهيم روش نصب IIS رو توضيح بدم اين روش نصب IIS در ويندوز هاي XP و NT و 2000 تقريبــــا به يك شكل مي باشد و مي تونيد با ياد گرفتن يكي از اونها IIS رو در ويندوز هــاي مختلف نصب كنيد.

    براي نصب IIS ابتدا بايد از منوي START گزينه Settings و در نهـــايت گزينه Control Panel را انتخاب كنيد تا پنجره موسوم به كنتر پنل باز شود سپس از پنجـــــره كنترل پنل گزينه Add or Remove Programs را انتخاب كرده و آن را اجرا نماييد بعد از بــــاز شدن پنجره Add or Remove Programs از كليد هاي سمت چپ گـزينه Add/Remove Windows Components را انتخاب كرده و بعد از اندكي صبر پنجـــــــره Windows Components Wizard باز ميشود بعد از باز شدن از كـــــادر Components گيزينه Internet Information Server(IIS) را چك دار كنيد.

    توجه : چنان چه رنگ زمينه Chek Box گزينه فوق تيره بود بدين مفهوم است كه زير گروه هاي اين گزينه غير فعال مي باشد و بايد چك دار شوند براي چك دار كردن آنها بايد بروي آن گزينه دوبار كليك كرده و از پنجره اي كه باز خواهد شد گزينه هايي كــه فعال نمي باشد فعال نماييد تا كليه سرويس هاي يا زيرگروه هاي به طور كـــــــــامل انتخاب و نصب شود.

    بعد از انتخاب گزينه مورد نظر كليد Next را فشار داده تا به مرحله بعد نصب برويد. در اين مرحله گزينه هاي مرحله قبل مورد پردازش قرار مي گيرد و كليه تغيرات اعمـــــال مي شود . چنانچه شمـــا گزينه اي را حذف ( غير فعال ) كرده باشيد در اين قسمت از سيستم پاك خواهد شد و چنانچه گزينه اي را فعال ( انتخاب ) كــــــرده باشيد در اين قسمت به سيستم اضافه خواهد شد.

    توجه: چنان چه گزينه اي را فعال كرده باشيد در اين مرحلــــــــــه احتياج به CD نصب ويندوز مورد نظر خواهيد داشت يا اگر فايل هــــــــــاي نصبي ويندوز را بروي سيستم خودتون داشته باشيد به اون احتياج پيدا خواهيد كرد چون بايد فـــايل هاي مربوط به پيكربندي IIS را از CD و يا Hard Disck خوانده شود و بر روي سيستم شمـــــا كپي گردد.

    بعد از اتمام اين مرحله ‚ نصب به مرحله پاياني خواهد رسيد و در اين قسمت شما بايد دكمه Finish را فشار داده و بعد از اندكي صبر هم اكنون IIS بـــــر روي سيستم شما نصب مي باشد و شما مي توانيد از آن استفاده كنيد.

    خوب حالا بعد از نصب IIS شما بايد IIS رو پيكربندي كنيد كه بتونيد از اون استفـاده كنيد. براي پيكر بندي IIS شما بايد به Control Panel رفته و گـــزينه Administrative Tools را انتخاب كرده و از پنجره Administrative Tools گزينه Internet Information Server را انتخاب كرده و بعد از اجراي اين برنامه گزينه هاي مربوط به پيكـــربندي IIS در پيش روي شماست و شما مي توانيد IIS خود را منطبق بر ميل خود پيكـــربندي كنيد. ( چون پيكربندي IIS خارج از بحث مـــاست پس از توضيح در مورد اون خوداري مي كنم چناچه سئوالي در اين مورد داشتيد مي تونيد به من ايميل بزنيد )

    خوب حالا كه نصب IIS رو ياد گرفتيد و IIS بر روي سيستم شمـــــا نصب شده است بايد آن را براي استفاده از PHP آماده كنيم. براي اين كـــــــار احتياج به نصب نرم افزار PHP را بر روي سيستم داريم كه در ادامه روش نصب PHP رو ياد خواهم داد.

    براي نصب PHP ابتدا بايد نسخه مورد نظر PHP را تهيه كنيد و ترجيحا از آخـــرين نسخه اين نرم افزار استفــاده كنيد كه نسخه 4.3 اين نرم افزار مي باشد كه مي توانيد از اينجا دريافت كنيد.

    بعد از دريافت نسخه مورد نظر شما بايد مراحل زير را براي نصب دنبال كنيد. ابتدا بر روي فايل اجرايي PHP كليك كرده و آن را اجرا نماييد(معمولا فايل اجرايي PHP با نـام php-4.3.0-installer مي باشد)
    بعد از باز شدن پنجره php 4.3.0 installation بعد از كمي صبر پنجره Welcome بـــاز خواهد شد. سپس دكمه Next را فشار دهيد تا به مرحله بعدي Wizard كنتـــــــــرل انتقال يابد.
    بعد از فشار دكمه Next پنجره License Agreement باز خواهد شد در اين پنجره بايد دكمه I Agree را انتخاب كنيد تا موافقت نامه PHP مورد تاييد شما قرار گيرد.
    بعد از تاييد پنجره Installation Type را خواهيد ديد كــه داراي دو گزينه Standard و Advanced مي باشد كه شما گزينه Advanced را چك دار كنيد (البته لازم به ذكــر است كه در موقعي كه شما گزينه Advanced را انتخاب مي كنيد تنظيمــــات پيكربندي بيشتري نسبت به گزينه استاندارد در اختيار داريد!)
    بعد از فشار دادن دكمه Next پنجـــــــره موسوم به Choose Destination Lovation را مشاهده خواهيد كرد كه در اين پنجره مي توانيد مسير نصب فــــايل هاي PHP را مشخص كنيد.
    با فشار دادن دكمه Next پنجره Backup Replaced Files را مشاهـده خواهيد كرد كه شما در اين پنجره مي توانيد محل قرار گيري فايل هاي Back up را مشخص كنيد. همچنين مي توانيد به PHP بگوييد آيا براي فايل هاي شما Back up تهيه كند يـــــــا خير؟
    بعد از فشار دادن دكمه Next پنجره Choose Upload Temporary Directory نمــايش داده خواهد شد كه در اين اينجا محل قرار گيري فايلهاي موقتي كه براي اجراي برنامه هاي PHP به آن احتياج دارد مشخص مي شود.
    با فشار دكمه Next پنجره Choose Session Save Directory باز خواهد شد كه شما مي توانيد محل ذخيره كردن متغيير هاي Session (در درسهاي بعد توضيح خواهــم داد) را مشخص كنيد.
    بعد از فشار دكمه Next پنجره Mail Configuration باز خواهد شد كه شمــــــــــا بايد تنظيمات مربوط به Smtp Server و ايميل آدرس پيش فرض را وارد كنيد (در صورتي كه به اين گزينه آشنايي نداريد مي توانيد تنضيمات پيش فرض را قبول كــرده و بدون اعمال تغييرات كليد Next را فشار دهيد )
    با فشار دكمه Next پنجره Error Reporting Level پديدار خواهد شد كه شمـــــا مي توانيد سطح گزارشـــات خطاهاي احتمالي كه در برنامه هاي به وجود مي آيد مشخص كنيد كه در اينجا شما بهتر است تنظيمات پيش فرض را قبول كرده و بــــــه مرحله بعدي برويد.
    سپس با فشار دكمه Next پنجره Server Type رو مشاهده خواهيد كـــــــــرد در اين پنجره شما بايد نوع Web server سيستم خودتون رو به PHP معرفـي كنيد در اين جا شما بايد گزينه Microsoft IIS 4 or Higher رو انتخاب نماييد چون از ويندوز هــاي XP و NT و 2000 استفاده مي كنيد .
    بعد از فشار دكمه Next به پنجره File Extensions خـــواهيد رسيد كه در اين قسمت شما امكان اين را خواهيد داشت كه براي WebServer خودتون مشخص كنيد كــــــه چه نوع فايلهاي را براي اجرا اسكريپت هاي PHP در نظـــــر بگيرد.(در اين مرحله بهتر است تمام 3 گزينه را انتخاب كنيد.)
    بعد از فشار دادن كليد Next ‚ پنجره Start Installation باز خواهد شد كه از شمــــــا اجازه نصب PHP و كپي كردن فايل هاي رو روي سيستم شما را خواستار است كــه شما با فشار كليد Next به اون اين اجازه رو خواهيد داد.
    بعد از اين كار پنجره مربوط به Installing باز خواهد شد كه شما از عمل كــــــرد كپي فايل ها مطلع خواهيد شد. بعد از اتمام اين مرحله چنان چه فايل "php.ini" قبـلا در دايركتوري System32 شما وجود داشته باشد پيغامي مبني بر اينكه اين فايل قبـــلا وجود دارد و شما چنانچه مايل هستيد اين فايل پاك شود و نسخه جديد فـــــــايل را جايگزين كند كه گزينه ok را براي تاييد كليك كنيد.(توجه داشته باشيد اين گـزينه در صورتي نمايش داده مي شود كه فايل مورد نظر وجود داشته باشد)
    بعد از اتمام اين مراحل پنجره IIS Scripttamp Node Selection را مشــاهده خواهيد كرد كه شما بايد در اين قسمت كليد Select All را فشار داد و دكمه ok را بزنيد.
    در اينجا نصب PHP به پايان رسيد و با پيغام تبريك و موفقيت شمـا در نصب PHP مواجه خواهيد شد و با فشارداد كليد Ok آن را تاييد كنيد. اميد به خــــــدا در روزهاي بعد نصب php در windows هاي 98 و ME و ... را توضيح خواهم داد. همچنين كـــــار با PWS و Eesy PHP را نيز ياد خواهيد گرفت. پس با ما باشيد.

    ادامه در پست بعد ....

Thread Information

Users Browsing this Thread

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

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •