我还不是PHP GURU,但需要一些帮助。
我有一个HTML页面,它有一个表单转到PHP页面来处理表单中的数据。
这一切都很好,但是当我点击提交时,登录页面(HTML)只是闪烁,数据库得到更新,我的重定向只是将HTML原始代码吐出到RESPONSE中。
我希望显示新页面,而不是在console.log中的RESPONSE TEXT中吐出代码。
这是我在PHP中的内容:
header('Location: pageAfterLogin.html');
exit();
这不显示页面但不执行任何操作。
index.html页面,php页面和pageAfterLogin.html都在同一个域中。
我做错了什么?
由于
更新
这是处理PHP页面的表单:
<?php
$con = mysqli_connect("somehost.com", "username", "password", "dbname");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// define variables and set to empty values
$fname = $lname = $email = $phone = $address = $aptste = $city = $state = $zipcode = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$fname = test_input($_POST["fname"]);
$lname = test_input($_POST["lname"]);
$email = test_input($_POST["email"]);
$phone = test_input($_POST["phone"]);
$address = test_input($_POST["address"]);
$aptste = test_input($_POST["aptste"]);
$city = test_input($_POST["city"]);
$state = test_input($_POST["state"]);
$zipcode = test_input($_POST["zipcode"]);
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
$sql = "INSERT INTO users (firstName, lastName, email, phone, address, aptste, city, state, zipcode, datCreated, newUser)
VALUES ('$_POST[fname]','$_POST[lname]','$_POST[email]','$_POST[phone]','$_POST[address]',"
. "'$_POST[aptste]','$_POST[city]','$_POST[state]','$_POST[zipcode]','".getdate()."',1)";
if (!mysqli_query($con, $sql)) {
die('Error: ' . mysqli_error($con));
}
mysqli_close($con);
header('Location: pageAfterLogin.html');
exit();
?>
答案 0 :(得分:1)
您(或您使用的图书馆)最有可能在发送标题之前回复某些内容。标题必须高于其他任何东西。