Заголовок не перенаправляет Unset Unset Unset - PullRequest
0 голосов
/ 02 июня 2018

У меня есть этот код, который отлично работает, просто у меня не получается, чтобы команда UNSET и команда header работали.

Я пытался переместить их внутри своего кода, но безуспешно.Синтаксис не может быть неправильным (я думаю), есть ли какие-либо нарушения в расположении команд?

Функция работает нормально, я получаю сообщение об успешном завершении, но перенаправления нет.Я видел в учебнике, который кто-то использует, включают "../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;
}
}

Обратите внимание, что я обещаю, что буду очищать больше переменныхкак только я заставлю эту часть кода работать.

Ответы [ 2 ]

0 голосов
/ 02 июня 2018

Можете ли вы попробовать поработать с этим кодом?:

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;
 }
}
0 голосов
/ 02 июня 2018

Вы не можете отправлять заголовки после echo ничего!Может быть, вы можете использовать этот код

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

Кроме того, я советую вам удалить сообщение об ошибке MySQL.Потому что это может быть нарушение безопасности

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...