>> داگ لوید: بنابراین در ما ویدئو در گرامر PHP
ما زیادی در مورد چگونگی صحبت PHP را می توان در خط فرمان استفاده می
برای اجرای برنامه به شیوه ای که ما بسیار آشنا با از C. هستید
اما من به عنوان همچنین به ذکر است در آن ویدئو، PHP
در ابتدا به توسعه داده شد پیاده سازی برنامه نویسی وب، وب سایت.
و به این ترتیب در این فیلم ما رفتن به صحبت در مورد چگونه ما
استفاده از پی اچ پی در زمینه توسعه وب است.
>> ما می دانیم، در حال حاضر، از ویدیو های ما در HTML،
وب سایت های ساخته شده که از مجموعه ای از تگ های HTML
که از لحاظ معنایی تعریف ساختار یک صفحه وب است.
اما وب سایت های که ساخته شده با خالص HTML
از بسیار رنج می برند، محدودیت بسیار جدی است.
>> و برای نشان دادن این محدودیت، اجازه دهید به شرح زیر در نظر بگیرید.
بنابراین در حال حاضر من می خواهم برای ساخت یک صفحه وب ، هر زمان که کاربر بازدیدکننده داشته است آن را،
آن را به من می دهد که در حال حاضر زمان در کمبریج، ماساچوست،
نمایش آن را به آخرین دقیقه است.
اگر من در حال حاضر ساخت این حق، من ممکن است چیزی شبیه به این می گویند.
زمان کنونی در Cambridge-- بنابراین من تگ های HTML، برچسب ها سر، تگ عنوان،
بدن جریان tags-- زمان در کمبریج 14:08،
چاپ کردن زمان نظامی.
>> چه اتفاقی می افتد اگر آن را در حال حاضر 2:09، 14:09.
خب تا کنون، با HTML، من به در و تغییر آن به 14:09.
و سپس یک دقیقه بعد، من باید آن را تغییر دوباره.
و همانطور که می توانید تصور کنید، که احتمالا بدترین کار همیشه.
شما وب مستر برای یک صفحه وب هستید، و هر دقیقه، 24 ساعت شبانه روز،
شما نیاز به به روز رسانی زمان کنونی توسط دستی باز time.html و تغییر
درست است که قطعه از کد را به می گویند که زمان کنونی در ساعت و دقیقه.
که احتمالا بسیار نیست استفاده از منابع ما،
هر دو انسان و محاسباتی.
>> وب سایت هایی که همه HTML به طور کامل استاتیک می باشد.
تنها راهی که شما می توانید به روز رسانی محتوا، به عنوان ما فقط دیده می شود،
است به صورت دستی آن منبع باز فایل ها، آنها را ویرایش کنید، و ذخیره آنها.
و پس از آن زمانی که کاربر تازه صفحه،
یا بازدیدکننده داشته است به صفحه برای اولین زمان، آنها را از جدیدترین مطالب را دریافت کنید.
اما فقط به این دلیل که ما کرده ایم دستی آن را ویرایش کنید.
>> اگر ما شروع به ترکیب برخی از PHP در آن وجود دارد، کد ما می توانید تعداد زیادی انعطاف پذیر بیشتری دریافت کنید.
و ما می تواند یک راه برای صفحات ما به پویا، به روز رسانی و یا خود،
بدون نیاز به فقیر ما وب مستر در مثال قبلی
به صورت دستی به روز رسانی است.
آنها می توانند آن طور خودکار انجام.
ما لازم نیست که به دخالت.
ما می توانیم برخی از خواب است.
که احتمالا چیز خوب است اگر شما در حال انجام بسیاری از برنامه نویسی وب.
>> بنابراین در CS50 IDE، ما برای اجرای یک وب سرور آپاچی به نام.
این بسیار معمول استفاده می شود، منبع باز سیستم وب سرور.
این سیستم دارای ظرفیت تفسیر
پی اچ پی، است که رفتن به اگر مفید باشد شما می خواهید برای انجام هر گونه برنامه نویسی پی اچ پی.
>> و در CS50 IDE، ما یک دستور به این بسیار آسان برای انجام،
apache50 شروع می شود.
و پس از آن که بریده بریده مسیر، بریده بریده به، بریده بریده
دیر، که فقط یک راه واقعا مشترک است نشان می دهد آنچه شما در اینجا مشخص کرده اید
یک مسیر به یک خاص است راهنمای شما که
می خواهم به ریشه سایت، و یا صفحه ریشه،
یا پوشه ای را که وب سرور شما شروع خواهد شد به بررسی فایل ها و خدمت
آنها را به مشتریان که آنها را درخواست می کند.
بنابراین اجازه دهید بیش از پاپ به CS50 IDE، فقط به شما نشان می دهد، واقعا سریع، چگونه این کار می کند.
>> بنابراین در اینجا در CS50 IDE، من در یک هستم دایرکتوری با نام هفته صفر نه.
و من two-- من اعدام یک دستور LS فقط
بالا به شما نشان دهد که من آن را دو دایرکتوری در اینجا، پی اچ پی،
است که مجموعه ای از فایل است که من استفاده در پی اچ پی ویدئو نحو، و سپس PHP-وب،
است که مجموعه ای از فایل است که من می خواهم به استفاده در این ویدیو.
>> و من می خواهم برای شروع یک نمونه وب سرور
با محتویات پوشه PHP-وب به عنوان فایل ها در حال خدمت است.
پس چه هستم من کاری انجام دهید؟
من قصد دارم به نوع apache50 فضای شروع، PHP فضا، وب داش.
که مسیر دایرکتوری از جایی که من در حال حاضر.
سپس من آمار را وارد کنید.
آن را به انجام یک کمی از مسائل در اینجا.
و سپس آن را به می گویند، آپاچی موفقیت آغاز شده است.
سایت خود را در حال حاضر موجود at-- و پس از آن URL برای سایت وجود دارد.
پس چه هستم من کاری انجام دهید؟
من قصد دارم به سرعت کپی این.
و من قصد دارم برای باز کردن up-- و من زوم کردن کمی here--
من قصد دارم برای باز کردن یک تب جدید در کروم.
و من قصد دارم به بازدید که URL.
>> من قصد دارم به ضربه را وارد کنید.
آن را برای بارگذاری.
و من دوباره زوم کردن.
و ما در اینجا می توانید ببینید است محتویات پی اچ پی وب من.
>> بنابراین در حال حاضر چه اتفاق می افتد این است که اساسا در اینجا، به عنوان مثال من از CS50 IDE
است در خدمت این فایل ها به هر کسی که آنها را درخواست.
و در طول دوره از این فیلم، ما مرتب کردن بر اساس
نگاهی به یک دسته از این فایل های مختلف در زمینه.
>> برای تست که آپاچی خود را سرور در حال کار است،
که به طور کلی رفتن را به صورت را در CS50 IDE،
اما اگر شما این کار را به طور کلی، و شما شروع به ساخت وب خود را
سرور، یک واقعا وجود دارد مرتب سازی بر اساس مشترک آنالوگ به،
"سلام جهان" است که معمولا برای توسعه وب پی اچ پی استفاده می شود.
که است که به یک فایل متشکل از فقط این code--
یک جداکننده PHP مجموعه ای با اطلاعات پی اچ پی، پرانتز، نقطه و ویرگول در میان است.
که در واقع یک ویژه پی اچ پی تابع که به شما می گوید
چه نسخه ای از پی اچ پی شما در حال اجرا هستند.
>> بنابراین در CS50 IDE، من که فقط فایل های موجود
به شما نشان دهد چه این نگاه می خواهم.
بنابراین من به دنبال در شاخص من از نمونه php من.
به عنوان مثال آپاچی در حال اجرا است من محتویات PHP-وب.
و من یک فایل اینجا info.php نامیده می شود.
>> من قصد دارم به آن کلیک کنید، زوم کردن.
این چیزی است که شما در حال رفتن برای دیدن، تقریبا.
این است که فقط به من گفتن که سرور آپاچی من به کار است.
و این است که، ظاهرا، نسخه PHP که من در حال اجرا هستم.
این آنالوگ به است "سلام جهان است."
>> بنابراین من می دانم همه چیز عملیاتی هستند.
بنابراین ما خوب به آن بروید.
ما می توانید از اینجا ادامه دهید.
>> بنابراین اجازه دهید دوباره که زمان به عنوان مثال ما
صحبت کردن در مورد با وب مستر فقیر ما که تا به حال به روز رسانی صفحه به طور مداوم.
این ممکن است یک راه حل برای چگونه من همه چیز را پیاده سازی
به طوری که وب مستر نیست به روز رسانی آن زمان بود.
آن را فقط نوعی از اتفاق می افتد به صورت خودکار.
>> پایین زیر، HTML، آن را بسیار مشابه، با یک استثنا.
اما در اینجا من برخی از PHP در بالای کردم.
من، ظاهرا، این نام date_default_timezone_set تابع.
>> و ما حرف نمی زنند در مورد تمام این توابع در CS50،
چون پی اچ پی احتمالا دهها هزار.
که ممکن است یک بیت از یک اغراق است، اما آن را نمی ممکن.
این رو بسیاری از توابع ساخته شده در.
و بنابراین این یک تابع است که ظاهرا مجموعه منطقه زمانی من به عنوان ایالات متحده / شرقی،
که منطقه زمانی که من است در حال حاضر در ساخت این فیلم.
>> پس از آن من یک تماس به تابع به نام، تاریخ.
و، ظاهرا، من ذخیره سازی او از چیزی به نام، زمان.
پس چه اتفاقی افتاده؟
>> خب، اساسا چه اتفاق می افتد، من ساخت یک تماس
به برخی از سرور است که رفتن به به من بگویید چه زمان در حال حاضر است.
و من آن را تبدیل به یک فرمت ساعت، دقیقه، ثانیه صورت گرفت.
و به همین دلیل آن را H سرمایه این است در حال رفتن به من زمان 24 ساعت را، نه 12
زمان ساعت، خواهد بود که ساعت کوچک.
و من فقط ذخیره سازی که در یک متغیر به نام، زمان.
به طوری که خط دوم از پی اچ پی وجود دارد، فراخوانی تابع،
تاریخ، این است که فقط گرفتن برخی از رشته است که
رفتن به من تاریخ را، و زمان، و یک دسته از اطلاعات دیگر.
و اولین آرگومان وجود دارد، که خود را، تنها استخراج بخش مهم
که من در مورد این مثال مراقبت از خود، که ساعت، دقیقه، و دوم است.
به طوری که همه که رفتن بر روی است.
بنابراین من ذخیره که در یک زمان متغیر $.
و پس از آن در بسیار پایین وجود دارد، من
که خلاصه نویسی برای چاپ کردن زمان جاری است.
بنابراین من فقط رفتن به چاپ از چه زمان فعلی است.
>> بنابراین اجازه دهید نگاهی به این در IDE CS50 و ببینید که ما چگونه در حال حاضر
صرفه جویی که وب مستر بسیاری از مشکلات.
همه حق است، بنابراین در اینجا من دوباره هستم تماس در دایرکتوری ریشه
به عنوان مثال آپاچی من.
و من یک فایل در اینجا به نام time.php.
من فقط رفتن به کلیک بر روی آن.
و من حرکت به بالا، به دلیل ما در خیلی دور بزرگنمایی.
زمان در حال حاضر 14:20:34 است.
بنابراین من آن را انجام ساعت، دقیقه و ثانیه.
و من می توانم تازه کردن صفحه و زمان جدید است.
--41.
من قصد دارم به روز کردن صفحه و زمان جدید، 44، 46، 47.
>> بنابراین، من به وضوح نیست تغییر هر چیزی خودم.
من اینجا طراوت صفحه.
بنابراین من نمی تواند به عقب وجود دارد ویرایش آن.
و من به شما قول، من نمی هر گونه همدستان
که در حال ویرایش فایل از طرف من در سمت.
>> من فقط با استفاده از آن پی اچ پی تابع، زمان، برای تولید زمان برای من
بطور خودکار.
به طوری که حتی اگر من خوابم، و وب سرور من در حال اجرا است،
کاربر مراجعه کنندگان که صفحه هنوز رفتن به دقیقا زمان جاری است.
به طوری که خیلی خوب است.
من سایت من پویا تر ساخته شده با کد PHP بیش از حد نیست.
این فقط دو خط کد بود و پس از آن یک کمی از بیانیه چاپ.
و در حال حاضر من یک سایت بسیار پویا
که مثال اول ما شاهد در آغاز از ویدئو.
>> بنابراین، از این ویدئو را در نحو PHP یاد که زمانی که مفسر PHP را اجرا می کند
برنامه های ما، همه چیز را نادیده می گیرد آن را که در داخل جداکننده پی اچ پی نیست،
تف کردن آن را.
در این مثال، چه چیزی که تف شد HTML بود.
و این بدان معنی من هم اکنون می توانید متفرق HTML و PHP با هم.
از آنجا که فقط به مترجم چشم پوشی از HTML و خروجی آن را به معنای واقعی کلمه.
که خوب است، درست است؟
>> از آنجا که احتمالا، در پایان روز،
من سایت من برای دوست شود از HTML ساخته شده است.
به طوری که هر مرورگر وب می تواند تفسیر آن، و یا درک HTML در صفحه
و ارائه آن را به عنوان چیزی است که ما در واقع می تواند به عنوان انسان را درک کنید.
و من فقط می توانم استفاده از PHP برای بخش هایی از سایت من
نیاز پویایی، که من نیاز به همه چیز که به طور مداوم به روز رسانی.
اطلاعات شخص می توانید همان باقی بماند.
>> خوب، پس این خوب است.
اما چرا من این کار را؟
چرا HTML و PHP مخلوط کنم؟
من فقط می تواند نسخه قابل چاپ کردن همه HTML، با استفاده از تابع PHP نسخه قابل چاپ.
چرا دارم اون کار که نه؟
در مورد آن فکر برای یک ثانیه.
>> چرا، وقتی که من فقط می تواند چاپ out-- من می تواند خطوط از پی اچ پی که فقط می گویند،
چاپ تگ HTML، هد چاپ.
چرا دارم اون کار که نه؟
چرا من مخلوط کردن PHP و HTML؟
>> خوب، اگر شما فکر می کنم در مورد آن برای یک ثانیه.
PHP، مترجم به تفسیر آنچه در آن می بیند.
و پس از آن را برای رفتن به برای اجرای یک خط کد.
نسخه قابل چاپ کردن HTML.
نسخه قابل چاپ کردن برچسب سر باز است.
نسخه قابل چاپ کردن تگ عنوان باز است.
آن را به به اجرا و تفسیر
که هر مرحله تنها از راه.
چرا که نه فقط اجازه دهید مترجم فقط براق بیش از
همه چیز آن را درک نمی و آن را به طور خودکار؟
آن را به من زمان زیادی صرفه جویی به مخلوط HTML و PHP من من با هم.
>> و به همین دلیل ما نمی فقط باید ذخیره PHP باز
و پس از آن فقط از کل چاپ محتوای صفحه ما به عنوان یکی PHP غول
پاسخ به تابع، چاپ، و پس از آن ذخیره PHP نزدیک و ما در حال انجام.
به طوری که به همین دلیل ما آنها را مخلوط کردن با هم.
>> تا کنون، ما بیش از حد نه دیده شده تفاوت از نحو PHP به طور کلی.
آن بوده است بسیار ساده.
ما در حال حاضر دیده می شود علامت سوال، برابر است.
ما شاهد یک زن و شوهر از فراخوانی تابع جدید، اما هیچ چیز واقعا فانتزی در رفتن.
بیایید شاید همه چیز را کمی خیال باف.
اگر که می خواهید برای انتقال اطلاعات بین فایل های PHP مختلف،
به طوری که کاربر می تواند شاید ارائه اطلاعات به من.
و پس از آن من می توانم چیزی انجام با آن را در یک صفحه دیگر.
>> بنابراین PHP دارای پشتیبانی چیزی به نام جهانی فوق العاده
متغیرها که برای تلفن های موبایل بسیار عالی است.
آنها واقعا فقط هستید آرایه های انجمنی غول
که کمک به اجرای این قابلیت عبور
اطلاعات بین فایل های پی اچ پی که می موجود بر روی وب سرور ما.
>> اولین بار از این فوق العاده GLOBALS است که به نام $ _GET.
و آن را احتمالا ساده ترین کار به درک.
چه با $ _GET اتفاقی می افتد؟
خوب، در واقع، کاربر رفتن به اطلاعات اضافی تایپ
در پایان از URL است.
و هر نوع آنها، با فرض آن را در یک روش خاص فرمت
نام رشته پرس و جو، است که فقط مجموعه ای از جفت کلید از هم جدا
توسط آمپرسندهای.
کسانی که جفت کلید خواهد بود ذخیره شده در یک آرایه انجمنی $ _GET.
و از ویدیو های ما در نحو PHP، ما می دانیم
نحوه کار با آرایه های انجمنی در حال حاضر.
بنابراین در اینجا یک نمونه از برخی از PHP، که در آن شاید من
استخراج تمام جفت کلید که کاربر عرضه شده در URL.
بنابراین من باید ذخیره PHP گسترش است.
من یک حلقه foreach.
من تکرار من در سراسر سوپر آرایه جهانی به نام $ _GET.
>> و من می خواهم که قادر به مراجعه به هر دو کلید و ارزش.
و من فقط آنها را چاپ خارج، هر یک در ظاهر
تگ پاراگراف خود را در اینجا.
من چاپ برخی HTML و درون مقادیر
کلید و مقدار را به بیانیه ای که.
>> بنابراین اجازه دهید نگاهی به این در واقع در IDE ما کار می کنند.
و شاید این کمک خواهد کرد نشان دادن یک کمی
از آنچه است که در واقع انجام.
بنابراین من به اینجا در ریشه وب من هستم.
و من در یک زوم کمی به شما نشان می دهد
که من یک فایل با نام، get1.php.
>> بنابراین اجازه دهید در get1.php را کلیک کنید.
و من از دیدن هر یک از مطالب است.
که عجیب و غریب، درست است؟
خب، واقعا در واقع.
از آنجا که من عرضه نمی هر چیزی را در URL.
من قصد دارم به get1.php، اما من هیچ جفت کلید عرضه نمی
به عنوان بخشی از رشته پرس و جو است.
بنابراین اضافه کردن رشته پرس و جو اجازه و ببینید چه چیزی این فایل می توانید انجام دهید.
>> برای شروع یک رشته پرس و جو شما فقط علامت سوال تایپ کنید.
پس از آن شاید من می گویم نام = داگ و در سال = 2015.
و بعد من را خواهد ضربه را وارد کنید.
در حال حاضر متوجه آنچه اتفاق می افتد.
من هنوز در get1.php هستم.
اما در حال حاضر من عرضه کرده ام جفت کلید، و من
چاپ آنها را خود به خود نام paragraph--، سال Doug--، 2015.
که دقیقا کد، ما فقط یک لحظه پیش بر روی اسلاید را دیدم.
>> و اگر من می خواهم به شاید یکی دیگر از اضافه کلید جفت ارزش، و کلاس = CS50.
در حال حاضر من ارزش کلید دیگر جفت که چاپ
وقتی که من URL دوباره دوباره.
در حال حاضر شاید این است که فرمت وحشتناکی است.
بنابراین من باید نسخه دیگری از get.php.
آن get2.php.
>> تفاوت در این یکی این است که من فایل CSS،
و فرمت آن را همه چیز کمی سادگی بیشتر برای من.
این شاید بیشتر نمی CSS های زیبا در جهان است.
اما این فقط یکی دیگر از انجام آن است.
پس من هنوز هم می توانید دسترسی به متغیرهای من با استفاده از $ _GET.
و در این مورد، من فقط نوع من ساخت CSS کمی فانتزی تر.
و اگر ما را به پاپ IDE من برای یک ثانیه،
من شما را در وب پی اچ پی من نشان می دهد دایرکتوری اینجا، get2.php.
ما آن را در اینجا باز، برخی از HTML.
ظاهرا من ارتباط در فایل CSS من در مورد صحبت شد.
من برای باز کردن یک برچسب جدول.
و پس از آن در اینجا حلقه foreach من است.
>> در اینجا این است که، آنچه که من بر روی اسلاید قبل نشان داد.
تنها تفاوت من است این کلید و مقدار CSS
یک ظاهر طراحی شده است که من استفاده از آن.
اما این همه من انجام است که من، تکرار در سراسر $ _GET برای دریافت تمام
از جفت کلید.
>> و من آنها را چاپ به عنوان میز.
و، ظاهرا، من قالب بندی کلید در یک راه، با <TD کلاس = "کلید".
بنابراین ظاهرا که در مورد برخی انتخاب کلاس در من GET.CSS فایل CSS.
و، ظاهرا، من چاپ ارزش من یک راه کاملا متفاوت است.
که است که بسیار آنچه ما در اینجا، که در آن دیدم
ارزش های ما چاپ شد با یک پس زمینه آبی،
و کلید ما چاپ شد با یک پس زمینه زرد.
بنابراین این که چگونه من گرفتن کسانی که سبک های مختلف.
از آنجا که من با استفاده از کلاس های مختلف CSS.
اما این تقریبا آن را برای دریافت.
مانند من فقط استخراج اطلاعات.
و در این مورد، من فقط چاپ آن را به روی صفحه نمایش.
من گرفتن آن را از URL، و این چیزی است که GET برای ما.
>> آیا شما ممکن را ببینید مشکل در اینجا چند؟
چرا ما شاید نمی خواهید به استفاده از $ _GET؟
چه می شود اگر، شاید، من این پرس و جو ساخت؟
get3.php --to، که من انجام IDE من نیست.
این فقط یک فایل فرضی است.
اما توجه کنید که ظاهرا در اینجا عبور رمز عبور من را در.
و شاید رمز عبور من را شرم آور است.
یا شاید من نمی خواهم مردم را نمی خواهم مطمئن شوید رمز عبور من چه است، درست است.
>> اگر من آن را عبور though-- اگر من با استفاده از روش $ _GET، چه اتفاقی می افتد است،
که رفتن به در URL باشد.
بنابراین برخی از کاربران مخرب ممکن است قادر به دیدن آنچه که من انجام می دهند.
من ممکن است عبور از آنها اطلاعات حساس.
و یا شاید آن را حتی یک کاربر مخرب است.
شاید این فقط دوست خود را که است بیش از شانه خود ایستاده است.
و در حال حاضر آنها دانند که رمز عبور به حساب فیس بوک خود را.
>> و شاید آنها را نمی انجام هر کاری با آن است.
اما اگر رمز عبور خود را بودند به فیس بوک از طریق $ _GET کنید،
در حال حاضر آنها رمز عبور فیس بوک خود را می دانم.
از آنجا که این حق وجود دارد در URL وقتی که شما ارسال اطلاعات انجام داده ام.
>> و به این ترتیب شاید این که بهترین نیست راهی برای عبور اطلاعات حساس است.
این یک راه خوب برای انتقال اطلاعات است که ما انجام نمی ویژه
در مورد مراقبت از عنوان بیش از حد حساس است.
از آنجا که گرفتن خیلی سریع است، نسبت به دیگر GLOBALS فوق العاده
ما قصد داریم به بحث در مورد.
اما شاید نه بهترین ابزار برای اطلاعات حساس.
>> برای که ما ممکن است بخواهید استفاده از چیزی به نام $ _POST،
که یکی دیگر از متغیر فوق العاده جهانی است.
این یکی دیگر از آرایه انجمنی است.
پس از آن آثار بسیار دقیقا همان GET.
به جز، به جای استخراج اطلاعات از URL،
آن چیزی طریق هدرهای HTTP.
پس از یاد ما ویدئو در HTTP، ما صحبت کردیم
در مورد چگونه مرورگرهای، سرور، و مشتریان ارتباط برقرار کند.
اطلاعات تماس و گذشت و جلو در هدر HTTP.
>> با $ _POST، اطلاعات به طور معمول کسانی که از طریق هدرهای HTTP ارسال می شود.
و ما اغلب خواهید دید $ _POST در متن ارسال فرمهای HTML.
شما هنوز هم می تواند استفاده از فرم های HTML برای ارسال همه چیز را به.
اما آنها معمولا استفاده می شود در زمینه POST.
>> بنابراین در اینجا یک مثال از یک فرم HTML است.
در حال حاضر ما این را دیده ام قبل، اما ما این بخش، عمل = "post.php" دیده نمی شود.
بنابراین، هنگامی که ما در مورد اشکال در صحبت متن HTML، من یک دکمه ارسال داشته است.
و اگر شما را به یاد، من می خواهم روی ارسال کلیک کنید و پس از آن صفحه فقط تجدید،
هیچ کاری انجام نمی.
>> در این مورد، من از ارسال هر آنچه که من در این فرم را تایپ کنید،
به یک فایل PHP به نام post.php.
و، ظاهرا، راه من انجام دارم که در این شکل است که با استفاده از روش POST.
بنابراین هر قطعه از اطلاعات که من به این شکل تایپ کنید
شود ارائه خواهد شد از طریق هدر HTTP.
>> آن را در post.php در دسترس خواهد بود، چرا که این عمل به شکل من است.
این در دسترس خواهد بود با رفتن به $ _POST.
و ظاهرا، راه من می توانید گرفتن در هر عنصر منحصر به فرد
با آرایه انجمنی با این ویژگی،
ویژگی name از برچسب ها ورودی ما است.
>> بنابراین ظاهرا من می توانم $ _POST مربع می گویند براکت نام به هر کاربر
تایپ در زمینه اول.
و $ _POST رمز عبور، از PW نه، به هر کاربر تایپ گرفتن
در این زمینه است.
>> بنابراین اجازه دهید نگاهی به این بیش از CS50 در IDE.
بنابراین در اینجا ما، و من زوم در یک ثانیه است.
و ما باید یک فایل به نام post.html.
من در post.html را کلیک کنید.
در بالا بسیار در اینجا من یک فرم وب بسیار ساده است.
این فرم ما فقط دیدم بر روی اسلاید یک ثانیه قبل.
>> من می توانید نوع، داگ، و من می توانم رمز عبور من را، که ما همه نوع
مطمئن شوید squadgoals است.
و من را خواهد ضربه ارسال.
و ظاهرا، که تسلیم به post.php.
و من ظاهرا چاپ است.
بنابراین من شدن از تمام خلاص شدن از شر امنیتی که POST به من می دهد تنها با چاپ
نام کاربری و رمز عبور.
>> نام کاربر داگ است.
رمز عبور کاربر squadgoals است.
چگونه این کار را کرد؟
خب، پاپ را به IDE دوباره برای یک ثانیه.
ما حرکت خواهد کرد پایین به نگاهی به post.php، که بود
عمل است که من استفاده می شود به اینجا ارائه دهید.
که عمل از فرم HTML من بود.
و تمام من انجام است.
نام کاربر است، و من چاپ هستم کردن محتویات $ _POST "نام".
و سپس رمز عبور کاربر $ _POST "رمز عبور" است.
بنابراین من که اطلاعات داده شده بود با ارسال فرم HTML است.
و من اکنون می توانید آن را با استفاده $ _POST استخراج از آنجا که روش من استفاده می شود به انتقال
داده ها با آن شکل از روش POST بود.
>> در حال حاضر آن را احتمالا بنابراین great-- من قصد دارم
برای رفتن به عقب برای یک ثانیه به مجموعه ای از here-- ما
آن را احتمالا آنقدر بزرگ نیست اگر من ارسال اطلاعات با پست،
که است که ظاهرا امن تر است.
این احتمالا نه چندان بزرگ اگر من انجام است که پس از آن و
چاپ کردن رمز عبور کاربر.
این تصور می شود امن تر است.
>> OK، اما آن را به طور کامل امن نیست.
و بنابراین در این کمی قطعه اینجا من می خواهم
فقط توجه شما را به برخی از قرعه کشی نگرانی از امنیت داده ها، تنها چیزی
به عنوان شما فکر می کنم کار و یا با استفاده از اینترنت می باشد.
این تنها چیزی است که به آن توجه شود.
>> من به شما گفته که اطلاعات است ارسال از طریق هدرهای HTTP
هنگام استفاده از متد POST.
که به معنی آنها را به طور کامل امن نیست.
آنها سخت تر نسبت به پیدا کردن هستید با استفاده از روش GET، که در آن
آن را فقط در URL راست.
اما هنوز یک راه برای پیدا کردن آن وجود دارد.
و من فقط می خواهم برای نشان دادن شما این طوری که شما شاید
شروع به فکر می کنم در مورد این عنوان شما در حال کار، یا با استفاده از
وب سایت و ارسال کلمه عبور، و شاید با استفاده از
از کلمه عبور یکسان در یک بسیاری از مکان های مختلف.
می دانم که هنوز در واقع بسیار آسان برای پیدا کردن رمز عبور کسی.
>> و بنابراین در اینجا، من قصد دارم برای رفتن به post2.html.
و تفاوت با post2.html و post2.php بسیار ظریف است.
تفاوت فقط که من چاپ نشده است
رمز عبور وقتی که من فرم را ارسال کنید.
>> بنابراین من قصد دارم به نوع در، داگ.
و من قصد دارم به نوع در، squadgoals، حتی
هر چند ما می دانیم که رمز عبور است.
قبل از اینکه من ارائه فرم هر چند، من قصد دارم
برای باز کردن ابزار های برنامه نویسی، فقط به چه خبر است به اینجا اتفاق می افتد به شما نشان دهد.
بنابراین در کروم، من فقط رفتن به ضربه F12.
و که رفتن به باز کردن من ابزار های برنامه نویسی در سمت راست.
من فرم ارسال نشده است.
حالا من قصد دارم به آمار ثبت شده در فرم من.
و ظاهرا، من ساخته شده پاسخ به، و یا من یک درخواست
به post2.php که حس می کند.
من قصد دارم به کلیک بر روی آن.
>> پس از آن در اینجا، من قصد دارم به هدر کلیک کنید.
در بسیاری از مسائل در رفتن در اینجا وجود دارد.
اما اگر من در پایین حرکت به بسیار پایین، متوجه حق there-- تقویم من
آن را برای حق second-- مسدود شده وجود دارد در گوشه بسیار پایین،
name-- داگ، squadgoals pw--.
بنابراین حتی اگر من با استفاده از POST روش است که امن تر،
فقط آگاه باشید که وقتی شما این کار را داشته باشد، شما هنوز هم انتقال اطلاعات
از طریق HTTP.
و آن را هنوز هم می تواند پیدا شده توسط دشمن.
این تنها چیزی است که ما قصد داریم به باید برای مقابله با واقعا.
شاید برخی از راه به رمز در آوردن وجود دارد ما کلمه عبور قبل از ما آنها را ارسال بیش از،
خواهد بود که بهتر است، که من انجام نیست.
>> اما فقط آگاه باشید که ارسال می شود روش محدودیت بیش از حد.
این بهبود در این شرایط بودن بلافاصله قابل مشاهده است.
اما آن را ثابت کامل نیست.
بنابراین در اینجا یک مثال از سریع در ورزش در خانه
که شما می توانید استفاده کنید به گرفتن برخی از تمرین کار با پی اچ پی.
درست جفت ارز زیر از صفحات وب است.
اولین فقط باید بسیار ساده شکل با یک فیلد و یک ارسال
دکمه.
بنابراین بسیار شبیه به آنچه ما فقط با post.html است.
>> و سپس دوم فایل شما باید ایجاد
یک فایل، یک فایل PHP است، که انتظار ورودی، از طریق POST،
و بر اساس آنچه کاربر تایپ، که شما می توانید فرض می شود یک عدد صحیح.
شما لازم نیست که برای انجام هر گونه چک کردن خطا و یا مانند.
شما می توانید برای کاربران فرض خواهد یک مقدار صحیح تایپ کنید،
و یا چیزی شبیه به یک تفسیر PHP عنوان یک عدد صحیح، به آن فرم.
شما فقط می خواهید برای ایجاد یک N جدول N ضرب.
>> بنابراین در صورتی که کاربر 10، ما می خواهیم یک جدول 10 با 10 ضرب.
در صورتی که کاربر یک 12، ما می خواهیم یک جدول 12 12 ضرب.
بنابراین شما می توانید ببینید که چه ما در حال رانندگی در اینجا،
ما یک نگاه می گیرم این فایل را در IDE است.
>> بنابراین در اینجا در IDE، من mult_form.html.
من آن را کلیک کنید.
من می خواهم به انجام است انتخاب یک ارزش است.
نوع در 10، کلید ارسال کنید.
و ظاهرا، mult_table.php که ما می توانیم در بالا وجود دارد در URL را ببینید،
من ایجاد یک 10 10 جدول ضرب.
>> اگر من از نوع 15 و کلید ارسال کنید، در حال حاضر من یک جدول 15 تا 15 ضرب.
من، البته، نمی رفتن به نشان دادن شما محتویات mult_table.php،
چرا که سرگرم کننده را از این در ورزش در خانه.
اما یک راه عالی برای گرفتن برخی از این تمرین کار با حلقه PHP
و POST، بسیار ساده است، امیدوارم استرس به عنوان مثال رایگان، فقط
برای انجام یک کمی تمرین.
و من کمی CSS بر روی کردم در اینجا به به جدول فردی من
سلول فقط نوع موسیقی پاپ یک کمی و نگاه کمی بیشتر
مثل یک جدول ضرب، به عنوان مخالف فقط فقط متن
نوع نشسته وجود دارد.
آخرین جهانی فوق العاده ما در مورد صحبت در این فیلم چیزی به نام
$ _SESSION.
و شاید این است که در واقع بهترین مثال از چیزی
ما جهانی در نظر بگیرند.
این آرایه دیگری است.
این یکی دیگر از آرایه انجمنی است.
اما آن را از طریق هر قابل دسترسی است فایل پی اچ پی که بر روی سیستم ما وجود دارد.
>> ما لازم نیست که به ارائه اطلاعات یک صفحه در یک زمان
که ما با GET و با POST را انجام دهد.
این همیشه وجود دارد.
و این فوق العاده است برای یک صفحه که در آن شما به سیستم وارد نشدهاید، برای مثال،
و شما می خواهید اطلاعات ورود خود را به ادامه از صفحه ای به صفحه به صفحه.
>> شما فقط می توانید شروع یک جلسه و پس از آن استفاده از $ _SESSION به صرفه جویی در چیزهایی مانند
نام کاربر، و یا کاربر اطلاعات ID، و غیره.
و این اطلاعات را در باقی می ماند $ _SESSION تا زمانی که شما جلسه را از بین ببرد
کمی بعد از آن.
>> نوشتن وب سایت های پویا با PHP آنها را می سازد بسیاری بهتر است.
سایت های خود را تبدیل به بسیار پویا، و شما نمی
مجبور به انجام بیش از حد بیش از آنچه در غیر این صورت شما فقط انجام می شود
انجام آن با HTML.
اما نیاز به عمل، بسیاری از عمل.
>> شما می دانید که چگونه به کار با C، و به همین ترتیب پریدن به PHP است روی حیله و تزویر است.
چه شاید کمی کمی پیچیده است کار
با این ایده جدید GET و POST، و شاید اختلاط HTML خود را و خود را پی اچ پی
با یکدیگر.
اما همچنین آگاه باشید که اینترنت می شود یک مخزن عظیمی از اطلاعات است.
و مستندات PHP در دسترس است در بسیاری از نقاط، اما شاید بسیاری از
canonically در php.net.
و شما می توانید وجود دارد پیدا کنید، تعداد زیادی از توابع مختلف،
و موارد استفاده، و نمونه بر نمونه، پس از نمونه های.
که در آن اگر شما می خواهید را امتحان کنید و شکل چگونه برای انجام کاری، شانس هستند،
کسی احتمالا آن را قبل از شما انجام می شود.
و شما می توانید آنها را به عنوان استفاده الهام بخش برای پیاده سازی هر
آن است که شما در حال تلاش برای پیاده سازی بیش از حد.
>> من داگ لوید هستم.
این CS50 است.