Упражнения с массивами PHP: Добавление пользовательского ввода в массив
Добавление пользовательского ввода в массив
В этом упражнении PHP вы создадите массив, распечатаете его в браузере, а затем попросите пользователя добавить к нему ещё несколько слов.
Создайте массив видов транспорта, включая автомобиль, самолет, паром и метро. Напечатайте в браузере следующее утверждение: «Путешествовать можно по городу, стране или миру. Вот список некоторых распространенных видов транспорта:» Затем введите неупорядоченный список, созданный путем повторения созданной вами переменной массива.
Затем предоставьте пользователю текстовое поле ввода и попросите пользователя добавить в список другие виды транспорта, разделенные запятыми. Когда пользователь нажимает «Перейти», обработайте ввод с помощью функций массива, чтобы отправить обратно исходный список с добавлением пользователя. Добавьте еще одно текстовое поле с текстом «Добавить еще?» и еще одну кнопка отправки. Когда пользователь нажимает эту кнопку, страница должна перезагрузиться с новыми дополнениями, добавленными к ранее расширенному списку. Ваш код должен позволять пользователю добавлять элементы сколько угодно раз.
Пример
Попробуй сам »<?php
//Если форма не отправлена, отобразить форму
if (!isset($_POST['submit'])){
$travel=array(
"автомобиль",
"самолет",
"паром",
"метро"
);
?>
<p>Путешествовать можно по городу, стране или миру. Вот список некоторых распространенных видов транспорта:</p>
<ul>
<?php
foreach ($travel as $t){
echo "<li>$t</li>\n";
}
?>
</ul>
<form method="post" action="yourfile.php">
<p>Добавьте свои любимые способы путешествия в список через запятую:</p>
<input type="text" name="added" size="80" />
<p />
<?php
//Отправляем текущий массив путешествий как данные скрытой формы
foreach ($travel as $t){
echo "<input type=\"hidden\" name=\"travel[]\" value=\"$t\" />\n";
}
?>
<input type="submit" name="submit" value="Вперёд" />
</form>
<?php
//Если форма отправлена, обрабатываем ввод
}else{
//Получить установленный массив путешествий
$travel=($_POST['travel']);
//Преобразование строки ввода пользователя в массив
$added=explode(',',$_POST['added']);
//Добавляем в установленный массив
array_splice($travel, count($travel), 0, $added);
//Это также можно было бы записать $travel=array_merge($travel, $added);
//Возвращаем новый список пользователю
echo "<p>Вот список ваших дополнений:</p>\n<ul>\n";
foreach($travel as $t){
//Функции обрезки удаляют лишние пробелы, которые мог ввести пользователь
echo "<li>".trim($t)."</li>\n";
}
echo"</ul>";
?>
<p>Добавить еще?</p>
<form method="post" action="yourfile.php">
<input type="text" name="added" size="80" />
<p />
<?php
//Отправляем текущий массив путешествий как данные скрытой формы
foreach ($travel as $t){
echo "<input type=\"hidden\" name=\"travel[]\" value=\"$t\" />\n";
}
?>
<input type="submit" name="submit" value="Go" />
</form>
<?php
}
?>
Комментарии
<code>
, несколько строчек кода — в теги<pre><code>
...ваш код...</code></pre>
.