честно говоря, я искал ответ на мою проблему по всему переполнению стека в течение последних 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?
И еще … Пожалуйста, помогите, большое спасибо.
Возможно, проблема в том, что вы используете PHP в стандартном HTML-файле — замените 21-scriptUseForm.html на 21-scriptUseForm.php
Хотя есть возможность настроить файлы .html для анализа в PHP, это обычно не поведение по умолчанию.
Других решений пока нет …