software:development:demo:cms:ucms:creating_file_lang_and_time_zone
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| software:development:demo:cms:ucms:creating_file_lang_and_time_zone [2025/05/03 16:22] – [Файл test_3] vladpolskiy | software:development:demo:cms:ucms:creating_file_lang_and_time_zone [2025/05/09 13:21] (текущий) – [8.4. Файл lang_and_time_zone.php] vladpolskiy | ||
|---|---|---|---|
| Строка 124: | Строка 124: | ||
| :& | :& | ||
| | | ||
| - | | + | |
| < | < | ||
| <div class = " | <div class = " | ||
| Строка 132: | Строка 132: | ||
| Это мы позже и пропишем в файле **install.css**. | Это мы позже и пропишем в файле **install.css**. | ||
| </ | </ | ||
| - | **div class = " | + | **div class = " |
| стиля кнопки соблюсти последовательность написания данного руководства и нам в дальнейшем не прийдется | стиля кнопки соблюсти последовательность написания данного руководства и нам в дальнейшем не прийдется | ||
| вазвращатся в Файл **lang_and_time_zone.php** для " | вазвращатся в Файл **lang_and_time_zone.php** для " | ||
| - | ===== Логика форма ===== | + | ===== Логика формы ===== |
| У нас имеется переключатель языков с выбранным по умолчанию Английским языком и поле выбора часовой зоны, | У нас имеется переключатель языков с выбранным по умолчанию Английским языком и поле выбора часовой зоны, | ||
| с **Pacific/ | с **Pacific/ | ||
| Строка 156: | Строка 156: | ||
| < | < | ||
| if(isset($_POST[' | if(isset($_POST[' | ||
| - | {тут мы проверим, | + | {тут мы проверим, |
| </ | </ | ||
| * **%%if(...)%%** - логический оператор условия **ЕСЛИ** | * **%%if(...)%%** - логический оператор условия **ЕСЛИ** | ||
| Строка 168: | Строка 168: | ||
| if(isset($_POST[' | if(isset($_POST[' | ||
| echo " | echo " | ||
| + | file_put_contents(" | ||
| + | echo " | ||
| } else {$bam=" | } else {$bam=" | ||
| echo " | echo " | ||
| Строка 180: | Строка 182: | ||
| * **%%$bam=" | * **%%$bam=" | ||
| * **%%echo " | * **%%echo " | ||
| - | Описанный выше код проверит условие: | + | * **%%file_put_contents%%** - функция записи данных в файл запишет **Hello World. Testing!** в файл **config.txt** |
| + | |||
| + | Описанный выше код проверит условие: | ||
| ЕСЛИ кнопка нажата, | ЕСЛИ кнопка нажата, | ||
| + | а так же в этой-же директории будет создан файл **config.txt** и в него будет записано сообщение: | ||
| ИНАЧЕ присвоится той же переменной значение ЛОЖЬ и выведиться текст " | ИНАЧЕ присвоится той же переменной значение ЛОЖЬ и выведиться текст " | ||
| Строка 188: | Строка 193: | ||
| вновь созданный файл следующее: | вновь созданный файл следующее: | ||
| <code php test_3.php> | <code php test_3.php> | ||
| - | <form action=" | + | < |
| + | |||
| + | <form action=" | ||
| Выберите язык приложения: | Выберите язык приложения: | ||
| <input type=" | <input type=" | ||
| Строка 235: | Строка 242: | ||
| { | { | ||
| if(isset($_POST[' | if(isset($_POST[' | ||
| - | echo " | + | echo " |
| + | echo " | ||
| + | echo " | ||
| + | file_put_contents(" | ||
| + | echo " | ||
| } | } | ||
| } | } | ||
| else {$bam=" | else {$bam=" | ||
| - | echo " | + | echo " |
| + | echo " | ||
| + | echo " | ||
| } | } | ||
| ?> | ?> | ||
| </ | </ | ||
| И откроем файл **test_3.php** в браузере для проверки работы логики приложения | И откроем файл **test_3.php** в браузере для проверки работы логики приложения | ||
| - | {{: | ||
| + | {{: | ||
| - | Создадим в директории | + | Как видно в окне приложения, кнопка " |
| - | следующий код: | + | Кнопка не нажата и переменной bam присвоенно |
| - | <code php lang_and_time_zone.php> | + | **%%$lang_select"%%** и **%%$timezone_select%%** не выводятся, |
| - | <form action=" | + | |
| - | Выберите язык приложения: < | + | |
| - | <!-- Переключатель --> | + | |
| - | < | + | |
| - | <label for=" | + | |
| - | < | + | |
| - | <input type=" | + | |
| - | Выберите | + | Не трогаем окна выбора, а просто обновим окно браузера, ничего не измениться, т.к. работает проверка |
| - | <!-- Выпадающий список --> | + | нажатия кнопки. Активируем кнопку "Продолжить" |
| - | <select type="text" name=" | + | Получаем сообщение: |
| - | <option value=" | + | переменных **%%$lang_select"%%** = english и **%%$timezone_select%%** |
| - | < | + | по умолчанию, |
| - | <option value=" | + | появился файл **config.txt**, |
| - | < | + | |
| - | </select> | + | {{: |
| - | <div class = "button_lang_and_time_zone"> | + | |
| - | <input type="submit" | + | Проверим наш созданный файл **config.txt** и убеждаемся, |
| - | </ | + | |
| - | </form> | + | {{: |
| + | |||
| + | Выбирем другой язык, а так же другой часовой пояс и нажмем кнопку Продолжить | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Мы видим, что переменные **%%$lang_select" | ||
| + | На этом проверку логики закончим. | ||
| + | ===== 8.4. Файл lang_and_time_zone.php ===== | ||
| + | |||
| + | Откроем в блокноте созданный ранее в директории **/ | ||
| + | код из файла **test_3.php**, | ||
| + | * вывод на экран сообщений о нажатии кнопки и присвоении переменным **%%$lang_select" | ||
| + | значений, | ||
| + | Так-же откорректируем код в части | ||
| + | * заменим **form action=" | ||
| + | * заменим **file_put_contents(" | ||
| + | |||
| + | <code> | ||
| + | $file_lang_and_time_zone = '../../ | ||
| + | file_put_contents($file_lang_and_time_zone, | ||
| + | file_put_contents($file_lang_and_time_zone, | ||
| + | file_put_contents($file_lang_and_time_zone, | ||
| + | file_put_contents($file_lang_and_time_zone, | ||
| + | header(" | ||
| + | </code> | ||
| + | * **%%$file_lang_and_time_zone | ||
| + | * **%%../ | ||
| + | * **%%file_put_contents%%** - функция PHP записи в файл **%%config.php%%** месторасположение которого присвоенно переменной | ||
| + | * **%%<? | ||
| + | * **%%\n%%** - записывается символ перевода строки кода PHP | ||
| + | * **%%, FILE_APPEND%%** - флаг записи данных в конец файла, вместо перезаписи | ||
| + | * **%%$lang_select%%** - записывается переменная **%%$lang_select%%** | ||
| + | * **%% = %%** - записывается логический знак **%%=%%**(равно) | ||
| + | * **%%$lang_select%%** - записывается **значение!** переменной **%%$lang_select%%** присвоенное ранее из формы | ||
| + | То-же самое прописанно и для переменной **%%$timezone_select%%** | ||
| + | * **%%?> %%** - записывается определение конца границы выполнения кода PHP | ||
| + | * **%%header(" | ||
| + | В результате в файле **%%config.php%%** получим следующую запись: | ||
| + | <code> | ||
| + | <?php | ||
| + | $lang_select | ||
| + | $timezone_select | ||
| + | ?> | ||
| + | </ | ||
| + | где переменной **%%$lang_select%%** присвоенно значение языка по умолчанию, | ||
| + | **%%$timezone_select%%** - присвоенно значение часовой зоны | ||
| + | |||
| + | {{: | ||
| + | |||
| + | * в конец нашего файла | ||
| + | |||
| + | < | ||
| + | <?php | ||
| + | <div class="progressbar"> | ||
| + | <span style="width: 20%"></ | ||
| + | </ | ||
| + | </code> | ||
| + | |||
| + | <note blue> | ||
| + | :& | ||
| + | | ||
| + | css и пока соответственно мы его не видим. Позже будут подключенны стили ранее созданного (пока пустого) файла | ||
| + | [[software: | ||
| + | </ | ||
| + | |||
| + | В заключении мы добавим проверку того, что если это не первая установка, | ||
| + | директории **/ | ||
| + | устанавливаемой конфигурации приложения (блог, видеохостинг и.д.), за что будет отвечать файл **options.php**. | ||
| + | |||
| + | Код проверки приведен ниже: | ||
| + | < | ||
| + | include " | ||
| + | $file_config = FOLDER . '/ | ||
| + | if (file_exists($file_config)) { | ||
| + | /* Вызов header, перенаправит пользователя на страницу | ||
| + | / | ||
| + | header(" | ||
| + | } else { | ||
| + | Сюда будет записан весь наш код формы | ||
| + | } | ||
| + | </ | ||
| + | * **%%include " | ||
| + | * **%%$file_config = FOLDER . '/ | ||
| + | * **%%if(...){...}%%** - логический оператор условия **ЕСЛИ** | ||
| + | * **%%file_exists(...)%%** - функция проверки существования указанного файла или каталога. | ||
| + | * **%%header(" | ||
| + | * **%%else{...}%%** - логическая конструкция **ИНАЧЕ** оператора условия **ЕСЛИ** | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | Ниже приведен отредактированный и имеющий заключительный вид код файла lang_and_time_zone.php | ||
| + | |||
| + | <code php lang_and_time_zone.php> | ||
| <?php | <?php | ||
| + | include " | ||
| + | $file_config = FOLDER . '/ | ||
| + | if (file_exists($file_config)) { | ||
| + | /* Вызов header, перенаправит пользователя на страницу | ||
| + | / | ||
| + | header(" | ||
| + | } else { | ||
| $lang_select = $_POST[' | $lang_select = $_POST[' | ||
| $timezone_select = $_POST[' | $timezone_select = $_POST[' | ||
| Строка 277: | Строка 384: | ||
| if(isset($_POST[' | if(isset($_POST[' | ||
| { | { | ||
| - | if(isset($_POST[' | + | if(isset($_POST[' |
| - | // | + | // |
| - | $filename = ' | + | //в конец |
| + | $filename = '../ | ||
| file_put_contents($filename, | file_put_contents($filename, | ||
| file_put_contents($filename, | file_put_contents($filename, | ||
| Строка 285: | Строка 393: | ||
| file_put_contents($filename, | file_put_contents($filename, | ||
| header(" | header(" | ||
| - | exit( ); | ||
| } | } | ||
| } | } | ||
| - | else {$bam=FALSE; | + | } |
| ?> | ?> | ||
| + | <form action=" | ||
| + | Выберите язык приложения: | ||
| + | <input type=" | ||
| + | <label for=" | ||
| + | <br> | ||
| + | <input type=" | ||
| + | |||
| + | Выберите часовой пояс: <br/> | ||
| + | <select type=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | </ | ||
| + | <div class = " | ||
| + | <input type=" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| <div class=" | <div class=" | ||
| <span style=" | <span style=" | ||
| </ | </ | ||
| - | ?> | ||
| </ | </ | ||
| + | |||
| + | Запишем его в тело файла **lang_and_time_zone.php** и откроем его в окне браузера для проверки, | ||
| + | у нас созается файл **config.php** с данными и браузер нас перенаправляет на страницу проверки сервера **server_check.php** | ||
| + | о которой речь пойдет в следующей главе [[software: | ||
| + | а пока мы получим пустое окно. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Если мы повторно в адресной строке браузера набирем путь к нашему файлу | ||
| + | на страницу выбора конфигурации установки **options.php** | ||
| + | |||
| + | {{: | ||
| + | |||
| <note blue> | <note blue> | ||
| - | <wrap left>← [[software: | + | <wrap left>← [[software: |
| - | <wrap right> | + | <wrap right> |
| </ | </ | ||
software/development/demo/cms/ucms/creating_file_lang_and_time_zone.1746278554.txt.gz · Последнее изменение: — vladpolskiy
