Я попытался создать страницу, чтобы пользователь мог ввести некоторую информацию (имя, фамилия);однако пользователь также может не вводить какую-либо информацию в форму HTML и может нажать кнопку «Отправить», оставив ее пустой.Страница принимает данные, заданные пользователем, или создает данные по умолчанию, если пользователь оставил HTML-форму пустой, и вводит ее в таблицу MySQL.
После обработки данных MySQL он перенаправляется на другую страницу с помощью заголовка PHP.Другая страница имеет ту же цель, но разные данные (должность, имя работодателя).Разница на второй странице заключается в том, что она имеет две кнопки отправки - одна позволяет пользователю добавлять другой набор данных (должность, имя работодателя), а другая - перенаправлять его на следующую страницу.
У меня был успех с первой страницей сбора пользовательских данных, и, если оставить пустым, он обрабатывает данные MySQL по умолчанию.Затем он успешно перенаправляет на следующую страницу.На странице 2 он может обрабатывать только заполненные пользовательские данные в форме HTML, но если что-либо оставить пустым (или если форма полностью пуста), он не будет обрабатывать данные по умолчанию и просто перенаправит их обратно в себя без обработки MySQL.
Я не знаю, почему страница 2 не будет обрабатывать данные по умолчанию, а затем перенаправить на страницу 3.
Требуется один раз в начале каждой страницы (pdo.php)просто создав объект pdo и соединение.
Я упростил код здесь:
Страница 1:
<?php
session_start();
require_once "pdo.php";
if (isset($_POST['first_name']) &&
isset($_POST['last_name']))
{
$sql1 = "INSERT INTO Users (first_name,
last_name)
VALUES(:first_name,
:last_name)";
$stmt1 = $pdo->prepare($sql1);
$stmt1->execute(array(
':first_name' =>
(empty($_POST['first_name']))
? 'NoFirstNameGiven' :
$_POST['first_name'],
':last_name' =>
(empty($_POST['last_name']))
? 'NoLastNameGiven' :
$_POST['last_name']));
header("Location: page2.php");
exit;
}
?>
И Страница 2:
<?php
session_start();
require_once "pdo.php";
if (isset($_POST['job_title']) &&
isset($_POST['employer_name']))
{
$sql = "INSERT INTO Employment
(job_title, employer_name)
VALUES(:job_title, :employer_name)";
$stmt = $pdo->prepare($sql);
$stmt->execute(array(
':job_title' =>
(empty($_POST['job_title']))
? 'NoJobTitleGiven' :
$_POST['job_title'],
':employer_name' =>
(empty($_POST['employer_name']))
? 'NoEmployerGiven' :
$_POST['employer_name']));
if(isset($_POST['nextButton'])){
header("Location: page2.php");
exit;
}
if(isset($_POST['add_job'])){
header("Location: page3.php");
exit;
}
}
?>