【发布时间】:2017-01-08 22:23:40
【问题描述】:
我展示了一组问题。
在选择其中一个问题时,我需要将答案发布在同一页面上,但问题是我没有从 url 获取 id 参数,而我正在通过 selectiong 问题。
现在,当我尝试回答所选问题时,我将需要问题的 id 来发布我已经在 url 中作为参数的特定问题的答案,例如:id=1。
这是html页面的正文部分:
<?php
include("menu/menu.php");
$sqli = "SELECT * FROM forum_question where id='$id'";
$result=mysqli_query($conn,$sqli);
?>
<form action="submit_answer.php" method="post" name="answers">
<br> <br> <br>
<?php
while($row = mysqli_fetch_array($result))
echo "Q".$row['detail'];
?>
<br>
answers:<br>
<textarea class="tinymce" name="answers"></textarea>
<input type="hidden" name="id" value="<?php echo $id;?>">
<br> <br>
<input type="submit" value="submit" name="submit">
提交页面“submit_answer.php”后,代码为:
<?php
include'config.php';
if($conn){
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$answers = $_REQUEST['answers'];
$id= $_GET ['id'];
}
$sqli= "INSERT INTO answers (answers)
VALUES ('$answers')";
if (mysqli_query( $conn,$sqli))
{
echo "New record created successfully";
header("location:answer.php?id='$id'");
} else {
echo "Error: " . $sqli . "<br>" . $conn->error;
}
}else{
}
mysqli_close($conn);
?>
基本上我对Php比较陌生,我只想知道我应该如何获取问题的ID并将其与答案内容一起提交到“submit_answer.php”。
【问题讨论】:
-
把你的html和js代码提供给
-
不幸的是,您的 SQL 查询很容易受到注入攻击。请切换到 PDO,它提供准备好的语句和绑定参数,有助于缓解安全漏洞。由于您是 php 新手,我真的建议您通读 phptherightway.com,它涵盖了您可以在旧教程中找到的常见陷阱。
-
@jedifans — mysqli(OP 已经在使用)还支持准备好的语句和绑定参数。
标签: php url parameters