Php 如何在mysql上存储数据后重定向页面

Php 如何在mysql上存储数据后重定向页面,php,html,mysql,Php,Html,Mysql,在使用标题(“Location:success.html”)将数据存储在mysql上之后,我试图重定向到感谢网页; 退出 但当我打开该链接时,它将自动进入success.html页面,而无需在表单和mysql上输入或存储任何数据 <?php $con=mysqli_connect("localhost","root","","vdl"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connec

在使用
标题(“Location:success.html”)将数据存储在mysql上之后,我试图重定向到感谢网页;
退出

但当我打开该链接时,它将自动进入success.html页面,而无需在表单和mysql上输入或存储任何数据

<?php
$con=mysqli_connect("localhost","root","","vdl");
// Check connection
if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
if(isset($_POST['submit'])) // Fetching variables of the form which travels in URL
{
    $company_name = $_POST['company_name'];
    $since = $_POST['since'];
    $strength = $_POST['strength'];
    $head_quarter = $_POST['head_quarter'];
    if($company_name !=''||$since !='')
    {
        mysqli_query($con,"insert into digital_library(company_name, since, strength, head_quarter) values ('$company_name', '$since', '$strength', '$head_quarter')");
        echo "<br/><br/><span>Data Inserted successfully...!!</span>";
        mysqli_close($con);
    }
    else
    {
        echo "<p>Insertion Failed <br/> Some Fields are Blank....!!</p>";
    }
}
header("Location: success.html");
exit;
?>

请使用PDO或mysqli。我刚刚编辑了您的现有代码,以便在成功插入后将您重定向到成功页面。

    $con=mysqli_connect("localhost","root","","vdl");
    $i = 0;
    // Check connection
    if (mysqli_connect_errno())
    {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    if(isset($_POST['submit'])){ // Fetching variables of the form which travels in URL
        $company_name = $_POST['company_name'];
        $since = $_POST['since'];
        $strength = $_POST['strength'];
        $head_quarter = $_POST['head_quarter'];
        if($company_name !=''||$since !=''){
            mysqli_query($con,"insert into digital_library(company_name, since, strength, head_quarter) values ('$company_name', '$since', '$strength', '$head_quarter')");
            echo "<br/><br/><span>Data Inserted successfully...!!</span>";
            mysqli_close($con);
        }
        else{
            $i++;
        }
    }
    if($i==0){
    header("Location: success.html");
    }else{
        echo "Error msg";
    }
$con=mysqli_connect(“localhost”、“root”、“vdl”);
$i=0;
//检查连接
if(mysqli\u connect\u errno())
{
echo“未能连接到MySQL:”.mysqli_connect_error();
}
if(isset($_POST['submit']){//获取在URL中传播的表单的变量
$company\u name=$\u POST['company\u name'];
$since=$_POST['since'];
$strength=$_POST['strength'];
$head_-quarter=$_POST['head_-quarter'];
如果($company_name!=''| |$since!=''){
mysqli_query($con,“插入数字_库(公司名称、起始日期、强度、总部季度)值(“$company_名称”、“起始日期”、“强度”、“总部季度”)”);
回显“

成功插入数据…!!”; mysqli_close($con); } 否则{ $i++; } } 如果($i==0){ 标题(“Location:success.html”); }否则{ 回显“错误消息”; }
$con=mysqli_connect(“localhost”、“root”、“libro”);
//检查连接
if(mysqli_错误($con))
{
echo“无法连接到MySQL:”.mysqli_错误($con);
退出();
}
if(isset($_POST['submit']){//获取在URL中传播的表单的变量
$company\u name=$\u POST['company\u name'];
$since=$_POST['since'];
$strength=$_POST['strength'];
$head_-quarter=$_POST['head_-quarter'];
如果($company_name!=''| |$since!=''){
mysqli_query($con,“插入数字_库(公司名称、起始日期、强度、总部季度)值(“$company_名称”、“起始日期”、“强度”、“总部季度”)”);
回显“

成功插入数据…!!”; 标题(“Location:success.html”); 退出(); } 否则{ echo“插入失败
某些字段为空….!!

”; 退出(); } }
您是在询问如何重定向还是如何插入数据?这个问题还不清楚。您的代码中充满了SQL注入漏洞(这也会使代码变得脆弱,容易出现错误),并且您没有检查错误。调用
header()
并调试数据库交互。您的PHP日志中有错误吗?如果打开错误报告,是否有任何错误输出到页面?
mysqli\u错误($con)
告诉你什么?调试以找出失败的具体位置。您的代码易受攻击。您应该使用或准备带有绑定参数的语句,如中所述。这不起作用,因为您在头之前使用了echo,所以要解决此问题,或者在任何echo之前使用头,或者使用输出缓冲,只需在脚本开头添加ob_start(),最后使用ob_end_flush();此外,您的代码易受攻击
$con=mysqli_connect("localhost","root","","libro");

// Check connection
if (mysqli_error($con))
  {
      echo "Failed to connect to MySQL: " . mysqli_error($con);
      exit();
  }

if(isset($_POST['submit'])){ // Fetching variables of the form which travels in URL

        $company_name = $_POST['company_name'];
        $since = $_POST['since'];
        $strength = $_POST['strength'];
        $head_quarter = $_POST['head_quarter'];

        if($company_name !== ''||$since !== ''){

        mysqli_query($con,"insert into digital_library(company_name, since, strength, head_quarter) values ('$company_name', '$since', '$strength', '$head_quarter')");
    echo "<br/><br/><span>Data Inserted successfully...!!</span>";

            header("Location: success.html");
            exit();

        }
    else{

        echo "<p>Insertion Failed <br/> Some Fields are Blank....!!</p>";
        exit();

    }
}