Този урок съдържа някои коментари относно упражненията.

пример

Обща структура на упражненията

Повечето упражнения, предложени като основни упражнения, се състоят от две страници:

  • файл * -1.php, който включва формата за въвеждане на данните
  • файл * -2.php, който обработва данните и показва отговора

Има и .css файл, който съдържа таблица със стилове, обща за всички упражнения, а някои упражнения включват изображения.

В случай на по-сложни упражнения, упражненията могат да се състоят от повече от две .php страници.

Шаблони

В горната част на всяка страница с упражнения има линк за изтегляне на файл * -templates.zip която съдържа папка с файловете, необходими за изпълнение на упражненията: изображения, таблица със стилове и .php страници.

Препоръчително е да промените името на компресираната папка (елиминирайки последната част -templates), за да избегнете загубата на свършената работа, ако файлът * -templates.zip бъде декомпресиран отново.

Страниците .php съдържат целия „фиксиран“ HTML (т.е. той не се променя всеки път, когато програмите се изпълняват), които могат да бъдат копирани от примерните упражнения. Те също така съдържат някои (празни) PHP фрагменти, където HTML кодът се променя всеки път, когато програмите се изпълняват и трябва да се генерират с PHP инструкции. В някои случаи трябва да се добавят други PHP фрагменти, за да се реши упражнението.

Форма: Страница * -1.php

Формата включва контроли, чието име е свързано с информацията, която ще бъде записана в тях.

В повечето упражнения формулярът съдържа само HTML код, но в някои случаи трябва да се добавят PHP инструкции. В тези случаи файлът включва PHP фрагмент.

Резултат: Страница * -2.php

Страницата * -2.php е PHP програмата, която студентът трябва да напише.

В първия блок от упражнения, предложени в този курс (Контроли във формуляри 1), страницата .php трябва да изпълнява следните задачи:

  • събира данните, изпратени от формуляра от html страницата
  • покаже получените данни

В останалите блокове от упражнения, предложени в този курс (контроли във формуляри 2, аритметични операции и т.н.), страницата .php трябва да изпълнява следните задачи:

  • събира данните, изпратени от формуляра от html страницата
  • проверете данните и, ако в тях бъдат открити грешки, ги посочете на потребителя
  • ако всички данни са верни, покажете резултата (за да покажете резултата може да се наложи да извършите изчисления или да проверите резултата от тези изчисления).

Общ лист със стилове

Упражненията винаги използват една и съща таблица със стилове, която трябва да е в същата папка като php страниците. и това е включено в компресирания файл * -templates.zip.

Пример за събиране на данни без проверка

Този пример служи като модел за упражненията в блока упражнения Контроли във форми (1).

Пример

Примери за решени упражнения са включени в изявленията на упражненията. В горния десен ъгъл на всеки пример има икона на връзка (), за да отворите примера в друг раздел, за да можете лесно да видите неговия HTML изходен код. Този изходен код може да бъде копиран и поставен в страниците, създадени от студента.

По-долу е дадено примерно упражнение.

В горната част на всяка страница с упражнения има линк за изтегляне на шаблоните за упражнения, които включват „фиксирания“ HTML код, за да ви спести работата. Страници с коментирани решения са налични на някои страници за упражнения. На страницата „Решения за упражнения“ можете да изтеглите пълните решения за всички упражнения.

За разгледания тук пример можете да изтеглите шаблоните за упражнения или пълните решения.

Решение

Форма (страница -1.php)

В този случай формулярът не изисква PHP код, защото страницата винаги е една и съща.

Резултат (страница -2.php)

Страницата .php, написана от студента, трябва да генерира същия HTML код като примера. Един от начините да подходим към изграждането на .php страницата е да тестваме примера и да копираме HTML кода, който примерът генерира, в .php страницата.

В този код можем да разделим три части:

    началния блок, от DOCTYPE до

По-долу е изходният код с редовете, които трябва да бъдат генерирани във PHP фрагмент, подчертан с граница:

Предложеното решение по-долу съдържа три фрагмента:

  • първи HTML фрагмент със заглавката на страницата, който не зависи от данните, въведени от потребителя
  • втори PHP фрагмент, който събира и обработва данните
  • трети окончателен HTML фрагмент с долния колонтитул, който също не зависи от данните, въведени от потребителя

По-долу е изходният код с PHP фрагмент, подчертан с граница:

Разбира се, страницата може да съдържа един-единствен PHP фрагмент, в който целият HTML код е генериран от инструкции за печат .

Ядро на php програмата

PHP фрагментът, който събира и показва данните, има следната структура:

  • Събиране на данни:
    • първо дефинирайте функцията collect (), обсъдена в урока за събиране на данни.
    • тогава двете данни от формуляра се записват в две променливи с помощта на функцията collect (). Името на променливите съвпада с името на контролите (в този случай $ name и $ age)
  • Представяне на резултатите:
    • Тъй като не правим никакви проверки, съобщението е написано, включително променливите (дори ако съдържат абсурдна информация).

По-долу е изходният код със секцията за представяне на данни, подчертана с контур:

Пример за събиране и проверка на данни

Този пример служи като модел за останалите блокове от основни упражнения с форми (Контроли във форми (2), Аритметични операции и др.).

Пример

Примери за решени упражнения са включени в изявленията на упражненията. В горния десен ъгъл на всеки пример има икона на връзка (), за да отворите примера в друг раздел, за да можете лесно да видите неговия HTML изходен код. Този изходен код може да бъде копиран и поставен в страниците, създадени от студента.

По-долу е дадено примерно упражнение.

В горната част на всяка страница с упражнения има линк за изтегляне на шаблоните за упражнения, които включват „фиксирания“ HTML код, за да ви спести работата. Страници с коментирани решения са налични на някои страници за упражнения. На страницата „Решения за упражнения“ можете да изтеглите пълните решения за всички упражнения.

За разгледания тук пример можете да изтеглите шаблоните за упражнения или пълните решения.

Решение

Форма (страница -1.php)

В този случай формулярът не изисква PHP код, защото страницата винаги е една и съща.

Резултат (страница -2.php)

Страницата .php, написана от студента, трябва да генерира същия HTML код като примера. Един от начините да подходим към изграждането на .php страницата е да тестваме примера и да копираме HTML кода, който примерът генерира, в .php страницата.

В този код можем да разделим четири части:

    началния блок, от DOCTYPE до

По-долу е изходният код с редовете, които трябва да се генерират във PHP фрагменти, подчертани с граница:

Предложеното решение по-долу съдържа три фрагмента:

  • първи HTML фрагмент със заглавката на страницата, който не зависи от данните, въведени от потребителя
  • втори PHP фрагмент, който събира и обработва данните
  • трети окончателен HTML фрагмент с долния колонтитул, който също не зависи от данните, въведени от потребителя

По-долу е изходният код с PHP фрагмент, подчертан с граница:

Разбира се, страницата може да съдържа един-единствен PHP фрагмент, в който целият HTML код е генериран от инструкции за печат .

Ядро на php програмата

PHP фрагментът, който събира и генерира данните, има следната структура:

  • Събиране на данни:
    • първо дефинирайте функцията collect (), обсъдена в урока за събиране на данни.
    • тогава двете данни от формуляра се записват в две променливи с помощта на функцията collect (). Името на променливите съвпада с името на контролите (в този случай $ name и $ age)
  • Проверка на данните:
    • Първо се дефинират някои спомагателни логически променливи, чието име е това на контролата и окончанието Ok (в този случай $ nameOk и $ ageOk). Стойността (вярно или невярно) представя дали данните, въведени от потребителя, са верни или не. Тези променливи се инициализират на false (т.е. започвате с предположението, че въведените от потребителя данни са неверни).
    • тогава има ако блокове. elseif. друго (по една на данни, изпратени от потребителя), в която се проверява дали данните, написани от потребителя, представляват проблем. Всеки възможен проблем се оценява в състояние. Ако данните не представляват никакъв проблем, помощната логическа променлива се променя на true (т.е. ако не представлява никакъв проблем, данните се приемат за правилни).

      В зависимост от вида на данните може да има повече или по-малко проверки.

  • Представяне на резултатите:
    • първо има блок if. в която се проверява дали всички спомагателни променливи са верни и това, което трябва да се направи, е направено. В това упражнение името и възрастта, написани от потребителя, са просто представени, но в други по-сложни упражнения трябва да правите изчисления или да показвате различни съобщения в зависимост от резултата от тези изчисления.

По-долу е изходният код със секцията за проверка на данни, подчертана с граница:

Последна промяна на тази страница: 9 ноември 2019 г.


Тази страница е част от курса PHP уеб програмиране от Бартоломе Синтес Марко
който се разпространява под Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA 4.0).