【问题标题】:Header does not redirect an Unset Does not Unset标头不重定向 Unset 不取消设置
【发布时间】:2018-11-12 09:17:16
【问题描述】:

我有这段代码可以正常工作,只是我似乎无法让 UNSET 命令和标头命令工作。

我试图在我的代码中移动它们,但没有运气。语法不能错(我认为)命令的位置是否有任何不当行为?

该功能工作正常,我收到成功消息但没有重定向。我在教程中看到有人使用 include "../html/Search.php";但是当我尝试这样做时,搜索页面出现在页面中间。

这是我的代码:

function UpdateCompanies($connection, $tax, $address, $city, $country, $status, $website, $company_foundation ) {
 $n = mysqli_real_escape_string($connection, $name);
 $t = mysqli_real_escape_string($connection, $tax);
 $a = mysqli_real_escape_string($connection, $address);
 $c = mysqli_real_escape_string($connection, $city);
 $ct= mysqli_real_escape_string($connection, $country);
 $s= mysqli_real_escape_string($connection, $status);
 $w= mysqli_real_escape_string($connection, $website);
 $f= mysqli_real_escape_string($connection, $company_foundation);
 $e= mysqli_real_escape_string($connection, $company_employees);

 $query = "UPDATE `seta`.`companies` SET `tax_number`='$t',`street`='$a', `city`='$c', `country_id`='$ct',`status`='$s',`website`='$w',`foundation_year`='$f', `employees`='$e'  WHERE `company_id`='".$_SESSION["company_mod"]."'  ;";


  if ($connection->query($query) === TRUE) {

    echo "New record Updated successfully.";
    header('Location: Search.php');
    unset($_SESSION['company_mod']);

 } else {
    echo "Error: " . $query . "<br>" . $connection->error;
}
}

请注意,我保证在这部分代码正常工作后,我会尽快清理更多变量。

【问题讨论】:

  • echoing 之后不能发送标头!

标签: php session redirect mysqli


【解决方案1】:

echoing 之后您不能发送标头! 也许你可以使用这段代码

header( "Refresh:5; url=http://www.example.com/page2.php", true, 303);
echo "New record Updated successfully.";
unset($_SESSION['company_mod']);

另外,我建议你删除 MySQL 的错误信息。因为这可能是安全漏洞

【讨论】:

    【解决方案2】:

    您可以尝试使用此代码吗?:

    function UpdateCompanies($connection, $tax, $address, $city, $country, $status, $website, $company_foundation ) {
     $n = mysqli_real_escape_string($connection, $name);
     $t = mysqli_real_escape_string($connection, $tax);
     $a = mysqli_real_escape_string($connection, $address);
     $c = mysqli_real_escape_string($connection, $city);
     $ct= mysqli_real_escape_string($connection, $country);
     $s= mysqli_real_escape_string($connection, $status);
     $w= mysqli_real_escape_string($connection, $website);
     $f= mysqli_real_escape_string($connection, $company_foundation);
     $e= mysqli_real_escape_string($connection, $company_employees);
    
     $query = "UPDATE `seta`.`companies` SET `tax_number`='$t',`street`='$a', `city`='$c', `country_id`='$ct',`status`='$s',`website`='$w',`foundation_year`='$f', `employees`='$e'  WHERE `company_id`='".$_SESSION["company_mod"]."'  ;";
    
    
      if ($connection->query($query) === TRUE) {
    
        echo "New record Updated successfully.";
        unset($_SESSION['company_mod']);
        echo "<script type='text/javascript'>window.location.replace='http://example.com/';</script>"; 
        exit;
    
     } else {
        echo "Error: " . $query . "<br>" . $connection->error;
     }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-20
      • 2012-12-22
      • 2019-05-11
      • 2015-02-04
      • 2019-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多