【问题标题】:php redirection working in chorme but not on firefoxphp重定向在chrome中工作,但在firefox上没有
【发布时间】:2015-06-22 07:28:24
【问题描述】:

下面是我的 php 执行重定向的代码

代码片段:-

     echo "<form action='exp_yogesh.php?id=$id' method='post'>";
     echo "<td> <input type='image'  name='putonline' value='$id'  src='images/on_button.png'  no-repeat; border:none;' alt='submit'>  </td> ";
     echo "<td> <input type='image'  name='putoffline' value='$id'  src='images/off_botton.png'  no-repeat; border:none;'  alt='submit'>  </td> ";
     echo "</form>";

这是exp_yogesh.php 文件

<?php
include 'includes/connection.php';
session_start();
$new_id= $_GET['id'];

if (isset($_POST['putonline'])) {
    $query = "UPDATE user SET status= '1' WHERE id= '$new_id'";
    $result = $cid-> query($query);
    if ($result== TRUE) {
        header("Refresh:0.01; url=EidtEmp.php");
        exit;
    } else {
        echo "";
    }


}

if (isset($_POST['putoffline'])) {
    $query = "UPDATE user SET status= '0' WHERE id= '$new_id'";
    $result = $cid-> query($query);
    if ($result== TRUE) {
        header("Refresh:0.01; url=EidtEmp.php");
        exit;
    } else {
        echo "not done";
    }
}
mysqli_close($cid);

?>

当我在 Google Chrome 上运行上述代码时,它可以正常工作,但在 Firefox

上运行时却不能

【问题讨论】:

  • 你的代码很危险!!!如果我单击“检查浏览器中的元素”并编辑此 HTML:
    到此:

标签: php google-chrome mozilla


【解决方案1】:

您是否尝试过使用 header('location') 函数?

示例:

<?php
if (isset($_POST['putonline'])) {
    $query = "UPDATE user SET status= '1' WHERE id= '$new_id'";
    $result = $cid-> query($query);
    if ($result== TRUE) {
        header("location:EidEmp.php");
        die();
    } else {
        echo "Failed";
    }


}

?>

已编辑:

也许用 javascript 函数改变你的 header 函数

echo "<script>window.location.replace('EidtEmp.php');</script>";

或尝试改变 if (isset($_POST['putonline']))

if ($_SERVER['REQUEST_METHOD'] == 'POST' )

因为某些浏览器在您按下回车后不会发送提交按钮

更新:如果你有两个条件试试这个

<?php
    include 'includes/connection.php';
session_start();
$new_id= $_GET['id'];

if ($_SERVER['REQUEST_METHOD'] == 'POST' ){
if (isset($_POST['putonline_x'])) {
    $query = "UPDATE user SET status= '1' WHERE id= '$new_id'";
    $result = $cid-> query($query);
    if ($result== TRUE) {
        header("Refresh:0.01; url=EidtEmp.php");
        exit;
    } else {
        echo "";
    }


}

if (isset($_POST['putoffline_x'])) {
    $query = "UPDATE user SET status= '0' WHERE id= '$new_id'";
    $result = $cid-> query($query);
    if ($result== TRUE) {
        header("Refresh:0.01; url=EidtEmp.php");
        exit;
    } else {
        echo "not done";
    }
}
}
mysqli_close($cid);
?>

【讨论】:

【解决方案2】:

替换exp_yogesh.php页面的前两行。

<?php
include 'includes/connection.php';
session_start();

<?php
ob_start();
session_start();
include 'includes/connection.php';

将标题函数更改为:

header("location:EidtEmp.php");

【讨论】:

  • 不工作的浏览器显示网址:localhost:8080/aisectfi_new/admin/exp_yogesh.php?id=2 没有别的
  • 你只需要在标题中使用'location'参数..不需要引用它。比如:header("location:EidtEmp.php");
  • header("location:EidtEmp.php");我试过这个 chrome 可以正常工作,而 mozila 不能正常工作!
【解决方案3】:

试试这个;它可能会起作用。

echo("<meta http-equiv='refresh' content='0';url=EidtEmp.php>");  

【讨论】:

猜你喜欢
  • 2017-12-08
  • 1970-01-01
  • 2016-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-13
  • 1970-01-01
  • 2018-06-14
相关资源
最近更新 更多