$ _GET值为空isset if语句

时间:2015-10-24 21:52:46

标签: php mysql mysqli get

我正在创建一个消息传递系统,并将消息从表单存储到数据库中。

{{1}}

我的问题是,一旦选择了提交按钮,$ _GET [' id']值为空。执行sql查询但$ _GET [' id']为空。我已经尝试了各种方法让$ _GET [' id']像使用双if语句来检查$ _GET和$ _POST一样,但是无论如何都没有用。

我是php的新手,并且一直在这样做。

有什么建议吗?

1 个答案:

答案 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;
        }