ڈوگ لایڈ: میں تو ہمارے پی ایچ پی کی نحو پر ویڈیو، ہم کس طرح پی ایچ پی کے بارے میں ایک بہت بات کی کمانڈ لائن پر استعمال کیا جا سکتا ایک انداز میں پروگرام کو چلانے کے لئے ہے ہم سی سے کے ساتھ بہت واقف ہو لیکن میں نے بھی کے طور پر ذکر اس ویڈیو، پی ایچ پی میں ابتدائی طور پر تیار کی گئی تھی ، ویب سائٹس ویب پروگرامنگ پر عملدرآمد. اور اس طرح اس ویڈیو میں ہم ہیں ہم کے بارے میں بات کرنے جا رہا ویب کی ترقی کے تناظر میں پی ایچ پی کا استعمال کرتے ہیں. ہم سے، پہلے ہی، جانتے ہیں ایچ ٹی ایم ایل پر اپنے ویڈیو، ویب سائٹس تعمیر کر رہے ہیں ایچ ٹی ایم ایل ٹیگز کا ایک سیٹ سے باہر کہ semantically بنانا وضاحت ایک ویب کے صفحے کی ساخت. لیکن ویب سائٹس ہیں کہ خالص HTML کے ساتھ بنایا گیا ایک بہت سے شکار، بہت سنگین حد. اور اس کی حد کی وضاحت کرنے، مندرجہ ذیل پر غور کریں. تو اب میں ایک ویب کے صفحے تعمیر کرنا چاہتے ہیں کہ، جب بھی صارف کے دوروں یہ، یہ میرے موجودہ دیتا کیمبرج، میساچوسٹس میں وقت.، تازہ ترین منٹ اس کی نمائش. اب میں اس حق کو کر رہا تھا تو، کچھ اس طرح کا کہنا ہے کہ ہو سکتا ہے. میں ہے تاکہ Cambridge-- میں موجودہ وقت HTML ٹیگ سر ٹیگ، عنوان ٹیگز، جسم موجودہ tags-- کیمبرج میں وقت، 14:08 ہے فوجی وقت باہر پرنٹ. کیا اب یہ 2:09 PM، 14:09 ہے تو کیا ہوتا ہے؟ اب تک، ایچ ٹی ایم ایل کے ساتھ، میں نے میں جاؤ اور 14:09 کرنے کے لئے اسے تبدیل کرنے کے. اور پھر ایک منٹ بعد، میں اسے دوبارہ تبدیل کرنا ہوگا. اور پھر ایک منٹ بعد، میں اسے دوبارہ تبدیل کرنا ہوگا. آپ تصور کر سکتے کے طور پر، ہے کبھی شاید سب سے برا کام. آپ کو ایک ویب کے صفحے کے لیے ویب ماسٹر ہیں، اور ہر منٹ، 24 گھنٹے ایک دن، آپ کی طرف سے موجودہ وقت اپ ڈیٹ کرنے کی ضرورت ہے دستی time.html کھولنے اور تبدیل صرف کوڈ کا ٹکڑا ہے کہ کا کہنا ہے کہ گھنٹے اور منٹ میں موجودہ وقت. یہ ایک بہت شاید نہیں ہے اپنے وسائل کا بہتر استعمال، انسانی اور کمپیوٹیشنل دونوں. تمام HTML ہیں کہ ویب سائٹس مکمل طور پر جامد ہیں. آپ کو اپ ڈیٹ کر سکتے ہیں صرف ایک ہی طریقہ مواد، ہم نے ابھی دیکھا ہے کے طور پر، دستی طور پر ان کے ذریعہ کھولنے کے لئے ہے فائلوں، ان میں ترمیم، اور ان کو بچانے. اور پھر جب صارف صفحے کو تازہ کرتا، یا پہلے صفحے کا دورہ وقت، وہ تازہ ترین مواد مل جائے گا. لیکن ہم نے صرف اس وجہ سے دستی طور پر ترمیم. ہمیں وہاں میں کچھ پی ایچ پی اختلاط کرنے کے لئے شروع کرتے ہیں تو، اپنے کوڈ کو بہت زیادہ لچک دار ہو سکتا ہے. اور ہم نے اپنے صفحات کے لئے ایک طریقہ ہے کر سکتے ہیں متحرک ہونا، یا خود کو اپ ڈیٹ کرنے کے لئے، ہمارے غریب کی ضرورت کے بغیر گزشتہ مثال میں ویب ماسٹر چیزوں کو اپ ڈیٹ دستی ہونا. انہوں نے خود کار طریقے سے کر سکتے ہیں. ہم نے مداخلت کرنے کی ضرورت نہیں. ہم نے کچھ نیند حاصل کر سکتے ہیں. جو شاید ایک اچھی بات ہے اگر آپ کو ویب پروگرامنگ کے ایک بہت کچھ کر رہے ہیں. CS50 IDE میں، ہم سے چلائے ایک ویب سرور اپاچی بلایا. یہ ایک بہت عام طور پر استعمال کیا جاتا ہے اوپن سورس ویب سرور نظام. یہ نظام ہے صلاحیت کی تشریح تو مفید ہو جا رہا ہے جو پی ایچ پی، آپ کو کسی بھی پی ایچ پی کی پروگرامنگ کرنا چاہتے ہیں. اور CS50 IDE میں، ہم نے ایک کمانڈ ہے ایسا کرنے کے لئے یہ بہت آسان بنانے کے لئے، شروع apache50. اور پھر اس سلیش راستہ، سلیش، کرنے کے لئے سلیش دیر، اس کا صرف ایک بہت عام طریقہ ہے آپ یہاں وضاحت کیا اشارہ کسی خاص کے لئے ایک راستہ ہے ڈائریکٹری ہے کہ آپ کو جڑ بننا چاہتا ہوں سائٹ، یا جڑ صفحے، فولڈر یا جو آپ کے ویب سرور سے فائلوں کی جانچ پڑتال اور خدمت کرنے کے لئے شروع ہو جائے گا ان کی درخواست ہے جو گاہکوں کے لئے ان کو. تو صرف، CS50 IDE سے زیادہ پاپ دو یہ کیسے کام کرتا، واقعی ایک فوری، آپ کو دکھائے. تو یہاں CS50 IDE میں، میں نے ایک میں ہوں ہفتہ صفر نو نامی ڈائریکٹری. میں نے two-- میں ہے صرف ایک LS کمانڈ پھانسی مندرجہ بالا میں ہے کہ آپ کو ظاہر کرنے کے لئے یہاں میں دو ڈائریکٹریز، پی ایچ پی، میں استعمال کیا جاتا ہے کہ فائلوں کی ایک سیٹ ہے جس میں پی ایچ پی کی نحو ویڈیو، اور پھر پی ایچ پی کی ویب، فائلوں کی ایک سیٹ ہے جس میں ہے کہ میں اس ویڈیو میں استعمال کرنا چاہتے ہیں. اور میں شروع کرنا چاہوں گا ایک ویب سرور مثال کے طور پر پی ایچ پی کی ویب فولڈر کے مندرجات سے فائلوں کی خدمت کی جا رہی ہے کے طور پر. تو میں نے کیا کرنے جا رہا ہوں؟ میں apache50 جگہ ٹائپ کرنے جا رہا ، شروع جگہ پی ایچ پی، ڈیش ویب. اس ڈائریکٹری کا راستہ ہے میں فی الحال ہوں جہاں سے. پھر میں درج کریں مارا. یہ ایک کیا جا رہا ہے یہاں چیزیں تھوڑا سا. اور پھر یہ، کا کہنا ہے کہ جا رہا ہے اپاچی کامیابی کے ساتھ شروع. آپ کی ویب سائٹ کی لمبائی تو اب دستیاب ہے اور تو ویب سائٹ کے لئے یو آر ایل ہے. تو میں نے کیا کرنے جا رہا ہوں؟ میں نے جلدی سے اس کی کاپی کرنے کے لئے جا رہا ہوں. اور میں کھولنے کے لئے جا رہا ہوں اور میں تھوڑا سا باہر زوم کریں گے یہاں میں کھولنے کے لئے جا رہا ہوں کروم میں ایک نیا ٹیب. اور میں اس یو آر ایل کا دورہ کرنے جا رہا ہوں. میں درج کریں مارا جا رہا ہوں. لوڈ کرنے کے لئے جا رہا ہے. اور میں پھر سے باہر زوم کریں گے. اور ہم یہاں ہے دیکھ سکتے ہیں اپنے پی ایچ پی ویب ڈائریکٹری کے مواد. تو اب بنیادی طور پر کیا ہو رہا ہے یہاں CS50 IDE میری مثال ہے، پر ان فائلوں کو اپ کی خدمت ہے ان کی درخواست ہے جو کسی کے. اور کے دوران اس ویڈیو، ہم الگ الگ ہوں ان میں سے ایک گروپ پر ایک نظر ڈالیں تناظر میں مختلف فائلوں. آپ اپاچی کہ ٹیسٹ کرنے کے لئے سرور کام کر رہا ہے، عام طور پر جو جا رہا ہے CS50 IDE میں کیس ہونے کے لئے، لیکن آپ کو زیادہ عام طور پر ایسا کرتے ہیں تو، اور آپ کو آپ کی اپنی ویب کی تعمیر شروع سرورز، ایک بہت ہے ینالاگ کے عام قسم، عام طور پر ہے کہ "ہیلو دنیا" پی ایچ پی کی ویب کی ترقی کے لئے استعمال کیا. ایک فائل ہے کے لئے ہے جو صرف اس کوڈ کے پر مشتمل پی ایچ پی کی معلومات کے ساتھ قائم ایک پی ایچ پی کی تحدید، قوسین، نیم وقفہ کے درمیان میں. جو بنیادی طور پر ایک خاص ہے آپ کو بتاتا ہے کہ پی ایچ پی کی تقریب پی ایچ پی کی کیا ورژن آپ چلا رہے ہیں. تو CS50 IDE میں، میں نے دستیاب ہے کہ فائل صرف اس طرح نظر آئے گا جو تم ظاہر کرنے. تو میں نے اپنے انڈیکس میں دیکھ رہا ہوں اپنے پی ایچ پی مثال سے. میری اپاچی چل رہا ہے مثال کے طور پر پی ایچ پی کی ویب کے مواد. اور میں نے ایک فائل یہاں info.php بلایا ہے. میں اس پر کلک کریں، باہر زوم کرنے کے لئے جا رہا ہوں. یہ آپ جا رہے ہیں کیا ہے بہت زیادہ، کو دیکھنے کے لئے. یہ صرف یہ ہے کہ مجھ سے کہہ رہا ہے میرے اپاچی سرور کام کر رہا ہے. اور یہ بظاہر، ہے پی ایچ پی کے ورژن میں چل رہا ہے کر رہا ہوں کہ. یہ کرنے کے لئے میری مطابق ہے "ہیلو دنیا." تو میں نے چیزوں آپریشنل ہیں جانتے ہیں. تو ہم کو جانا اچھا ہو. ہم یہاں سے کارروائی کر سکتے ہیں. تو کہ نظرثانی دو وقت مثال کے طور پر ہم تھے ہمارے غریب ویب ماسٹر کے ساتھ کے بارے میں بات جو مسلسل صفحہ کو اپ ڈیٹ کرنے کے لئے تھا. یہ کس طرح کے لئے ایک طے ہو سکتا ہے میں چیزوں کو نافذ کرے گی تو ویب ماسٹر نہیں کیا تھا کہ وقت کو اپ ڈیٹ رکھنے کے لئے ہے. یہ کرے گا صرف اس قسم کے خود کار طریقے سے ہو. نیچے، ایچ ٹی ایم ایل، یہ ہے ایک رعایت کے ساتھ، خوبصورت اسی طرح. لیکن یہاں میں سب سے اوپر کچھ پی ایچ پی مل گیا ہے. میں، بظاہر، اس کا مطالبہ کیا ہے تقریب date_default_timezone_set. اور ہم کے بارے میں بات نہیں کرتے CS50 میں ان افعال، پی ایچ پی کی شاید ہے کیونکہ ہزاروں کی دسیوں. یہ ایک کا تھوڑا سا ہو سکتا ہے مبالغہ، لیکن یہ نہیں ہو سکتا ہے. اس میں تعمیر کے افعال میں سے ایک بہت ہے. اور اس طرح یہ ایک تقریب بظاہر ہے امریکہ / مشرقی کے طور پر میری ٹائم زون کا تعین کرتا ہے، جس میں ہوں اس وقت زون ہے فی الحال اس ویڈیو بنانے میں. پھر میں نے ایک کال تقریب کی تاریخ، بلایا. اور، بظاہر، میں ذخیرہ کرنے رہا ہوں اس کہا جاتا ہے کچھ، وقت کی. تو کیا یہاں کیا ہو رہا ہے؟ ویسے، بنیادی طور پر کیا ہے ہے ہو، مجھے ایک فون کر رہا ہوں جا رہا ہے کہ کچھ سرور پر وقت وقت ہے مجھے بتاو. اور میں ایک کی شکل میں تبدیل کر رہا ہوں گھنٹے کی، منٹ، سیکنڈ. اور اس کی وجہ اس کے دارالحکومت ایچ یہ ہے ، مجھے 12 سے 24 گھنٹے کا وقت نہ دینے جا رہا ہے چھوٹے H ہو جائے گا جس گھنٹے کے وقت،. اور میں صرف اس ذخیرہ کرنے رہا ہوں نامی ایک متغیر، وقت میں. تاکہ پی ایچ پی کی دوسری لائن وہاں، تقریب کے لیے اذان، تاریخ، صرف ہو رہی ہے ہے جس میں کچھ سٹرنگ، مجھے تاریخ دینے کے لئے جا، اور وقت، اور دیگر معلومات کا ایک گروپ. اور وہاں پہلی دلیل، ان کہ، صرف اہم حصہ نکالنے ہے میں نے اس مثال کے طور پر کے بارے میں پرواہ ہے کہ، جس گھنٹے، منٹ، اور دوسرے نمبر پر ہے. تو ہے کہ کیا ہو رہا ہے کہ تمام ہے. تو میں محفوظ ایک متغیر $ وقت میں اس. اور پھر نیچے سے اوپر وہاں بہت نیچے، میں کے لئے اس آشلپی ہے موجودہ وقت باہر پرنٹ. تو میں صرف پرنٹ کرنے کے لئے جا رہا ہوں موجودہ وقت ہے باہر کیا. تو میں اس پر ایک نظر ڈالیں CS50 IDE اور اب ہم ہیں کہ کس طرح دیکھنے کہ ویب ماسٹر مصیبت کی ایک بہت کو بچانے کے. ٹھیک ہے، تو یہاں میں پھر سے ہوں واپس روٹ ڈائریکٹری میں میرے اپاچی مثال کے طور پر. اور میں یہاں ایک فائل کہا جاتا time.php ہے. میں صرف اس پر کلک کرنے کے لئے جا رہا ہوں. اور میں کیونکہ، تک سکرال کریں گے ہم بہت دور میں یکبر رہے. موجودہ وقت 14:20:34 ہے. تو میں نے، اس گھنٹے کر رہا ہوں منٹ اور سیکنڈ. اور میں ریفریش کر سکتے ہیں صفحہ اور نئے وقت ملتا ہے. --41. میں صفحہ کی تازہ کاری کرنے کے لئے جا رہا ہوں اور نئے وقت، 44، 46، 47 حاصل. لہذا، میں نے صاف صاف نہیں ہوں کچھ خود کو تبدیل کرنے. میں یہاں صفحہ کی تازہ کاری کر رہا ہوں. تو میں نے اس میں ترمیم واپس نہیں ہو سکتا. اور میں تم سے وعدہ کرتی، مجھے نہیں پتہ کوئی امتوں ہے جو فائل میں ترمیم کر رہے ہیں طرف میری طرف سے. میں صرف، کہ پی ایچ پی کی تقریب کا استعمال کرتے ہوئے کر رہا ہوں وقت، میرے لئے وقت پیدا کرنے کے لئے خود کار طریقے سے. میں سو رہا ہوں یہاں تک کہ اگر، تو اور میرے ویب سرور چل رہا ہے، صفحہ اب بھی ہے کہ دورہ کرنے والے صارف بالکل موجودہ وقت حاصل کرنے کے لئے جا. تاکہ بہت اچھا ہے. میں اپنی ویب سائٹ سے زیادہ متحرک کر دیا ہے بہت زیادہ نہیں پی ایچ پی کوڈ کے ساتھ. یہ کوڈ کا صرف دو لائنیں تھا اور پھر ایک پرنٹ بیان کا ایک تھوڑا سا. اور پہلے ہی میں ایک ہے زیادہ متحرک ویب سائٹ کہ سب سے پہلے مثال کے طور پر کے مقابلے میں ہم نے دیکھا ویڈیو کے آغاز میں. لہذا، پی ایچ پی کی نحو پر ویڈیو سے یاد ایچ پی کی ترجمان چلتا ہے جب کہ ہمارے پروگرام، یہ سب کچھ نظر انداز کہ، پی ایچ پی کی delimiters کے اندر نہیں ہے اسے باہر توکنا. مثال کے طور پر میں، کس چیز اسے باہر توکنا کیا گیا تھا کہ ایچ ٹی ایم ایل تھا. اور اس میں اب کر سکتے ہیں کا مطلب ہے کہ ایک دوسرے کے ساتھ ایچ ٹی ایم ایل اور پی ایچ پی intersperse. مترجم صرف کریں گے کیونکہ HTML اور یہ لفظی پیداوار کو نظر انداز. جس کا حق، اچھا ہے؟ ، شاید کیونکہ دن کے آخر میں، میں اپنی ویب سائٹ کے لئے چاہوں گا ایچ ٹی ایم ایل کی تعمیر کیا. کسی بھی ویب براؤزر کی تشریح کر سکتے ہیں تاکہ یہ، یا صفحے پر ایچ ٹی ایم ایل کو سمجھنے اور کچھ کے طور پر رینڈر کہ ہم اصل میں انسانوں کے طور پر سمجھ سکتے ہیں. اور میں صرف پی ایچ پی کا استعمال کر سکتے ہیں اپنی ویب سائٹ کے حصوں کے لئے مجھے ضرورت ہوتی ہے، تحرک کی ضرورت مسلسل اپ ڈیٹ ہے کہ چیزوں کو حاصل کرنے کے لئے. جامد معلومات ایک ہی رہ سکتا. ٹھیک ہے، تو ٹھیک ہے. لیکن میں نے ایسا کیوں کریں گے؟ کیوں میں ایچ ٹی ایم ایل اور پی ایچ پی ملا کرے گا؟ کیونکہ میں صرف پرنٹ کر سکتے ہیں تمام ایچ ٹی ایم ایل، پی ایچ پی کی پرنٹ تقریب کا استعمال کرتے ہوئے. میں ایسا کیوں نہیں کر رہا ہوں؟ ایک سیکنڈ کے لئے اس کے بارے میں سوچو. کیوں، میں صرف میں out-- پرنٹ کر سکتے ہیں جب صرف کا کہنا ہے کہ پی ایچ پی کی لائنز کر سکتے ہیں، پرنٹ HTML ٹیگ، پرنٹ سر. میں ایسا کیوں نہیں کر رہا ہوں؟ کیوں میں نے پی ایچ پی اور ایچ ٹی ایم ایل اختلاط ہوں؟ ویسے، آپ کو لگتا ہے ایک سیکنڈ کے لئے اس کے بارے میں. پی ایچ پی، مترجم ہے یہ دیکھتا ہے کی تشریح. اور تو اس لئے جا رہا ہے کوڈ کی ایک لائن پر عمل کرنے کی. ایچ ٹی ایم ایل باہر پرنٹ. کھلی سر ٹیگ باہر پرنٹ. اوپن ٹائٹل ٹیگ باہر پرنٹ. یہ کرنے کے لئے حاصل کرنے کے لئے جا رہا ہے پھانسی اور تشریح راستے سے ہر ایک قدم ہے. صرف دو کیوں نہیں مترجم صرف ٹیکہ یہ سمجھ نہیں ہے چیزیں اور یہ خود بخود ہے؟ یہ میرے وقت کی ایک بہت کو بچانے کے لئے جا رہا ہے دوسرے کے ساتھ اپنے HTML اور اپنے پی ایچ پی اختلاط. ہم ایسا نہیں کرتے اور یہی وجہ ہے اتنا ہے کہ صرف کھلے پی ایچ پی کی تحدید ہے اور پھر صرف پورے باہر پرنٹ پی ایچ پی کی ایک وشال کے طور پر ہمارے صفحے کے مواد تو دالہ، پرنٹ کرنے کے لئے کال، اور بند کریں پی ایچ پی کی تحدید اور ہم کیا کر رہے ہیں. ہم ایک دوسرے کے ساتھ ان کو ملا یہی وجہ ہے کہ. اب تک، ہم نے بہت زیادہ نہیں دیکھا ہے جنرل پی ایچ پی کی نحو کی طرف سے ایک فرق. یہ خوبصورت براہ راست رہا ہے. ہم نے پہلے ہی دیکھا ہے سوالیہ نشان، برابر. ہم نئے تقریب کالز کی ایک جوڑے کو دیکھا لیکن واقعی کچھ بھی نہیں پسند پر جا. شاید چیزوں بنا دو تھوڑا fancier. کیا ہم معلومات منتقل کرنا چاہتے ہیں تو مختلف پی ایچ پی فائلوں کے درمیان، تاکہ شاید صارف کر سکتے ہیں مجھ سے معلومات جمع. اور پھر میں نے کچھ کر سکتا ہے یہ کسی دوسرے صفحے پر کے ساتھ. تو پی ایچ پی کے لئے حمایت حاصل ہے کچھ سپر عالمی بلایا بہت خوفناک لگتا ہے متغیر،. انہوں نے سچ میں صرف ہیں وشال ساہچری arrays کہ اس کے نفاذ میں مدد پاسنگ کی فعالیت پی ایچ پی کی فائلوں کے درمیان معلومات ہے کہ ہماری ویب سرور پر موجود ہیں. ان سپر کے پہلے globals کے $ _GET کہا جاتا ہے. اور یہ شاید ہے سمجھنے کے لئے آسان. کیا $ _GET ساتھ کیا ہوتا ہے؟ ویسے، بنیادی طور پر، صارف اضافی معلومات ٹائپ کرنے جا رہا ہمارے یو آر ایل کے آخر میں. اور وہ جو کچھ بھی ٹائپ کریں، سنبھالنے یہ ایک خاص انداز میں فارمیٹ کیا ہے صرف ہے جس میں، ایک سوال تار بلایا کلیدی قدر جوڑوں کی ایک سیٹ سے الگ ampersands کے کی طرف سے. ان کلیدی قدر جوڑوں ہو جائے گا ایک $ _GET ساہچری سرنی میں ذخیرہ. اور ہمارے ویڈیو سے پی ایچ پی کی نحو، ہم جانتے ہیں کس طرح کے ساتھ کام کرنے کے لئے پہلے سے ساہچری arrays. تو یہاں کی ایک مثال ہے شاید میں ہوں جہاں کچھ پی ایچ پی، کلیدی قدر جوڑوں کے تمام نکالنے یو آر ایل میں فراہم یوزر کہ. تو میں نے اپنے پی ایچ پی اوپن تحدید ہے. میں نے ایک جعلی foreach لوپ ہے. میں نے سپر بھر iterating رہا ہوں عالمی صف $ _GET کہا. اور میں رجوع کرنے کے قابل بننا چاہتا ہوں کلید اور قیمت دونوں کے لئے. اور میں صرف ان چھپائی رہا ہوں باہر، پر ہر ایک بظاہر یہاں اپنا پیراگراف ٹیگ. میں کچھ HTML باہر چھپائی رہا ہوں اور اقدار interpolating اس بیان میں اہم اور قدر کی. تو کس طرح اس پر ایک نظر ڈالیں اصل میں ہمارے IDE پر کام کریں گے. اور شاید اس میں مدد ملے گی تھوڑا سا وضاحت حاصل کرنے کے لئے اصل میں کر رہی ہے. تو میں یہاں واپس اپنی ویب جڑ میں ہوں. اور میں میں زوم کریں گے تھوڑا سا آپ کو ظاہر کرنے کے لئے میں نامی ایک فائل، get1.php ہے. تو get1.php پر کلک کریں. اور میں کسی بھی مواد کو دیکھ کر نہیں کر رہا ہوں. یہ ٹھیک ہے، عجیب ہے؟ ویسے، واقعی نہیں اصل. میں فراہم نہیں کیا کیونکہ یو آر ایل میں کچھ. میں get1.php کے لئے جا رہا، لیکن میں ہوں کوئی کلیدی قدر جوڑوں فراہم نہیں کیا میرے سوال سٹرنگ کے حصے کے طور پر. تو ایک سوال کے جملے شامل ہیں اور اس فائل کیا کر سکتے ہیں دیکھیں. ایک سوال سٹرنگ شروع کرنے کے لئے صرف سوالیہ نشان ٹائپ. تو شاید میں نام = ڈوگ اور سال = 2015 کہیں گے. اور پھر میں درج کریں مارا جائے گا. اب کیا ہو رہا ہے محسوس. میں get1.php میں اب بھی ہوں. لیکن اب میں فراہم کی ہے کلیدی قدر جوڑوں، اور میں ہوں اپنے طور پر انہیں باہر پرنٹنگ paragraph-- نام، Doug-- سال، 2015. یہ بالکل کوڈ ہم صرف ایک لمحے پہلے سلائڈ پر دیکھا. اور میں نے شاید ایک کو شامل کرنا چاہتے ہیں تو کلیدی قدر جوڑی، اور کلاس = CS50. اب میں ایک اہم قدر ہے باہر پرنٹ ہے کہ جوڑی جب میں نے ایک بار پھر یو آر ایل پر نظرثانی. اب شاید یہ نہیں ہے بہت اچھی طرح سے فارمیٹ. تو میں لئے get.php کے ایک ورژن ہے. یہ get2.php ہے. اس میں فرق ایک میں سی ایس ایس فائل میں ہے، اور یہ چیزیں فارمیٹس زیادہ اچھی طرح سے میرے لئے تھوڑا سا. یہ شاید سب سے زیادہ نہیں ہے دنیا میں خوبصورت سی ایس ایس. لیکن یہ کرنے کے صرف ایک طریقہ ہے. تو میں اب بھی تک رسائی حاصل کر سکتے ہیں $ _GET استعمال کرتے ہوئے اپنے متغیر. اور اس معاملے میں، میں صرف قسم ہوں سی ایس ایس ایک چھوٹا سا زیادہ پسند بنانے. اور ہم سے زیادہ پاپ تو ایک سیکنڈ کے لئے میری IDE، میں نے اپنے پی ایچ پی کی ویب میں تمہیں دکھاتا ہوں یہاں ڈائریکٹری، get2.php. ہم یہاں، کچھ HTML اسے کھولو گے. بظاہر میں اس میں سے منسلک ہوں کے بارے میں بات کر رہا تھا سی ایس ایس فائل. میں ایک میز ٹیگ کے کھولنے. اور پھر یہاں میری جعلی foreach لوپ ہے. یہ ہے کہ، جو میں نے پہلے سلائڈ پر دکھایا. فرق صرف اتنا میں ہے اس چابی اور قیمت کی سی ایس ایس میں نے اس کے لئے درخواست دے رہا ہوں کہ اسٹائل. لیکن اس، میں کر رہا ہوں تمام ہوں ہے $ _GET بھر iterating کر حاصل کرنے کے لئے کلیدی قدر جوڑوں کا. اور میں میز کے طور پر ان کے باہر چھپائی رہا ہوں. اور، بظاہر، میں چابیاں فارمیٹنگ ہوں ایک ہی راستہ میں <ٹیڈی کلاس = "کلید" کے ساتھ. تو بظاہر کہ کچھ پر لاگو ہوتا ہے میری سی ایس ایس فائل GET.CSS میں کلاس سلیکٹر. اور، بظاہر، میں باہر چھپائی رہا ہوں اپنی اقدار ایک مکمل طور پر مختلف طریقے. جس میں خوبصورت زیادہ ہے ہم یہاں، جہاں دیکھا ہماری اقدار پرنٹ کیا گیا ایک نیلے رنگ کے پس منظر کے ساتھ، اور ہمارے چابیاں طباعت کر رہے تھے ایک پیلے رنگ کا پس منظر کے ساتھ. میں ہو رہی ہے ایسا کیسے ہے ان مختلف شیلیوں. میں مختلف سی ایس ایس کلاس استعمال کر رہا ہوں کیونکہ. لیکن اس خوبصورت زیادہ سے زیادہ حاصل کرنے کے لئے ہے. جیسے میں صرف معلومات نکالنے ہوں. اور اس معاملے میں، میں صرف ہوں پردے پر پرنٹ. میں، یو آر ایل سے باہر ہو رہی ہے اور یہ کہ ہمارے لئے حاصل کرتا ہے. آپ کو ایک ممکنہ دیکھتے ہیں مسئلہ یہاں اگرچہ؟ شاید یہی وجہ ہے ہم کریں گے $ _GET استعمال کرنا چاہتے ہیں نہیں؟ کیا ہوگا اگر، ہو سکتا ہے، میں اس سوال کر رہا تھا؟ --to get3.php، جس میں میرے IDE پر نہیں ہے. یہ صرف ایک فرضی فائل ہے. لیکن اس بظاہر یہاں محسوس میں میرا پاس ورڈ گزر. اور شاید میرے پاس ورڈ شرمناک ہے. یا شاید میں نے لوگوں کو نہیں کرنا چاہتا اپنا پاس ورڈ صحیح، کیا ہے پتہ. میں استعمال کر رہا ہوں تو میں اسے اگرچہ گزر رہا ہوں تو $ _GET طریقہ، کیا ہوتا ہے، اس یو آر ایل میں ہونے جا رہا ہے. تو کچھ بدنیتی پر مبنی صارف طاقت میں کیا کر رہا ہوں دیکھ سکیں. میں نے ان سے گزر جا سکتا ہے حساس معلومات. یا شاید یہ بھی ایک درنساوناپورن صارف نہیں ہے. شاید یہ صرف آپ کے دوست کون ہے آپ کے کندھے پر کھڑا ہے. اور اب وہ پاس ورڈ معلوم اپنے فیس بک کے اکاؤنٹ میں. اور شاید وہ نہیں کریں گے اس کے ساتھ کچھ. لیکن آپ کے پاس ورڈ تھے تو فیس بک پر $ _GET ذریعے پیش، اب وہ اپنے فیس بک پاس ورڈ معلوم. یہ یو آر ایل میں وہیں ہے کیونکہ آپ کی معلومات کو جمع کرنے سے کیا ہے جب. اور اس طرح شاید کہ سب سے بہتر نہیں ہے راستہ حساس معلومات منتقل کرنے کی. یہ معلومات منتقل کرنے کا ایک اچھا طریقہ ہے ہم خاص طور پر نہیں ہے کہ بہت حساس ہونے کے طور پر کے بارے میں پرواہ. ملتا ہے کافی تیزی سے ہے، دیگر سپر globals کے رشتہ دار ہم کے بارے میں بات کرنے کے لئے جا رہے ہیں. لیکن شاید نہیں سب سے بہترین آلے حساس معلومات کے لئے. اس کے لئے ہمیں کرنا چاہتے ہو سکتا ، $ _POST کہا جاتا ہے کچھ استعمال جس میں ایک سپر عالمی متغیر ہے. یہ ایک ساہچری سرنی ہے. تو یہ بہت زیادہ کام کرتا ہے کے طور پر بالکل وہی. سوائے، بجائے نکالنے کا یو آر ایل کی طرف سے معلومات، اس HTTP ہیڈر کے ذریعے کچھ کرتا ہے. تو سے یاد ہماری HTTP پر ویڈیو، ہم بات کس طرح براؤزر، سرورز کے بارے میں، اور گاہکوں چیت. اور معلومات واپس منظور کیا جاتا ہے آگے HTTP ہیڈر میں. $ _POST ساتھ، عام طور پر کے بارے میں معلومات ان HTTP ہیڈر کے ذریعے بھیجا. اور ہم سب سے زیادہ عام میں $ _POST دیکھیں گے ایچ ٹی ایم ایل فارم جمع کرانے کے تناظر. اگر آپ اب بھی HTML فارم استعمال کر سکتے ہیں حاصل کرنے کے لئے چیزوں کو جمع کرنے کے لئے. لیکن وہ عام طور پر استعمال کر رہے ہیں پوسٹ کے تناظر میں. تو یہاں ایک HTML فارم کی ایک مثال ہے. اب ہم پہلے ان کو دیکھا ہے، لیکن ہم اس حصے، کارروائی = "post.php کے" نہیں دیکھا. تو ہم میں فارم کے بارے میں بات کی تھی جب ایچ ٹی ایم ایل کے تناظر میں ایک جمع کرائیں بٹن تھا. اور آپ کو یاد تو میں جمع کرائیں پر کلک گا اور اس کے بعد صفحے کو صرف، تازہ کچھ نہیں کیا. اس صورت میں، میں نے جمع کرانے رہا ہوں میں نے اس فارم میں ٹائپ جو کچھ بھی، post.php کے نامی ایک پی ایچ پی کی فائل میں. اور، بظاہر، راستے میں اس کر رہا ہوں اس فارم میں پوسٹ کے طریقہ کار استعمال کر رہا ہے. معلومات کے تو ہر ٹکڑا میں نے اس فارم میں ٹائپ ہے کہ پیش کیا جائے گا HTTP ہیڈر کے ذریعے. یہ، post.php کے میں قابل رسائی ہو جائے گا کہ میری فارم کی کارروائی ہے کیونکہ. یہ قابل رسائی ہو جائے گا $ _POST پر جا کر. اور بظاہر، راستے میں کر سکتے ہیں ہر فرد عنصر پر حاصل کہ ساہچری سرنی کے ساتھ اس وصف کے ساتھ ہے، ہمارے ان پٹ کے ٹیگز کے نام وصف. تو بظاہر میں مربع $ _POST کہہ سکتے ہیں بریکٹ جو صارف کو حاصل کرنے کے لئے نام سب سے پہلے میدان میں ٹائپ. اور $ _POST پاس ورڈ، کے PW بجائے، صارف ٹائپ جو کچھ بھی میں حاصل کرنے دوسرے میدان میں. تو میں ایک نظر ڈالیں CS50 IDE میں اس سے زیادہ. تو ہم یہاں ہیں، اور میں کروں گا ایک سیکنڈ کے لئے میں زوم. اور ہم post.html نامی ایک فائل ہے. میں post.html پر کلک کریں. میں نے یہاں بہت سب سے اوپر ایک بہت سادہ ویب فارم. یہ ہم نے ابھی دیکھا شکل ہے ایک دوسرے پہلے سلائڈ پر. میں، ڈوگ ٹائپ کر سکتے ہیں، اور میں کر سکتے ہیں اپنا پاس ورڈ، جس میں ہم تمام قسم کے معلوم squadgoals ہے. اور میں جمع کرائیں مارا جائے گا. اور بظاہر، کہ post.php کے لئے پیش. اور میں بظاہر اس چھپائی رہا ہوں. لہذا میں نے تمام سیکورٹی سے چھٹکارا حاصل کر رہا ہوں پوسٹ صرف باہر پرنٹ کی طرف سے مجھے دیتا ہے صارف کا نام اور پاس ورڈ. صارف کا نام ڈوگ ہے. صارف کے پاس ورڈ squadgoals ہے. میں کس طرح ایسا کیوں کیا؟ ویسے، IDE سے زیادہ پاپ ایک بار پھر ایک دوسرے کے لئے. ہم لینے کو نیچے سکرال گا تھا جس post.php پر ایک نظر، میں نے استعمال کیا ہے کہ کارروائی یہاں پیش کرنے کے لئے. یہ میرا ایچ ٹی ایم ایل فارم کی کارروائی تھی. اور یہ کہ میں کیا کر رہا ہوں سب. صارف کا نام ہے، اور میں چھپائی رہا ہوں $ _POST "نام" کے مندرجات سے باہر. اور پھر صارف کے پاس ورڈ $ _POST "پاس ورڈ" ہے. تو میں نے اس کے بارے میں معلومات دی گئی HTML فارم جمع کرانے کی طرف. اور اب $ _POST استعمال کرتے ہوئے اسے نکال سکتے ہیں میں منتقل کرنے کے لئے استعمال کا طریقہ ہے کیونکہ اس فارم کے ساتھ ڈیٹا پوسٹ کے طریقہ کار تھا. اب یہ شاید نہیں ہے میں جا رہا ہوں تاکہ great-- ایک سیکنڈ کے لئے واپس جانے کے لئے ہماری سیٹ یہاں سے میں ہوں تو یہ شاید اتنا اچھا نہیں ہے پوسٹ ساتھ معلومات جمع کرنے، جو بظاہر زیادہ محفوظ ہے. شاید یہ بہت اچھا نہیں ہے میں نے تو یہ ہے کہ ایسا کر رہا ہوں تو صارف کے پاس ورڈ باہر پرنٹ. یہ زیادہ محفوظ ہونا چاہیے. ٹھیک ہے، لیکن یہ مکمل طور پر محفوظ نہیں ہے. اور اس طرح یہ تھوڑا سا میں میں چاہتا ہوں یہاں ٹکڑا کچھ کرنے کے لئے آپ کی توجہ اپنی طرف متوجہ کرنے ڈیٹا سیکورٹی خدشات، صرف کچھ آپ ہیں کے طور پر کے بارے میں سوچنا کام کر رہے ہیں یا انٹرنیٹ استعمال کر رہے ہیں. اس پر غور کرنے کے لئے صرف کچھ ہے. مجھے معلومات ہے کہ آپ کو بتایا HTTP ہیڈر کے ذریعے پیش آپ پوسٹ کا طریقہ استعمال کرتے ہیں. جس میں انہوں نے مکمل طور پر محفوظ نہیں کر رہے ہیں کا مطلب ہے. ان سے تلاش کرنے کے لئے مشکل ہو ، کہاں طریقہ استعمال کرتے ہوئے یہ یو آر ایل میں صرف ٹھیک ہے. لیکن یہ تلاش کرنے کے لئے ایک راستہ وہاں اب بھی ہے. اور میں صرف دکھانا چاہتا ہوں آپ کو اس لہذا آپ کو کہ شاید اس کے بارے میں سوچنا شروع آپ کام، یا استعمال کرتے ہوئے کر رہے ہیں کے طور پر ویب سائٹ اور جمع کرانے پاس ورڈ، اور شاید استعمال کر رہے ہیں ایک میں ایک ہی پاس ورڈ مختلف جگہوں میں سے بہت. کہ ہے جانتے ہیں اب بھی اصل میں خوبصورت ہے کوئی کے پاس ورڈ کو تلاش کرنے کے لئے آسان. اور اس طرح یہاں، میں جا رہا ہوں post2.html پر جانے کے لئے. اور post2.html ساتھ فرق اور post2.php خوبصورت ٹھیک ٹھیک ہے. فرق صرف یہ ہے میں باہر پرنٹ نہیں ہے پاس ورڈ میں فارم جمع. تو میں، ڈوگ میں ٹائپ کرنے جا رہا ہوں. اور میں ٹائپ کرنے کے لئے جا رہا ہوں squadgoals، میں، یہاں تک کہ ہم جانتے ہیں کہ اگرچہ اس پاس ورڈ. میں جمع کرانے سے پہلے میں جا رہا ہوں، اگرچہ تشکیل صرف، ڈیولپر کے اوزار کو کھولنے کے لئے یہاں ہونے جا رہا ہے جو تم ظاہر. کروم میں، میں صرف F12 مارا جا رہا ہوں. اور اس کو کھولنے کے لئے جا رہا ہے میری دائیں ہاتھ کی طرف پر ڈیولپر کے اوزار. میں نے ابھی تک فارم جمع نہیں ہے. اب میں اپنے فارم پر جمع کرائیں مارا جا رہا ہوں. اور بظاہر، میں نے ایک پر کال کریں، یا میں نے ایک درخواست کی سمجھ میں آتا ہے جس میں، post2.php کرنے. میں اس پر کلک کرنے کے لئے جا رہا ہوں. پھر یہاں، میں جا رہا ہوں سر پر کلک کریں. چیزیں یہاں پر جا کے ایک بہت ہے. لیکن میں بہت نیچے سکرال نیچے، نوٹس میرے کیلنڈر there-- ایک دوسرے کی حق کے لئے اس کو مسدود کردیا ہے وہاں بہت نیچے کونے میں، ڈوگ، pw-- squadgoals نام بتاو. میں پوسٹ استعمال کر رہا ہوں تو اگرچہ زیادہ محفوظ ہے جس کے طریقہ کار،، صرف، آپ کو ایسا ہے کہ جب سے آگاہ ہونا اگر آپ اب بھی معلومات ترسیل کر رہے ہیں HTTP کے ذریعے. اور یہ اب بھی ہو سکتا ہے ایک مخالف کی طرف سے پایا. یہ ہم جا رہے ہیں صرف کچھ ہے واقعی کے ساتھ نمٹنے کے لئے ہے. ہو سکتا ہے کہ خفیہ کرنے کے لئے کچھ طریقے ہمارا پاس ورڈ ہم ان پر بھیجنے سے پہلے جس میں ایک بہتر ہو گا جو میں یہاں نہیں کر رہا ہوں. لیکن صرف پوسٹ آگاہ رہیں کہ طریقہ بھی حدود ہیں. اسے حاصل کے دوران ایک بہتر میں ہے فوری طور پر ظاہر کیا جا رہا ہے کی شرائط. لیکن یہ ایک مکمل ٹھیک نہیں ہے. تو یہاں کی ایک مثال ہے ہوم ورزش میں ایک فوری آپ کو کچھ حاصل کرنے کے لئے استعمال کر سکتے ہیں پی ایچ پی کے ساتھ کام کرنے کی مشق. ویب صفحات کے مندرجہ ذیل جوڑی بنائیں. سب سے پہلے صرف ایک بہت سادہ ہونا چاہئے ایک میدان کے ساتھ فارم اور ایک جمع کرائیں بٹن. تو بہت اسی طرح کیا ہم صرف post.html کے ساتھ کیا تھا. اور پھر دوسری آپ کو بنانے چاہئے فائل ایک فائل، ایک پی ایچ پی فائل ہے کہ، ہے پوسٹ کے ذریعے، ان پٹ کی توقع ہے، اور کی بنیاد پر صارف، ٹائپ کیا جس آپ کو ایک عددی ہو جائے گا فرض کر سکتے ہیں. آپ کسی بھی ایسا کرنے کی ضرورت نہیں غلطی کی چیکنگ یا جیسے. آپ صارف فرض کر سکتے ہیں ایک عددی قدر ٹائپ کریں گے، یا ایک کی طرف سے تشریح کی طرح کچھ اس فارم میں ایک عددی کے طور پر پی ایچ پی. آپ کو صرف ایک کی تخلیق کرنا چاہتے N پہاڑا ن. صارف 10 پیش تو، ہم چاہتے ہیں 10 10 کی طرف سے ضرب کی میز ہے. صارف کو ایک 12 پیش تو، ہم چاہتے ہیں 12 12 کی طرف سے پہاڑا. آپ دیکھ سکتے ہیں صرف اس لئے کیا ہم یہاں پر ڈرائیونگ کر رہے ہیں ہم پر ایک نظر لے لیں گے میرے IDE میں اس فائل. تو یہاں IDE، میں mult_form.html ہے. میں نے اس پر کلک کریں گے. میں کرنا چاہتا ہوں سب ایک قیمت جمع کرانے ہے. 10 میں ٹائپ کریں، جمع کرائیں مارا. اور بظاہر، mult_table.php، جس ہم، یو آر ایل میں موجود سب سے اوپر دیکھ سکتے ہیں میں نے ایک 10 10 کی طرف سے پیدا کر رہا ہوں پہاڑا. میں 15 میں ٹائپ کریں اور ہٹ تو اب، جمع کرائیں 15 15 کی طرف سے ضرب کی میز ہے. میں، کورس کے، ظاہر کرنے کے لئے نہیں جا رہا ہوں آپ mult_table.php کے مندرجات، کہ مزہ لے جائے گا کیونکہ ہوم ورزش میں اس سے باہر. لیکن یہ کچھ حاصل کرنے کے لئے ایک عظیم طریقہ ہے پی ایچ پی کی loops کے ساتھ کام کر رہے ہیں مشق اور پوسٹ، بہت آسان، امید ہے کہ کشیدگی مفت مثال، صرف مشق کا ایک تھوڑا سا کرنا. اور میں جا ایک چھوٹی سی سی ایس ایس مل گیا ہے یہاں میری انفرادی ٹیبل بنانے کے لئے خلیات صرف ایک قسم سے دور ایک پاپ تھوڑا سا اور ایک چھوٹا سا زیادہ نظر آتے ہیں ایک ضرب ٹیبل کی طرح، مخالفت کے طور پر صرف صرف متن قسم کی وہاں بیٹھے. ہم کے بارے میں بات کریں گے آخری سپر عالمی اس ویڈیو میں کچھ کہا جاتا ہے $ _SESSION. اور ہو سکتا ہے یہ اصل میں ہے کچھ کی بہترین مثال ہم عالمی پر غور کرے گا. یہ ایک صف ہے. یہ ایک ساہچری سرنی ہے. لیکن یہ ہر ذریعے قابل رسائی ہے ہمارے نظام پر موجود ہے کہ پی ایچ پی فائل. ہم پیش کرنے کے لئے نہیں ہے ایک وقت میں معلومات ایک صفحے کی طرح ہمیں اور پوسٹ کے ساتھ کیا. یہ ہمیشہ وہاں ہے. اور اس طرح یہ ایک صفحے کے لیے بہت اچھا ہے آپ مثال کے طور پر، میں لاگ ان کر رہے ہیں جہاں، اور آپ کو آپ کی لاگ ان معلومات چاہتے ہیں صفحہ صفحہ سے برقرار کرنے. اگر آپ نے ابھی ایک سیشن شروع کر سکتے ہیں اور طرح چیزوں کو بچانے کے لئے $ _SESSION استعمال صارف کا نام، یا صارف کے ID معلومات، اور اسی طرح کی. اور یہ کہ معلومات میں رہیں گے $ _SESSION سیشن تباہ تک بعد میں تھوڑا سا. سے متحرک ویب سائٹس لکھنا پی ایچ پی کی ایک بہت بہتر ان کرتا ہے. آپ کی سائٹس بن بہت متحرک، اور تم نہیں جانتے سے بھی زیادہ کیا کرنا ہے آپ دوسری صورت میں صرف کیا ہوتا HTML کے ساتھ یہ کام کر رہے. لیکن یہ مشق کی ضرورت ہوتی، پریکٹس کی ایک بہت. آپ نے پہلے ہی، C کے ساتھ کام کرنے کے لئے کس طرح جانتے ہیں اور تو پی ایچ پی کے لئے کود بھی مشکل نہیں ہے. کیا ہو سکتا ہے کہ ایک چھوٹی سی ہے مشکل سا کام کر رہا ہے حاصل کرنے اور پوسٹ کے اس نئے خیال کے ساتھ، اور شاید آپ ایچ ٹی ایم ایل اور پی ایچ پی اختلاط ایک دوسرے کے ساتھ. بلکہ انٹرنیٹ آگاہ رہیں کہ معلومات کا ایک وسیع ذخیرہ ہے. اور پی ایچ پی کی دستاویزی دستیاب ہے بہت سی جگہوں پر، لیکن شاید سب سے زیادہ canonically php.net میں. اور تم وہاں تلاش کر سکتے ہیں مختلف افعال کے بہت سے، اور مقدمات، اور مثالیں کا استعمال کرتے ہیں مثالیں پر مثالیں، صلی اللہ علیہ وسلم. کہاں آپ کوشش کریں اور اعداد و شمار کے لئے چاہتے ہیں کس طرح کچھ کرنا باہر، مشکلات ہیں، کوئی شاید تم سے پہلے کیا ہے. اور تم ان کا استعمال کر سکتے ہیں پریرتا لاگو کرنے کے لئے جو کچھ بھی یہ آپ بھی لاگو کرنے کے لئے کوشش کر رہے ہیں ہے. میں ڈوگ لایڈ ہوں. یہ CS50 ہے.