无法在PHP中重定向到另一个页面

时间:2015-11-02 09:01:43

标签: php mysql

我正在用PHP创建一个基本站点。 在这里,我的代码不起作用。我想将页面重定向到另一个页面。

<?php

$k = mysqli_connect("localhost","root","","ubm_2015");

if(!$k)
{
    echo "Koneksi Gagal <br>";
    echo mysqli_errno();
}
else
{   echo "Koneksi Berhasil";
}

$nama = $_POST['nama'];
$motor = $_POST['vhc'];
$hobi = $_POST['hobi'];

$query = "insert into data_mhs(nama,motor,hobi) values ('$nama','$motor','$hobi')";

mysqli_query($k,$query);

echo " Query Berhasil ";

header("Location : select.php");


?>

我使用header,但它不起作用。

在PHP中是否有重定向的提示?

5 个答案:

答案 0 :(得分:0)

您不能在回显之后使用标题,因为页面已经由这些回显创建,它甚至应该返回以下错误:

Warning : Cannot modify header information – headers already sent by (your file)

你必须首先删除所有的回声,然后它应该像魅力一样工作

您必须使用echos删除这些行:

if(!$k)
{
   // echo "Koneksi Gagal <br>";
   // echo mysqli_errno();
}
else
{ 
 //echo "Koneksi Berhasil";
}


// echo " Query Berhasil ";

答案 1 :(得分:0)

if(!$k)
{
    echo "Koneksi Gagal <br>";
    echo mysqli_errno();
}
else
{   echo "Koneksi Berhasil";
}

你的if-else中的任何一个都会运行并向响应中写入内容。

写完回复后你无法重定向。

在echo或任何其他输出之前重定向set header("Location : select.php");

答案 2 :(得分:0)

尝试用此行替换标题:

 echo "<META http-equiv='refresh' content='5;URL=select.php'>";

答案 3 :(得分:0)

你必须为此调用javascript函数,试试这个: -

echo "<script>
function myFunction() 
{
setTimeout(function(){ location.href='your file name'; }, 5000);
}
myFunction();
    </script>";

你正在写&#34; select.php&#34;但如果您正在使用localhost,那么您必须这样写: -

location.href='http://localhost/folder_name if you have/select.php'

如果您正在使用服务器,那么它将是: -

location.href='http://host ip/folder name/select.php'

答案 4 :(得分:0)

<?php

$k = mysqli_connect("localhost","root","","ubm_2015");

if(!$k)
{
    echo "Koneksi Gagal <br>";
    echo mysqli_errno();
}
else
{   echo "Koneksi Berhasil";
}

$nama = $_POST['nama'];
$motor = $_POST['vhc'];
$hobi = $_POST['hobi'];

$query = "insert into data_mhs(nama,motor,hobi) values ('$nama','$motor','$hobi')";

mysqli_query($k,$query);

// echo " Query Berhasil ";

header("Location : select.php");


?>

这是因为你使用了echo。不会运行标头功能,因为首先运行回显。您不能同时使用标头执行回显,因此首先运行回显并忽略标头。如果要在新文件中执行echo,也许可以使用_GET函数。

在实际档案中:

header("Location : select.php?echo=Query%20Berhasil");

在select.php中:

$echo = $_GET['echo'];

希望我能帮助你,否则作为Meta Refresh,我建议改用Header功能。