我正在尝试将ID从一个页面传递到另一个页面。我在另一页中获取该ID,并且我试图将该ID插入另一个表中。考虑到我有一个表'问题',我从这个表中获取问题ID并将其传递给另一个页面。我试图将此ID存储在下一页的另一个表'answer'中。这是代码 -
第一页 -
<?php
require('connect_db.php');
$strSQL = "SELECT * FROM question";
$rs = mysqli_query($conn,$strSQL);
while($row = mysqli_fetch_array($rs,MYSQLI_ASSOC)) {
echo "<a href='AddAnswer.php?IsEdit=1&ID=" .$row['qu_title']. "'><h3 style='font-family: Georgia;margin-left: 3.8%'>".$row['qu_title']."</h3></a>";
echo "<h5 style='font-family: Georgia;margin-left: 3.8%'>".$row['qu_text']."</h5>";
echo "<hr>";
}
mysqli_close($conn);
?>
第二页 -
<?php
session_start();
require('connect_db.php');
if (isset($_SESSION['email']) and $_SESSION['loggedin'] == "true") {
global $id;
$id = ($_GET['ID']);
//echo $id;
if (isset($_POST['answer']))
{
$answer=$_POST['answer'];
mysqli_query($conn,"INSERT INTO answer(qu_id,ans_text)VALUES
('$id','$answer')");
header("location:Main.php?msg=success");
mysqli_close($conn);
}
}
else {
header("location:Login.php?msg=try");
}
?>
但是插入此ID似乎存在问题。有人能解决这个问题吗?
答案 0 :(得分:1)
您将值从第一页传递到第二页作为get方法。但在第二页中,您使用$ _POST ['ID']来插入值。您可以使用$ _GET ['ID']或$ _REQUEST ['ID']
答案 1 :(得分:0)
您不能在相同的代码块中使用POST和GET。假设form / php脚本也以GET格式返回值,在这种情况下,您应首先获取ID并将答案和ID发布到第二页。或通过get方法传递答案和ID。但是,如果表单/ php脚本返回POST数据并且URL具有其他编码的GET数据,则可以同时使用GET和POST。
答案 2 :(得分:0)
您的第一页有此
echo "<a href='AddAnswer.php?IsEdit=1&ID=" .$row['qu_title']. "'><h3 style='font-family: Georgia;margin-left: 3.8%'>".$row['qu_title']."</h3></a>";
这将产生如下链接:
AddAnswer.php?IsEdit=1&ID=<qu_title>
如果用户点击该链接以显示第二页,则不会有可用的POST变量(没有任何内容被发布),并且值IsEdit
和ID
可用于GET。
在第二页中,您尝试获取名为answer
的POST变量:
if (isset($_POST['answer']))
但这从未设定过。
我建议您阅读有关POST和GET的内容,然后将第二页中对$_POST
的引用更改为$_GET
,并确保为answer
设置值第一页中链接的HREF,例如:
echo "<a href='AddAnswer.php?IsEdit=1&ID=" .$row['qu_title']. "&answer=$answer'><h3 style='font-family: Georgia;margin-left: 3.8%'>".$row['qu_title']."</h3></a>";