Я довольно новичок в PHP, но применил свои предыдущие знания в области программирования, а также поисковые запросы в Интернете, чтобы донести меня до сих пор.Этапы ввода PHP-форм, ошибка цикла, возникающая
Я пытаюсь сделать пошаговую запись формы, где критерии введены на странице за страницей и только обновляет базу данных после заполнения всей формы. Я планирую приукрасить форму дальше, после того как я получу основные функциональные возможности, работающие над ней.
С момента, когда переменная name заполняется, однако после отправки второго этапа она возвращается к первому этапу ввода, хотя URL-адрес обновляется до этапа 3, из-за этого информация не может быть проанализирована до базы данных.
Я использую PHP v5, я видел решения этой проблемы с использованием AJAX, но я не использую его в этом экземпляре.
Благодарим вас за внимание и время.
<?php
$stage = $_GET['stage'];
//Starting on form 1
$stage = 'one';
//get form details
$name = $_POST['name'];
$surname = $_POST['surname'];
/* ---- Checking if you submitted and if you were on form one THEN set the form the stage2 in order to display the next form ---- */
if (isset($_POST['submitStage1']) && $stage == 'one') {
$stage = 'two';
echo "checking sumbit from stage1";
}
if (isset($_POST['submitStage2']) && $stage == 'two') {
$stage = 'three';
echo "checking submit from stage2 going to 3";
}
if (isset($_POST['submitStage3']) && $stage == 'three') {
$stage = 'three';
echo "Adding to database";
}
?>
<?php
if ($stage == 'one') {
echo $stage;
?>
<div style="width:100%; margin-bottom: 20px;"> Step_001</div>
<form method="post" action="addperson.php?stage=2">
<input name="name" type="text" />
<input name="submitStage1" type="submit" />
</form>
<?php
}
?>
<?php
if ($stage == 'two') {
echo $stage;
?>
<div style="width:100%; margin-bottom: 20px;"> Step_002</div>
<form method="post" action="addperson.php?stage=3">
<input name="surname" type="text" />
<input name="submitStage2" type="submit" />
</form>
<?php
}
?>
<?php if ($stage == 'three') { echo $stage;
echo "Adding to database";
$name = mysql_real_escape_string($_POST['name']); $surname = mysql_real_escape_string($_POST['surname']);
// Add this product into the database now
$sql = mysql_query("INSERT INTO testpeople (name, surname)
VALUES('$name','$surname')") or die (mysql_error());
exit(); } ?>