【发布时间】:2011-07-08 03:58:54
【问题描述】:
也许这是一个愚蠢的问题,但是在将表单保存到数据库后将用户重定向到成功页面的正确方法是什么?
我不知道为什么,但是如果我添加action="done.php",那么表单不会将数据保存到我的数据库中。
我尝试添加header ("location:/done.php"); 它有效,但是当我将页面移动到原始服务器(PHP 4 和 MySQL 3.23.5)时,当我尝试发送表单时出现错误Warning: Cannot modify header information - headers already sent by ........
这是我的 php 代码:
if(isset($_POST['submit']))
{
$name=$_POST['name'];
$email = $_POST['email'];
$company = $_POST['company'];
$adress = $_POST['adress'];
$post = $_POST['post'];
$phone = $_POST['phone'];
$sql="INSERT INTO tekstile_users (id, name, email, company, adress, post, phone)
VALUES
('', '$name','$email','$company', '$adress', '$post', '$phone')";
if (mysql_query($sql,$con)) {
header ("location:/done.php");
}
else {
echo "Something is wrong";
}
}//end of submit button
我 修复 它将 .php 文件转换为 UTF-8 without BOM 。
感谢大家的建议!
【问题讨论】:
-
这不是注入错误,因为如果我删除 -header ("location:/done.php");一切都好
-
我不是说这个问题是由SQL注入引起的。我只是说你的应用存在巨大的安全漏洞。