Ответов: 6 Просмотров: 471
|
Привет всем! Очень нужна ваша помощь.
Задание:
Должен быть составлен список гостей.
1) Введите следующие данные в первую форму:
- повод (например, день рождения, свадьба и т. д.)
- Дата
- место
- количество гостей
2) Информация с первой страницы формы отображается в виде текста на второй странице формы. В зависимости от количества гостей отображаются текстовые поля, в которых имена гостей могут быть введены.
3) третья страница содержит информацию из первой страницы в виде текста. Ниже имена гостей пронумерованы в алфавитном порядке.
Помимо вывода, данные должны быть сохранены в формате JSON.
Сложность: все должно быть доступно в одном файле index.php (т.е. не в трех файлах для разных страницы форм, а в одном файле, который запрашивает с помощью операторов if, какая страница должна быть вызвана.
Вот мой код. Никак не могу понять, какие именно условия if должны быть, чтобы программа работала. У меня нет перехода на else....
+ не знаю, как сохранить гостей (понимаю только что это должен быть array) и показать их на следующей странице.
Буду очень признательна, если мне поможете. Спасибо )
PHP:
скопировать код в буфер обмена
<?PHP echo "<h1>гостевая книга</h1>"; echo '<form action="" method="POST">'; $place = isset($_POST['place']) ? trim($_POST['place']) : ""; $number = isset($_POST['number']) ? trim($_POST['number']) : ""; $occasion = isset($_POST['occasion']) ? trim($_POST['occasion']) : ""; $date = isset($_POST['date']) ? trim($_POST['date']) : ""; $subject = isset($_POST['subject']) ? trim($_POST['subject']) : ""; function error() { echo "<br>"; foreach ($_POST as $field => $content) { echo "Поле $field не заполнено!<br />"; $error = true; } } } ///// 1 // occasion echo '<p>occasion: '; $select=array('','occasion1','occasion2','occasion3'); echo '<select name="occasion">'; foreach ($select as $var){ echo '<option value="'.$var.'">'.$var.'</option>'; } echo '</select>'; echo "<br><br>"; // date echo 'date: '; echo '<input type="date" name="date" value="'; echo $place; echo '" size="35" maxlength="60">'; echo "<br><br>"; // place echo 'place: '; echo '<input type="text" name="place" value="'; echo '" size="20" maxlength="60">'; echo "<br><br>"; // number echo 'number of guests: '; echo '<input type="number" name="number" value="'; echo $number; echo '" size="4" maxlength="4">'; echo "<br><br>"; echo '<br>'; echo '<input type="Submit" name="" value="weiter">'; error(); } ////// 2 elseif (isset($_POST['occasion']) || isset($_POST['date']) || isset($_POST['place']) || $_POST['subject'] == "") { echo "occasion: " . $occasion . "<br>"; echo "date: " . $date . "<br>"; echo "place: " . $place . "<br>"; echo "number of guests: " . $number . "<br>"; if (($_POST['subject'] == "" ) && ( $_POST['already_shipped_twice'] == "yes" )) { echo "<p>Пожалуйста, заполните поле Гость </p>"; } $start = 1; $stop = $_POST["number"]; for ($count = $start; $count <= $stop; $count++) { echo "<p> $count Гость: "; ?><input type="text" name="subject"> <br><?PHP } echo '<input type="hidden" name="already_shipped_twice" value="yes">'; echo '<br>'; echo '<input type="submit" name="preview" value="Go to the preview">'; $occasion = $_REQUEST['occasion']; echo $occasion , "<br>"; $place = $_REQUEST['place']; echo $place; } ////////////////////////// 3 else { $text = $_POST['subject']; natCaseSplace($text); foreach ($text as $element) { echo $element . "<br>"; } $error = false; if (!$error) { echo "Данные:"; echo "occasion: " . $occasion . "<br>"; echo "date: " . $date . "<br>"; echo "place: " . $place . "<br>"; echo "number der Gдste: " . $number . "<br>"; foreach ($_POST as $field => $content) { } } echo '</form>'; } } ?>
|