我有一个注册表单enroll.php提交给自己,如果所有输入有效,则包含confirm.php,我将数据保存到表格中。
看起来像这样 -
enroll.php
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
include('validate.php');
if($valid) {
require_once ('getDBconnection.php');
include ('confirm.php');
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<!DOCTYPE html >
<html>
// all html code with banner and navigation and form elements.
所以当我在确认文本后确认整个页面下面的注册时,我会看到我的表格,包含所有横幅和导航以及所有div内容和表格。
是因为我包括confirm.php吗?
如果有任何问题,请告诉我,我刚开始学习php。
答案 0 :(得分:0)
尝试在indlude confirm.php之后添加exit以停止使用菜单等执行整个站点。
if($valid) {
require_once ('getDBconnection.php');
include ('confirm.php');
exit();
}
答案 1 :(得分:0)
你应该重定向到confirm.php,不包括它
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
include('validate.php');
if($valid) {
header('Location: confirm.php');
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<!DOCTYPE html >
<html>
// all html code with banner and navigation and form elements.
当然只要您还没有向浏览器输出任何内容(IE:echo 'Please fill out the form correctly';
)
答案 2 :(得分:0)
因为enroll.php
运行到文件的末尾,无论是否包含confirm.php。
您最应该将表单提交给confirm.php,然后将用户重定向到confirm.php
答案 3 :(得分:0)
您可以将页面重定向到confirm.php,或者如果要包含confirm.php 比你需要在行包括('confirm.php');
之后放入exit()或die()<?php
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
include('validate.php');
if($valid) {
require_once ('getDBconnection.php');
include ('confirm.php');
exit(); //or you can also use die();
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>