通过PHP和MySQL

时间:2015-06-15 09:33:15

标签: php mysql database session

我正在尝试将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似乎存在问题。有人能解决这个问题吗?

3 个答案:

答案 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变量(没有任何内容被发布),并且值IsEditID可用于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>";