Передать строки файла txt в html-файл опции выбора формы POST и извлечь выбранную опцию в php-файл

честно говоря, я искал ответ на мою проблему по всему переполнению стека в течение последних 2 дней. Пожалуйста, не понижайте мой вопрос …

Моя проблема заключается в следующем:
У меня есть текстовый файл, в котором есть названия городов, строка за строкой:

21-citiesNames.txt:

Paris
London
Amsterdam
Brussel
Berlin

У меня есть HTML-файл (который я не уверен, если это будет PHP-файл вместо BTV), в нем я хочу создать HTML-форму, и в этой форме я хочу, чтобы пользователь вводил свое имя и выбирал город из выпадающего списка выбора.

Я хочу импортировать текстовый файл (сверху), строка за строкой, конечно, как варианты выбора списка. И, конечно же, сохраните имя пользователя и выбранный город и напечатайте их в другом php-файле (например, «Выбрано: (имя), (город)».)

Теперь, если пользователь не выбрал город, в этом php-файле будет напечатано «Выбрано: (имя), Вы не выбрали ни один город».

21-scriptUseForm.html:

<html>
<head></head>

<body>

<!--Form for choice name and city:-->
<form method='POST' action='21-script.php'>
Enter your name:
<input type='text' name='userName'/>
<br><br>
Enter your city:

<select name='city'>
<?
define("fileName", "21-citiesNames.txt");
global $cities;
global $options='';
$cityLines=file_get_contents(fileName);
$cities=explode("\n",$cityLines);

foreach($cities as $city){
$options.='<option value="'.$city.'">'.$city.'</option>';
}
echo $options;
?>
<option value='city'> <?echo $options?></option>
</select>

<br><br>
<input type=submit value="Click here">
</form>

</body>
</html>

А теперь php-файл, который получает и печатает входные данные пользователя:

21-script.php:

<?php
session_start();

$_SESSION['userName'] = $_POST['userName'];

if(!isset($_POST['city']))
$cityChosenOrNot= "You didn't choose any city";
else
{
$_SESSION['cityChosen'] = $_POST['city'];
$cityChosenOrNot=$_POST['city'];
}

$name=$_POST['userName'];

echo "Selected: ".$name.", ".$cityChosenOrNot.".";

?>

Есть еще одна вещь … Я хочу открыть новый текстовый файл, и в нем я хочу сохранить все прошлые данные пользователя, имя и город, один за другим, динамически изменяясь каждый раз, когда пользователь вводит новые данные.

Моя проблема в настоящее время заключается в том, что я запускаю localhost / 21-scriptUseForm.html и страница выглядит так:

Введите ваше имя: [место для ввода имени]

Введите свой город: [выберите без параметров вообще.]

Нажмите здесь (кнопка «Отправить»)

Итак, это все. Я искал ответ везде, например:

загрузить список текстовых файлов в <вариант> теги

PHP прочитать файл и создать выпадающее меню

Создание выпадающего списка из .txt?

И еще … Пожалуйста, помогите, большое спасибо.

0

Решение

Возможно, проблема в том, что вы используете PHP в стандартном HTML-файле — замените 21-scriptUseForm.html на 21-scriptUseForm.php

Хотя есть возможность настроить файлы .html для анализа в PHP, это обычно не поведение по умолчанию.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]