0

我有一个 PHP 页面,当您尝试删除一条记录时,它会重定向到另一个页面,而不是删除它只是刷新的记录。

order_id从上一个 PHP 页面得到...

<?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!'); }

?> 

我怎样才能解决这个问题?

4

2 回答 2

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,应该有一个解释问题的错误消息。

于 2013-03-31T15:42:58.267 回答
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;

于 2013-03-31T15:52:25.487 回答