我对 PHP 还很陌生,但我已经应用了我以前的编程知识,以及互联网搜索让我走到了这一步。
我正在尝试逐步输入表单,其中逐页输入标准,并且仅在填写整个表单后才更新数据库。我计划在获得基本功能后进一步修饰表单。
截至目前,名称变量正在填充,但是在提交第二阶段后,它会循环回到输入的第一阶段,尽管 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(); } ?>