Инструменты пользователя

Инструменты сайта


software:development:demo:cms:ucms:creating_file_lang_and_time_zone

Это старая версия документа!


8.4. Файл lang_and_time_zone.php

Этот файл выполняет функцию начального экрана установщика и предоставляет пользователю выбор язык приложения и временную зону, а также создает файл конфигурации config.php в директории /includes/ и записывает в него переменные $lang_select и $timezone_select, полученные из форм выбора.

  • $lang_select - выбор языка приложения (русский и англиский, при необходимости можно добавлять переводы)
  • $timezone_select - время сервера приложения (время написания поста, время отправки сообщений и т.д.)

Формы

<form action="install.php" method="post">
</form>
  • form action=«install.php» - указывает обработчик, к которому обращаются данные формы при их отправке на сервер.

В нашем случае это переход к файлу install.php (подробнее файл install.php будет описан в Главе 8.6).

В файле lang_and_time_zone.php у нас будет два вида формы для наглядности

  • input type=«radio» - переключатель
  • select type=«text» - выпадающий список

Переключатель

Используется для примера, при добавлении большего количества переводов приложения, целесообразнее, использовать «выпадающий список».

<input type="radio" method="post" name="lang_selection" value="english" checked />
<label for="lang_english"> English</label>
<br>

input type=«radio» - переключатель method=«post» - в отличие от метода GET, который используется для получения данных, POST служит для отправки данных на сервер. id=«lang_english» - идентификатор формы name=«lang_selection» - имя формы value=«english» - принимаемое значение checked - определяет выбор формы переключателя (т.е. выбран по умолчанию) label for=«lang_english» - надпись для элимента br - перенос на следующую строку

Создадим в директории /ucms/library/install/ файл lang_and_time_zone.php и запишем в него следующий код:

lang_and_time_zone.php
<form action="install.php" method="post">
Выберите язык приложения: <br/>
<!-- Переключатель -->
  <input type="radio" method="post" id="lang_english" name="lang_selection" value="english" checked /> 
  <label for="lang_english">English</label>
  <br>
  <input type="radio" method="post" name="lang_selection" value="russian"> Russian</p>
 
Выберите часовой пояс: <br/>
<!-- Выпадающий список -->
<select type="text" name="timezone_selection">
    <option value="Europe/Moscow">Europe/Moscow +03:00</option>
    <option value="Europe/Amsterdam">Europe/Amsterdam +01:00</option>
    <option value="Europe/Dublin">Europe/Dublin +00:00</option>
    <option value="Europe/Samara">Europe/Samara +04:00</option>
 
</select>
	<div class = "install_button">
	<input type="submit" value="Продолжить" name="button">
	</div>
</form>
<?php
$lang_select = $_POST['lang_selection'];
$timezone_select = $_POST['timezone_selection'];
// Проверим что lang_selection и timezone_selection определены
if(isset($_POST['lang_selection']) && isset($_POST['timezone_selection']))
{
if(isset($_POST['button'])) {$bam=TRUE;
//добавляем текст в конец файла config.php
$filename = 'config.php';
file_put_contents($filename, '<?php ' . "\n", FILE_APPEND);
file_put_contents($filename, '$lang_select' . ' = ' . '"' . $lang_select . '"' . '; ' . "\n", FILE_APPEND);
file_put_contents($filename, '$timezone_select' . ' = ' . '"' . $timezone_select . '"' . '; ' . "\n", FILE_APPEND);
file_put_contents($filename, '?> ' . "\n", FILE_APPEND);
header("Location: server_check.php");
exit( );
}
}
else {$bam=FALSE;}
 
?>
<div class="progressbar">
  <span style="width: 20%"></span>
</div>
?>
Только авторизованные участники могут оставлять комментарии.
software/development/demo/cms/ucms/creating_file_lang_and_time_zone.1746258929.txt.gz · Последнее изменение: 127.0.0.1