我有一个PHP页面,当您尝试删除记录时,它会重定向到另一个页面, 但不是删除它只是刷新的记录。
我从前一个PHP页面获得order_id
...
<?php
session_start();
include("confing/db.php");
include("confing/funtion.php");
require_once('stas/config.php');
if(isset($_SESSION['idart23'])){
$idses = ($_SESSION['idart23']);
$uesrnameses = ($_SESSION['username']);
$passwordses = ($_SESSION['password']);
$query = mysql_query("SELECT * FROM `admins` WHERE username='".$uesrnameses."' AND id='".$idses."'");
if($rowadmin = mysql_fetch_array($query)) {
}else{
die(header("Location: login.php"));
}
}else{
die(header("Location: login.php"));
}
$order_id=$_GET['ID'];
header("Location: orders.php");
if (isset($order_id)) {
$query = mysql_query("DELETE FROM `orders` WHERE `ID`='$order_id' ");
$time = date("d/m/Y , h:i:s");
$act = "מחיקת עמוד";
$nameadmin = $rowadmin['firstname'];
mysql_query("INSERT INTO `logs` ( `time` , `act` , `admin`) VALUES ('$time' , '$act' , '$nameadmin') ;") or die ("$error[errorcoontodb]");
}else{ exit('\$order_id isnt set!'); }
?>
我该如何解决这个问题?
答案 0 :(得分:2)
请注意第二行的重定向?
$order_id=$_GET['ID'];
header("Location: orders.php");
if (isset($order_id)) {
$query = mysql_query("DELETE FROM `orders` WHERE `ID`='$order_id' ");
$time = date("d/m/Y , h:i:s");
$act = "מחיקת עמוד";
$nameadmin = $rowadmin['firstname'];
mysql_query("INSERT INTO `logs` ( `time` , `act` , `admin`) VALUES ('$time' , '$act' , '$nameadmin') ;") or die ("$error[errorcoontodb]");
}else{ exit('\$order_id isnt set!'); }
您重定向到orders.php
而不是留在当前页面上。但是,由于您不会exit
脚本的其余部分仍然运行,因此如果设置了$_GET['ID']
,则应插入记录。但是,如果您说记录不是插入,那么$_GET['ID']
可能不会设置,这样您就会得到输出$order_id isnt set!
- 除非您在此之前重定向,否则您永远不会看到它(如果查询失败,情况也是如此)。
删除header
,并且应该出现一条解释问题的错误消息。
答案 1 :(得分:0)
$order_id=$_GET['ID'];
header("Location: orders.php");
if (isset($order_id)) {
$query = mysql_query("DELETE FROM `orders` WHERE `ID`='$order_id' ");
$time = date("d/m/Y , h:i:s");
$act = "מחיקת עמוד";
$nameadmin = $rowadmin['firstname'];
mysql_query("INSERT INTO `logs` ( `time` , `act` , `admin`) VALUES ('$time' , '$act' , '$nameadmin') ;") or die ("$error[errorcoontodb]");
}
请评论专栏header("Location: orders.php");
调试任何错误消息的代码。
请在执行查询后放置header("Location: orders.php");
,推荐练习将在重定向后退出代码。 header("Location: orders.php"); exit;