doumeng3345 2017-02-12 19:41
浏览 68
已采纳

php - 注意:表单上的未定义索引[重复]

I'm trying to create a form using html and php and I get these error messages. Everything are in one php file. I can find anything that is wrong with my code.

Notice: Undefined index: number in C:\xampp\htdocs\sms\textmessage.php on line 41
Notice: Undefined index: sender in C:\xampp\htdocs\sms\textmessage.php on line 42
Notice: Undefined index: message in C:\xampp\htdocs\sms\textmessage.php on line 43
Notice: Undefined index: send in C:\xampp\htdocs\sms\textmessage.php on line 51

Form code:-

<form method="POST">

    <div class="form-group">
        <label for="number">Receiver's Number</label>
        <input type="tel" name="number" class="form-control" placeholder="Mobile Number" value="<?php echo $number; ?>" />
    </div>

    <div class="form-group">
        <label for="sender">Sender</label>
        <input type="text" name="sender" class="form-control" placeholder="Sender's Name" value="<?php echo $from; ?>">
    </div>

    <div class="form-group">
        <label for="message">Message</label>
        <textarea class="form-control" name="message" placeholder="Enter your message here" value="<?php echo $message; ?>"></textarea>
    </div>

        <input type="submit" class="btn btn-success btn-lg" id="submitbtn" value="Send" name="send"/>
    <input type="hidden" name="submitted" value="true">

</form>

php code where I get the error:-

//Get form data
        $number = $_POST['number']; //Line 41
        $from = $_POST['sender']; //Line 42
        $message = $_POST['message']; //Line 43
        $message = urlencode($message); //Test that the message is encoded correctly. Php will use urlencode the message

        if ($_POST['send']) //Line 51
        {
            //Validating if the fields are empty
            if ($number)
            {
                $error.="<br />Please enter the receiver's number!";
            }
            if ($from)
            {
                $error.="<br />Please enter the Sender's name!";
            }
            if ($message)
            {
                $error.="<br />Please enter the text message you want to send!";
            }  

Is anything wrong?

</div>
  • 写回答

2条回答 默认 最新

  • douba4275 2017-02-12 19:51
    关注

    When you are running this PHP application for first time there is nothing in $_POST[] that is why it gives an error like this.(Because we have to submit the form to have values in $_POST[] array) you have to define it like this with isset() function

    if(isset($_POST['send'])){
    
        $number = $_POST['number']; //Line 41
        $from = $_POST['sender']; //Line 42
        $message = $_POST['message']; //Line 43
        $message = urlencode($message);
    
                //Validating if the fields are empty
                if ($number)
                {
                    $error.="<br />Please enter the receiver's number!";
                }
                if ($from)
                {
                    $error.="<br />Please enter the Sender's name!";
                }
                if ($message)
                {
                    $error.="<br />Please enter the text message you want to send!";
                }  
    }
    

    Happy Coding :)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵