单击后退按钮时,不从浏览器URL检索id

时间:2014-01-22 20:53:34

标签: php mysql

我在我的代码中发现了一个问题,当我想从数据库中删除用户时,它必须删除他,删除代码的工作完美,但之后,if条件显示用户已被删除,我有在那里的后退按钮,我点击它,它应该重定向我回到教室与其他用户。教室当然是通过ID来识别的,但是当我点击Back时,它会向我显示没有班级ID的教室......所以它没有获得ID ......

// get value of id that sent from address bar 
$id_student=$_GET['id_student'];
$id_trieda = $_GET['id_triedy'];
// Delete data in mysql from row that has this id 
$zmaz='DELETE FROM $tbl_name WHERE id_student="'.$id_student.'" AND id_triedy="'.$id_trieda.'"'; 
mysqli_real_escape_string($prip, $zmaz);
$row = mysqli_query($prip,$zmaz);


// if successfully deleted

if($row){

echo "Študent bol úspešne vymazaný.";
echo "</br>";
echo "<a href='./trieda.php?id_triedy=".$_GET['id_triedy']."'>Späť do triedy<a/>";

}

else {
echo "Chyba";
}
?> 

编辑:

// get value of id that sent from address bar 
$id_student=$_GET['id_student'];

// Delete data in mysql from row that has this id 
$zmaz="DELETE FROM $tbl_name WHERE id_student='$id_student'";
$result=mysql_query($zmaz);

// if successfully deleted

if($result){
    $id_trieda = $_GET['id_triedy'];
echo "Študent bol úspešne vymazaný.";
echo "</br>";
echo "<a href='./trieda.php?id_triedy=".$id_trieda."'>Späť do triedy<a/>";

}

else {
echo "Chyba";
}

这里是编辑的代码,类似于我将一个学生添加到课程中时工作的代码,然后又有一个Back按钮,但它有效....所以问题在于删除学生,它不能找到他所在的班级的ID。我想..但我不知道如何在他被移除之前获得班级的ID ..

2 个答案:

答案 0 :(得分:1)

查看评论中链接到的页面,我看到了问题 - 您没有在zmazat链接中传递id_triedy。它写着:

http://www.xxx.xx/project/zmazat_studenta.php?id_student=15

应该在哪里阅读:

http://www.xxxx.xx/project/zmazat_studenta.php?id_student=15&id_triedy=18 (或任何相关的id_triedy)。

然后,您的问题代码中的$_GET['id_triedy']实际上可以获得一些东西。

你应该对这种事情进行检查:

if(isset($_GET['id_triedy'])){
  $id_trieda = $_GET['id_triedy'];
} else {
 echo 'No trieda ID';
}

这将检查id_triedy的网址,并告诉您它是否存在。

答案 1 :(得分:0)

triala.php是包含课堂的文件吗?如果是这样,这条线应该修改:

echo "<a href=\"./trieda.php?id_triedy=".$_GET['id_triedy']."&id_student=".$_GET['id_student']."\">Späť do triedy<a/>";

看起来你遗漏了网址

中的id_student