ДАГ Lloyd: Так в нашому відео по синтаксису PHP, ми багато говорили про те, як PHP може бути використаний в командному рядку для запуску програм таким чином, щоб ми досить знайомі з С. Але, як Я також згадав в цьому відео, PHP спочатку був розроблений для здійснити веб-програмування, веб-сайти. І так в цьому відео ми поговоримо про те, як ми використовувати PHP в контексті веб-розробки. Ми знаємо, вже з наше відео на HTML, що сайти будуються з набору HTML-теги що семантично визначити структура веб-сторінки. Але сайти, які є побудований з чистого HTML страждають від дуже, дуже серйозне обмеження. І, щоб проілюструвати це обмеження, давайте розглянемо наступне. Так що тепер я хочу, щоб створити веб-сторінку що всякий раз, коли користувач відвідує його, це дає мені струму час в Кембриджі, штат Массачусетс., відображення до останньої хвилини. Якщо я робив це прямо зараз, Я міг би сказати щось на зразок цього. Поточний час в Cambridge-- так що я HTML-теги, теги, назва голова теги, Тіло tags-- струм час в Кембриджі 14:08, друк військову час. Що станеться, якщо він зараз 2:09 вечора, 14:09? Ну так далеко, з HTML, я піти і змінити його на 14:09. А потім через хвилину, Я повинен змінити його знову. А потім через хвилину, Я повинен змінити його знову. І, як ви можете собі уявити, що це ймовірно, найгірша робота будь-коли. Ви веб-майстер для веб-сторінки, і кожну хвилину, 24 години на добу, вам необхідно оновити поточний час вручну відкривати time.html та зміни просто фрагмент коду, щоб сказати поточний час в годинах і хвилинах. Це, ймовірно, не дуже гарне використання наших ресурсів, як людина і обчислювальна. Сайти, які все HTML- повністю статичні. Єдиний спосіб ви можете оновити Зміст, як ми тільки що бачили, це вручну відкрити ті джерело файли, редагувати їх і зберігати їх. А потім, коли користувач оновлює сторінку, або відвідує сторінку в перший Час, вони будуть отримувати останні зміст. Але тільки тому, що ми вручну редагувати його. Якщо ми починаємо змішувати деякі PHP там, наш код може отримати набагато більш гнучким. І ми можемо мати спосіб для наших сторінках бути динамічним, або оновити себе, не вимагаючи наш бідний вебмастер в попередньому прикладі щоб вручну оновити речі. Вони можуть зробити це автоматично. Ми не повинні втручатися. Ми можемо поспати. Що, напевно, добре, якщо Ви робите багато веб-програмування. Таким чином, в CS50 IDE, ми запускаємо Веб-сервер Apache називається. Це дуже широко використовується, відкрита система веб-сервер джерело. Ця система має здатність інтерпретувати PHP, який буде корисним, якщо Ви хочете, щоб робити які-небудь програмування PHP. І в CS50 IDE, у нас є команда щоб зробити це дуже легко зробити, apache50 почати. А потім, що коса риска Шлях, слеш, щоб, слеш реж, що це просто дуже поширеним способом із зазначенням, що ви вказали тут це шлях до конкретного каталог, який вам хочу бути коренем Сайт, або коренева сторінка, або папка, з якої ваш веб-сервер почне вивчати файли і служити їх до клієнтів, які просять їх. Отже, давайте поп до CS50 IDE, просто показати вам, дуже швидко, як це працює. Так от в CS50 IDE, я в Каталог називається Тиждень нульовий Дев'ять. І в мене є two-- мене є виконується команда LS тільки вище, щоб показати вам, що в мене є два директорії в тут, PHP, який є набором файлів, які я використовував в синтаксису PHP відео, а потім PHP-веб, який є набором файлів, які я хотіли б використовувати в цьому відео. І я хотів би почати екземпляр веб-сервер з вмістом PHP-веб-папки так як файли в даний час подають. Так що я збираюся робити? Я збираюся ввести apache50 простір почати, простір PHP, тире веб. Це шлях до директорії звідки даний час я. Тоді я вдарив Enter. Це збирається зробити небагато речей тут. А потім скаже, Apache успішно запущений. Ваш сайт тепер доступний і at-- тобто URL-адресу для сайту. Так що я збираюся робити? Я збираюся швидко скопіювати цей. І я збираюся відкрити up-- і Я зменшити трохи here-- Я збираюся відкрити нова вкладка в Chrome. І я збираюся відвідати цю адресу. Я вдарю Enter. Це відбувається, щоб завантажити. І я буду видаляти знову. І ми бачимо, тут є вміст мого веб-каталог PHP. Так що тепер, в основному, відбувається тут, мій примірник CS50 IDE відбуває ці файли кожен, хто просить їх. І протягом це відео, ми сортувати поглянемо на купу з них різні файли в контексті. Щоб перевірити, що ваш Apache сервер працює, який зазвичай збирається щоб бути у випадку CS50 IDE, але якщо ви робите це в більш загальному, і ви починаєте будувати свій власний веб сервери, є дійсно поширений вид аналогового до, "привіт світ", що, як правило, використовується для PHP веб-розробки. Що мати файл складається тільки з цього code-- PHP-роздільник встановлений з інформацією PHP, дужки, крапка з комою між ними. Який є в основному спеціальна Функція PHP, який говорить вам те, що версія PHP ви працюєте. Таким чином, в CS50 IDE, я що файл доступний тільки щоб показати вам, що це буде виглядати. Так що я дивлюся на мою індексу від мого екземпляра PHP. Мій екземпляр Apache працює вміст PHP-Web. І в мене є файл тут називають info.php. Я збираюся вибрати його, зменшення масштабу. Це те, що ви збираєтеся щоб бачити, досить багато. Це просто говорить мені, що мій сервер Apache працює. І це, мабуть, версія PHP, що я біжу. Це мій аналог "привіт світ". Так що я знаю речі є чинними. Так що ми добре йти. Ми можемо виходити з тут. Отже, давайте повернемося, що Приклад раз ми були говорити про нашій бідній з веб-майстром який повинен був оновити сторінку постійно. Це може бути виправлення, як Я б реалізувати речі так що веб-майстер не зробив повинні постійно оновлювати час. Було б просто зразок відбудеться автоматично. Вниз нижче, HTML, це дуже схожі, за одним винятком. Але тут я отримав деякі PHP у верхній частині. Я, мабуть, це називається Функція date_default_timezone_set. І ми не говоримо про всіх ці функції в CS50, тому що, ймовірно, має PHP десятки тисяч. Це може бути чимось на зразок перебільшення, але воно не може бути. Він отримав багато вбудованих функцій в. І так це функція, мабуть встановлює часовий пояс, як США / Східної, що часовий пояс, що я В даний час у створенні цього відео. Тоді я зробити виклик Функція називається, дата. І, мабуть, я зберігання HIS-то називається, часу. Так що тут відбувається? Ну, в принципі те, що відбувається, я роблю виклик в якийсь сервер, який збирається скажи мені, що час в даний час. І я, перетворивши його у форматі годин, хвилин, секунд. І причина це столиця Н це збирається дати мені 24 годину часу, не 12 годину часу, який буде в нижньому регістрі ч. І я просто зберігати, що у змінній називається, часу. Так що друга лінія PHP Тобто, виклик функції, Дата, стає тільки деяка рядок, яка є збирається дати мені дату і час і купа іншої інформації. І перший аргумент є, що його, просто вилучення важливу роль що я дбаю про даному прикладі, котра година, хвилину і секунду. Так що це все, що відбувається. Так що я зберігати, що в змінній $ часу. А потім вниз на самому низу, я є що скорочення для роздруківки поточного часу. Так що я просто хочу, щоб надрукувати , Що поточний час. Отже, давайте поглянемо на це в CS50 IDE і побачити, як ми тепер економії, який вебмастеру багато неприємностей. Гаразд, так ось я знову назад в кореневому каталозі моєї Наприклад Apache. І в мене є файл тут називають time.php. Я просто хочу, щоб натиснути на що. І я прокрутки вгору, тому що ми збільшено досить далеко. Поточний час 14:20:34. Так що я роблю це годинник, хвилини і секунди. І я можу освіжити сторінка і отримати новий час. --41. Я збираюся оновити сторінку і отримати новий час, 44, 46, 47. Так, я, очевидно, не міняючи нічого собі. Я тут оновити сторінку. Тому я не можу бути там редагування. І я обіцяю вам, я не є однодумці які редагуючи файл від мого імені на стороні. Я просто за допомогою цієї функції PHP, Час, щоб справити час для мене автоматично. Так що, навіть якщо я сплю, і мій веб-сервер працює, користувач, який відвідує, що сторінка все ще збирається отримати саме поточний час. Так що це досить добре. Я зробив мій сайт більш динамічним з не надто багато коду PHP. Це було всього два рядки коду, а потім трохи заяві для друку. І вже у мене є набагато більш динамічний сайт ніж той першому прикладі ми бачили на початку відео. Так, нагадаємо, з відео на синтаксису PHP що коли РНР працює наша програма, вона ігнорує всі це не всередині PHP роздільників, впливів його. У цьому прикладі, що саме що він був впливів був HTML. А це значить, я можу тепер пересипати HTML і PHP разом. Тому що інтерпретатор буде просто ігнорувати HTML і вивести його в буквальному сенсі. І це добре, правильно? Тому що по-видимому, в кінці дня, Я хотів би мій сайт для бути виготовлені з HTML. Так що будь-який веб-браузер може інтерпретувати це, чи не розуміють HTML на сторінці і роблять це якось, що ми може насправді зрозуміти, як люди. І я можу використовувати тільки PHP для частин мого сайту Вимагати динамізм, що вимагають від мене щоб мати речі, які оновлюють постійно. Статична інформація може залишитися те ж саме. ОК, так що це нормально. Але чому б мені це зробити? Чому я змішати HTML і PHP? Я міг би просто роздрукувати всі HTML, використовуючи функцію PHP друку. Чому я не роблю, що? Подумайте про це на секунду. Чому, коли я міг би просто надрукувати out-- я може мати лінії PHP, які просто говорять, Друк HTML-тег, друкуюча головка. Чому я не роблю, що? Чому я змішування PHP і HTML? Ну, якщо ви думаєте, про це ні на секунду. PHP-інтерпретатор має інтерпретувати те, що він бачить. І таким чином, це матиме виконати рядок коду. Роздрукувати HTML. Роздрукувати відкритий головний тег. Роздрукувати відкритий тег заголовка. Це доведеться виконувати і інтерпретувати що кожен крок шляху. Чому б просто не дозволити перекладач просто замазати речі не розуміють і робити це автоматично? Це врятує мене багато часу змішувати мою HTML і PHP мій разом. І ось чому ми не просто відкритий PHP роздільник а потім просто роздрукувати весь Зміст нашої сторінки як один гігантський PHP виклик функції, Друк, а потім близько PHP роздільник, і ми зробили. Так ось чому ми змішуємо їх разом. Дотепер ми не бачили занадто багато різниця від загального синтаксису PHP. Це було досить просто. Ми вже бачили знак питання, рівні. Ми бачили кілька нових викликів функцій, але насправді нічого не фантазії відбувається. Давайте, можливо, зробити речі трохи любитель. Що робити, якщо ми хочемо передати інформацію між різними файлами PHP, так що, можливо, користувач може представити інформацію для мене. І тоді я міг би зробити щось з ним на іншій сторінці. Отже, PHP має підтримку те, що називається Супер Глобальний Змінні, який звучить досить дивним. Вони насправді просто гігантські асоціативні масиви які допомагають здійснити це Функціональність мимохідь інформацією між PHP файлів, які є існуючі на нашому веб-сервері. Перший з цих супер глобальні називається $ _GET. І це, мабуть, Простіше зрозуміти. Що відбувається з $ _GET? Ну, в принципі, користувач збирається ввести додаткову інформацію Наприкінці наших адрес. І все, що вони типу, припускаючи, це відформатований певним чином називається рядком запиту, який знаходиться всього набір пар ключ-значення розділених амперсандами. Ці ключові пари значень будуть зберігається в $ _GET асоціативного масиву. А з нашого відео на Синтаксис PHP, ми знаємо, як працювати з асоціативні масиви вже. Так ось приклад деякі PHP, де, можливо, я вилучення всіх пар ключ-значення що користувач ввів в URL. Так у мене є PHP Open роздільник. У мене є цикл по кожному елементу. Я ітерації по супер Глобальний масив $ _GET. І я хочу, щоб мати можливість звернутися як до ключ і значення. І я просто друкуючи їх з, кожен по-видимому, на власний тег абзацу тут. Я роздруківки деякі HTML та інтерполяції значень ключа і значення в цій заяві. Отже, давайте поглянемо на те, як це буде насправді працюють на нашому IDE. І, може бути, це допоможе ілюструють трохи що GET насправді робить. Так я знову тут, в моєму веб-сервера. І я буду масштабу в небагато, щоб показати вам що в мене є файл з ім'ям, get1.php. Отже, давайте натисніть на get1.php. І я не бачу ніякого змісту. Це дивно, чи не так? Ну, насправді не насправді. Тому що я не поставити що-небудь в URL. Я збираюся get1.php, але я чи не поставити всі пари ключ-значення як частина моєї рядку запиту. Так давайте додамо рядок запиту і подивитися, що цей файл може зробити. Щоб почати рядок запиту ви просто введіть знак питання. Тоді, можливо, я буду говорити ім'я = Doug & рік = 2 015. І тоді я вдарю Enter. Тепер зверніть увагу, що відбувається. Я до сих пір в get1.php. Але тепер я поставляється пар ключ-значення, і я друк їх самостійно paragraph-- ім'я, Doug-- рік, 2015. Саме код, ми просто побачив на слайді хвилину тому. І якщо я хочу, щоб, можливо, додати ще один пара ключів значення, і клас = CS50. Тепер у мене є ще один ключовий значення Пара, яка друкується коли я переглянути URL знову. Тепер, може бути, це не відформатований жахливо добре. Так що в мене ще один варіант get.php. Це get2.php. Різниця в цьому одна у мене є CSS файл, і форматує речі трохи більше приємно для мене. Це, може бути, не самий красива CSS в світі. Але це просто ще один спосіб зробити це. Так що я все ще можете отримати доступ мої змінних з використанням $ _GET. І в цьому випадку, я просто вид робить CSS трохи більше фантазії. І якщо ми поп до мій IDE для другої, Я покажу вам, на мій PHP веб Каталог тут, get2.php. Ми відкриємо її, деякий HTML тут. Мабуть я пов'язуючи в тому, що CSS файл я говорю. Я відкриваю тег таблиці. І тоді ось мій цикл по кожному елементу. Ось, що те, що я показали на слайді раніше. Різниця лише в тому, що я Тобто цей ключ і значення CSS укладка, що я застосовую до нього. Але це все, що я роблю, я це ітерації по $ _GET, щоб отримати всі з пар ключ-значення. І я їх друку у вигляді таблиці. І, мабуть, я форматування ключі в один бік, з TD Class = "ключ" <. Таким чином, очевидно, що стосується і деяких Селектор в моєму CSS файлу GET.CSS клас. І, мабуть, я друкую мої цінності зовсім по-іншому. Що досить багато що ми бачили тут, де наші цінності були надруковані з синім фоном, і наші ключі були надруковані з жовтим фоном. Так от, як я отримую ці різні стилі. Так як я використовую різні класи CSS. Але це в значній мірі це для GET. Як я тільки що вилучення інформації. І в цьому випадку, я просто друку на екран. Я отримую його з URL, і це те, що GET робить для нас. Чи бачите ви можливості Проблема тут, хоча? Навіщо ми, може бути, не хочете використовувати $ _GET? Що робити, якщо, може бути, я робив цей запит? --to get3.php, які я не в моєму IDE. Це просто гіпотетична файл. Але зверніть увагу, тут, мабуть, що проходячи свій пароль в. І, може бути, мій пароль ніяково. Або, може бути, я не хочу, щоб люди в знаю, що мій пароль, прав. Якщо я передаю його though-- якщо я використовую метод $ _GET, що відбувається, є, що буде в URL. Таким чином, деякі зловмисник може бути в змозі бачити те, що я роблю. Я, може бути видаючи їх конфіденційна інформація. Або, може бути, це навіть не зловмисник. Може бути, це просто ваш друг, який варто через плече. А тепер вони знають пароль на ваш рахунок в Facebook. І, може бути, вони не будуть зробити що-небудь з ним. Але якщо ваш пароль був представлені через $ _GET, щоб Facebook, Тепер вони знають, пароль Facebook. Тому що це прямо в URL коли ви зробили подання інформації. І тому, можливо, це не найкращий спосіб передати конфіденційну інформацію. Це хороший спосіб, щоб передати інформацію що ми не особливо піклуватися про як занадто чутливі. Тому GET досить швидко, в порівнянні з іншими супер глобальних ми збираємося поговорити. Але, можливо, не найкращий інструмент для чутливої ​​інформації. Для цього ми могли б використовувати те, що називається $ _POST, що є ще одним супер глобальної змінної. Це ще один асоціативний масив. Так це працює в значній мірі точно так само, як GET. Крім цього, замість того, щоб витягувати інформація з URL, він робить щось через HTTP заголовків. Так, пам'ятаєте з нашого відео по HTTP, ми говорили про те, як браузери, сервери, і клієнти взаємодіють. І інформація передається назад і вперед в HTTP заголовках. З $ _POST, інформація, як правило, відправлено через HTTP заголовків тех. І ми зазвичай бачимо в $ _POST контекст уявлення HTML форми. Ви як і раніше можете використовувати HTML форми уявити речі, щоб отримати. Але вони, як правило, використовується в контексті POST. Так ось приклад HTML формі. Тепер ми бачили це раніше, але у нас є не бачив цю частину, дія = "" Post.php. Тому, коли ми говорили про форми в контекст HTML, я була кнопка Submit. І якщо ви пам'ятаєте, я натисніть кнопку Надіслати а потім сторінка просто оновлюється, нічого не робити. У цьому випадку, я уявлення все, що я типу в цій формі, в PHP файл під назвою post.php. І, мабуть, як я роблю, що в такому вигляді, використовуючи метод POST. Таким чином, кожен шматок інформації що я типу в цій формі буде представлений по заголовкам HTTP. Це буде доступний в Post.php, бо це дія моєї формі. Це буде доступний перейшовши в $ _POST. І, мабуть, те, як я можу отримати на кожного окремого елемента з цією асоціативного масиву з цією атрибуту, Ім'я атрибута наших вхідних тегів. Таким чином, очевидно, я можу сказати, $ _POST площі Кронштейни назвати, щоб отримати всі користувачеві набрали в першому полі. І $ _POST пароль, ВН, а, отримати на те, що користувач ввів у другому полі. Отже, давайте поглянемо на це більш в CS50 IDE. І ось ми, і я збільшити на секунду. І у нас є файл з ім'ям post.html. Я натискаю на post.html. На самому верху ось у мене є дуже простий веб-форми. Це форма ми тільки що бачили на слайді секунду тому. Я можу надрукувати, Дуг, і я можу введіть свій пароль, який ми всі знати squadgoals. І я вдарю Надіслати. І, мабуть, що підпорядковується Post.php. І я, мабуть, що печатка. Так що я позбутися всіх безпеки що пост дає мені, просто роздрукувавши ім'я користувача та пароль. Ім'я користувача Дуг. Пароль користувача є squadgoals. Як мені це зробити? Ну, поп до IDE знову на секунду. Ми прокрутіть униз, щоб взяти погляд на Post.php, який був дія, яка я використав, щоб представити тут. Це було дія мого HTML формі. І це все, що я роблю. Ім'я користувача є, і я друку зі змісту $ _POST "ім'я". А потім пароль користувача становить $ _POST "пароль". Так що я отримав цю інформацію шляхом подачі HTML форму. І тепер я можу витягти його, використовуючи $ _POST бо метод я використав для передачі Інформацію з цієї формі був метод POST. Тепер це, ймовірно, не так great-- я збираюся повернутися на секунду в нашому безлічі here-- це, напевно, не так здорово, якщо я подання інформації з POST, який нібито більш безпечним. Це, ймовірно, не настільки велика, якщо я роблю це, а потім друк з пароля користувача. Це має бути більш безпечним. ОК, але це не зовсім безпечно. І тому в цей маленький фрагмент тут я хочу просто звернути вашу увагу на деякі проблеми безпеки даних, просто щось думати про поки ви роботи або за допомогою Інтернет. Це просто щось, щоб розглянути. Я сказав вам, що інформація представлені через HTTP заголовків при використанні методу POST в. Це означає, що вони не зовсім безпечно. Вони важче знайти, ніж використовуючи метод GET в, де це просто прямо в URL. Але є ще спосіб, щоб знайти його. І я просто хочу, щоб показати Ви це так, що ви, можливо, почати думати про це а ви працюєте, або за допомогою сайти та подання паролі, і, можливо, за допомогою той же пароль в Багато різних місцях. Знайте, що це як і раніше насправді досить легко дізнатися чиюсь пароль. І ось, я йду щоб перейти до post2.html. І різниця з post2.html і post2.php досить тонким. Різниця лише що я не друкувати пароль, коли я відправити форму. Так що я збираюся ввести, Дуг. І я збираюся ввести в, squadgoals, навіть хоча ми знаємо, що це пароль. Перед Я пропоную формі, хоча, я збираюся щоб відкрити Developer Tools, просто показати вам, що станеться тут. Таким чином, в Chrome, я просто хочу, щоб вразити F12. І, що збирається відкрити мій Засоби для розробників на правій стороні. Я не представив форму ще. Тепер я збираюся вдарити Надіслати на моїй формі. І, мабуть, я зробив подзвонити, або я зробив запит щоб post2.php, що має сенс. Я збираюся натиснути на це. Тоді тут, я збираюся натиснути на заголовки. Там дуже багато речей відбувається тут. Але якщо я Прокрутіть вниз до самого знизу, праворуч повідомлення there-- мій календар заблокував його для second-- права є на самому нижньому кутку, name-- Doug, pw-- squadgoals. Тому, навіть якщо я використовую POST метод, який є більш безпечним, просто треба знати, що, коли ви це зробите, Ви як і раніше передачі інформації через HTTP. І він як і раніше може бути знайдені противником. Це просто щось ми збираємося мати справу з дійсно. Може бути, є деякі способи шифрування наш паролі, перш ніж відправити їх, що було б краще, який я не роблю тут. Але просто бути в курсі, що POST метод має обмеження теж. Це поліпшення в порівнянні з GET в умови перебування відразу видно. Але це не повний виправлення. Так ось приклад швидкий будинку вправи що ви можете використовувати, щоб отримати деякі практикувати роботи з PHP. Створіть наступну пару веб-сторінок. Перша має бути просто дуже простий утворюють з одного поля і Відправити Кнопка. Так дуже схожий на те, що ми тільки що зробив з post.html. А потім другий файл, який ви повинні створити файл, файл PHP, що очікує введення, за допомогою POST, і на основі того, що користувач ввів, який можна припустити, буде цілим числом. Ви не повинні робити нічого перевірка помилок або тому подібне. Ви можете припустити, користувачеві буде ввести ціле число, або щось на зразок інтерпретується PHP як ціле, в цій формі. Ви просто хочете, щоб створити н таблицею множення п. Таким чином, якщо користувач відправляє 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 петель і після, дуже простий, сподіваюся, стресу приклад, просто щоб зробити трохи практики. І я отримав трохи CSS відбувається тут, щоб зробити свій індивідуальний стіл Клітини просто вид палити трохи і виглядати трохи більш як таблицю множення, а не просто текст, просто вид сидіти там. Останні супер глобальна ми поговоримо про в цьому відео те, що називається $ _SESSION. І, може бути, це насправді кращий приклад чогось ми б розглянути глобальні. Це ще один масив. Це ще один асоціативний масив. Але це доступно через кожен PHP-файл, який існує на нашій системі. Ми не повинні представляти Інформація по одній сторінці за раз як ми робимо з GET і POST с. Це завжди там. І так це здорово для сторінки де ви увійшли в систему, наприклад, і ви хочете свою реєстраційну інформацію зберігатися від сторінки до сторінки, щоб сторінці. Ви можете просто почати сесію, а потім використовувати $ _SESSION, щоб зберегти речі, як Ім'я користувача або користувача Ідентифікаційна інформація, і так далі. І, що інформація залишиться в $ _SESSION, Поки ви не знищити сесію трохи пізніше. Написання динамічних веб-сайтів з PHP робить їх набагато краще. Ваші сайти стають дуже динамічний, і ви не потрібно зробити занадто багато більше, ніж в іншому випадку ви б зробили просто роблять це з HTML. Але це вимагає практики, багато практики. Ви вже знаєте, як працювати з C, і так стрибає PHP не надто складно. Що, може бути, трохи трохи складніше працює з цією новою ідеєю GET і POST, і, можливо, змішуючи ваш HTML і PHP свій разом. Але також відомо, що в Інтернеті це величезне сховище інформації. І документація PHP доступний в багатьох місцях, але, мабуть, найбільш канонічно в php.net. І ви можете знайти там, безліч різних функцій, і випадки використання і приклади на прикладах, використовуючи приклади. Де, якщо ви хочете, щоб спробувати з'ясувати як зробити щось, напевно, хтось, ймовірно, зробили це перед вами. І ви можете використовувати їх в якості джерелом натхнення для реалізації все це ви намагаєтеся реалізувати теж. Я Дуг Ллойд. Це CS50.