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:21] – внешнее изменение 127.0.0.1 | 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 " | ||
} | } | ||
?> | ?> | ||
Строка 245: | Строка 258: | ||
И откроем файл **test_3.php** в браузере для проверки работы логики приложения | И откроем файл **test_3.php** в браузере для проверки работы логики приложения | ||
+ | {{: | ||
+ | Как видно в окне приложения, | ||
+ | Кнопка не нажата и переменной bam присвоенно значение = ЛОЖЬ. При этом значения переменных | ||
+ | **%%$lang_select" | ||
- | Создадим в директории | + | Не трогаем окна выбора, |
- | следующий | + | нажатия кнопки. Активируем кнопку "Продолжить" |
- | <code php lang_and_time_zone.php> | + | Получаем сообщение: Кнопка нажата и переменной bam присвоенно значение = ИСТИНА, |
- | <form action=" | + | переменных **%%$lang_select" |
- | Выберите язык приложения: <br/> | + | по умолчанию, |
- | <!-- Переключатель --> | + | появился файл **config.txt**, |
- | <input type=" | + | |
- | <label for=" | + | |
- | < | + | |
- | <input type=" | + | |
- | Выберите часовой пояс: < | + | {{:software:development:demo:cms:ucms: |
- | <!-- Выпадающий список --> | + | |
- | <select type=" | + | |
- | <option value=" | + | |
- | <option value=" | + | |
- | <option value=" | + | |
- | <option value=" | + | |
- | </select> | + | Проверим наш созданный файл **config.txt** и убеждаемся, |
- | <div class = "button_lang_and_time_zone"> | + | |
- | <input type="submit" | + | {{: |
- | </ | + | |
- | </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.1746278492.txt.gz · Последнее изменение: — 127.0.0.1