我正在创建一个消息传递系统,并将消息从表单存储到数据库中。
{{1}}
我的问题是,一旦选择了提交按钮,$ _GET [' id']值为空。执行sql查询但$ _GET [' id']为空。我已经尝试了各种方法让$ _GET [' id']像使用双if语句来检查$ _GET和$ _POST一样,但是无论如何都没有用。
我是php的新手,并且一直在这样做。
有什么建议吗?
答案 0 :(得分:0)
您正在通过表单发送数据,但您没有发送要解析的$ _GET数组的任何URI信息。另外我假设HTML和PHP在不同的页面上,否则你将不得不做PHP_SELF作为你回复自己的行动。
您需要将此添加到表单操作
?id=<?php echo $id ?>
像这样:
<form action = "sendmsg.php?id=<?php echo $id ?>" method="POST">
<input type="text" placeholder="Enter subject" name="subject"><br/><br/>
<textarea style="height:300px;width:450px;" maxlength="50" placeholder="Enter Message" name="message"></textarea><br/><br/>
<input type="submit" name="submitmsg" value="Send Message"/>
<?php
require("dbcon.php");
if(isset($_POST['submitmsg'])){
$to = $_GET['id'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$sql = "INSERT INTO msg VALUES ('','$to','NOW()','$subject','$message')";
$send = mysqli_query($con, $sql);
echo "Done";
echo $to;
}