duande8497 2015-10-24 21:52
浏览 28
已采纳

$ _GET值为空isset if语句

I am creating a messaging system and storing the message on to a database from a form.

<form action = "sendmsg.php" 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;
            }

My problem here is once the submit button has been selected, the $_GET['id'] value is empty. The sql query executes but $_GET['id'] is empty. I have tried various ways to get the $_GET['id'] to work like using a double if statement to check $_GET and $_POST but that didn't work anyway.

I am kinda new to php and been doing this on and off basis.

Any suggestions?

  • 写回答

1条回答 默认 最新

  • duang5049 2015-10-24 22:01
    关注

    You are sending in the data via the form but you are not sending in any URI information for the $_GET array to parse. Also I am assuming that the HTML and PHP are on separate pages if not you will have to do PHP_SELF as your action to post back to itself properly.

    You will need to add this to your form action

    ?id=<?php echo $id ?>
    

    Like so:

    <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;
            }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示