Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
表单提交不起作用后的PHP头重定向_Php_Sql_Database_Redirect - Fatal编程技术网

表单提交不起作用后的PHP头重定向

表单提交不起作用后的PHP头重定向,php,sql,database,redirect,Php,Sql,Database,Redirect,我有一段代码,将用户输入表单的信息发布到DB。在向DB提交数据的最后一行PHP之后,我有: header("location:http://www.site.com/page.htm"); 这似乎没什么用。它仍然将所有用户信息发布到数据库中,但页面将被清除,仅此而已。没有重定向 以下是整个片段: <?php if(isset($_POST['register'])){ $username = ($_POST['username']); $password = ($_POS

我有一段代码,将用户输入表单的信息发布到DB。在向DB提交数据的最后一行PHP之后,我有:

header("location:http://www.site.com/page.htm");
这似乎没什么用。它仍然将所有用户信息发布到数据库中,但页面将被清除,仅此而已。没有重定向

以下是整个片段:

<?php
if(isset($_POST['register'])){
    $username = ($_POST['username']);
    $password = ($_POST['password']);
    $email = ($_POST['email']);
    $email2 = ($_POST['email2']);
    $password2 = ($_POST['password2']);
    $commname = ($_POST['commname']);
    $outpostname = ($_POST['outpost']);
    $special = ($_POST['specialty']);

    if($username == "" || $password == "" || $email == "" || $password2 == "" || $email2 == "" || $commname == "" || $outpostname == "" || $special == "no"){
        echo "Please supply all required fields!";
    }elseif(strlen($username) > 20){
        echo "Username must be less than 20 characters!";
    }elseif(strlen($email) > 100){
        echo "E-mail must be less than 100 characters!";
    }elseif(strlen($email2) > 100){
        echo "E-mail verify must be less than 100 characters!";
    }elseif(strlen($commname) > 20){
        echo "Your Commander's name must be less than 20 characters!";
    }elseif(strlen($outpostname) > 20){
        echo "Your Outpost's name must be less than 20 characters!";
    }else{
        $register1 = mysqli_query($myConnection,"SELECT `id` FROM `user` WHERE `username`='$username'") or die(mysqli_error($myConnection));
        $register2 = mysqli_query($myConnection,"SELECT `id` FROM `user` WHERE `email`='$email'") or die(mysqli_error($myConnection));
        if(mysqli_num_rows($register1) > 0){
            echo "That username is already in use!";
        }elseif(mysqli_num_rows($register2) > 0){
            echo "That e-mail address is already in use!";
        }else{
            $spec = ($_POST['specialty']);
            $comnam = ($_POST['commname']);
            $postnam = ($_POST['outpost']);                                                    
            $rand_col = rand(1,5); /*Number of Colonies that exist in the game*/
            $ins1 = mysqli_query($myConnection,"INSERT INTO `stats` (`username`,`credits`,`food`,`land`,`energy`,`turns`,`turns_max`,`gas`,`ore`,`population`,`buildeff`,`offpts`,`defpts`,`score`,`specialty`) VALUES ('$username',2000,2000,100,2000,30,30,2000,2000,500,100,0,0,0,'$spec')") or die(mysqli_error($myConnection));
            $ins2 = mysqli_query($myConnection,"INSERT INTO `unit` (`username`,`trainee`,`juggernaut`,`infantry`,`marauder`,`terminator`,`reconsq`,`prisoner`,`destroyer`,`colossus`) VALUES ('$username',100,0,50,0,0,0,0,0,0)") or die(mysqli_error($myConnection));
            $ins3 = mysqli_query($myConnection,"INSERT INTO `user` (`colonynum`,`username`,`password`,`email`,`specialty`,`commname`,`outpostname`) VALUES ('$rand_col','$username','".md5($password)."','$email','$spec','$comnam','$postnam')") or die(mysqli_error($myConnection));
            $ins4 = mysqli_query($myConnection,"INSERT INTO `structure` (`username`,`agridome`,`spaceport`,`barrack`,`researchfac`,`laserbat`,`factory`,`infirmary`,`trainingfac`) VALUES ('$username',1,0,5,0,0,0,1,1)") or die(mysqli_error($myConnection));
            header("location:http://www.site.com/page.php");
        }
    }
}
?>
更改

header("location:http://www.site.com/page.php");

此外,如果在header命令(即http请求的主体)之前输出了一个字符,那么它将失败打开PHP错误报告,查看是否存在这种情况。

输出字符甚至可以是白色字符,介于
之间

header("location:http://www.site.com/page.php");

此外,如果在header命令(即http请求的主体)之前输出了一个字符,那么它将失败打开PHP错误报告,查看是否存在这种情况。

输出字符甚至可以是白色字符,介于
之间

header("location:http://www.site.com/page.php");

此外,如果在header命令(即http请求的主体)之前输出了一个字符,那么它将失败打开PHP错误报告,查看是否存在这种情况。

输出字符甚至可以是白色字符,介于
之间

header("location:http://www.site.com/page.php");

此外,如果在header命令(即http请求的主体)之前输出了一个字符,那么它将失败打开PHP错误报告,查看是否存在这种情况。


输出字符甚至可以是白色字符,介于
之间。如果您的头不工作,这是因为您的脚本在发送头之前生成了一个输出(例如,错误消息,因为未选中GET参数)。检查您的Web服务器的错误日志,其中应该包含信息,确切的失败原因。

如果您的头不工作,那是因为您的脚本在发送头之前生成了一个输出(例如,由于未选中的GET参数,产生了一条错误消息)。检查您的Web服务器的错误日志,其中应该包含信息,确切的失败原因。

如果您的头不工作,那是因为您的脚本在发送头之前生成了一个输出(例如,由于未选中的GET参数,产生了一条错误消息)。检查您的Web服务器的错误日志,其中应该包含信息,确切的失败原因。

如果您的头不工作,那是因为您的脚本在发送头之前生成了一个输出(例如,由于未选中的GET参数,产生了一条错误消息)。检查您的Web服务器的错误日志,其中应包含信息,确切的失败原因。

在任何其他类型的输出(错误消息、HTML、Javascript等)之前,需要将所有标题发送到浏览器

在您的例子中,在调用
header()
之前,脚本中有很多内容,其中一行或多行代码正在生成输出。一旦发生这种情况,就不能再发送头信息


若要解决此问题,请确定生成输出的内容并将其删除,或者将
header()
调用移到脚本顶部,然后再执行任何
echo
语句、
mysqli*
语句或任何其他可以生成输出的行。

所有头都需要先发送到浏览器,然后再执行任何其他类型的输出(错误消息、HTML、Javascript等)

在您的情况下,在调用
header()
之前,脚本中有很多内容,其中一行或多行代码正在生成输出。一旦发生这种情况,您就不能再发送头信息


若要解决此问题,请确定生成输出的内容并将其删除,或者将
header()
调用移到脚本顶部,然后再执行任何
echo
语句、
mysqli*
语句或任何其他可以生成输出的行。

所有头都需要先发送到浏览器,然后再执行任何其他类型的输出(错误消息、HTML、Javascript等)

在您的情况下,在调用
header()
之前,脚本中有很多内容,其中一行或多行代码正在生成输出。一旦发生这种情况,您就不能再发送头信息


若要解决此问题,请确定生成输出的内容并将其删除,或者将
header()
调用移到脚本顶部,然后再执行任何
echo
语句、
mysqli*
语句或任何其他可以生成输出的行。

所有头都需要先发送到浏览器,然后再执行任何其他类型的输出(错误消息、HTML、Javascript等)

在您的情况下,在调用
header()
之前,脚本中有很多内容,其中一行或多行代码正在生成输出。一旦发生这种情况,您就不能再发送头信息

要解决此问题,请确定生成输出的内容并将其删除,或者将
header()
调用移到脚本顶部,然后再执行任何
echo
语句、
mysqli*
语句或任何其他可以生成输出的行。

使用以下命令使其工作:

$url = '/page.php';
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
$url='/page.php';
回声';
使用以下方法使其正常工作:

$url = '/page.php';
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
$url='/page.php';
回声';
使用以下方法使其正常工作:

$url = '/page.php';
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
$url='/page.php';
回声';
使用以下方法使其正常工作:

$url = '/page.php';
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
$url='/page.php';
回声';

HTTP头是否区分大小写?或者至少在某些浏览器中是这样?有些东西可能会很挑剔。请尝试:
头(“位置:http://www.site.com/page.htm")
我尝试过大写字母,位置:和URL之间没有空格,效果相同。检查重定向之前没有输出任何内容?你说的输出是什么意思?重定向之前我有很多事情要做。文档。前几行解释没有输出。HTTP标头区分大小写吗?或者至少在某些浏览器中是这样吗?有些事情事情可能会像这样挑剔。试试:
header(“位置:http://www.site.com/page.htm”;
我试过大写字母,中间没有空格