PHP:尝试获取HTML文本框的内容

时间:2013-10-10 22:28:10

标签: php html xampp

我正在尝试获取文本框的内容,如果是某个文本,我希望它显示一条消息。我不断收到错误。

    <html>
        <head>
            <title>Name Tester</title>
        </head>
        <body>
            <h1>Name Tester!</h1><br>
            <p>Type your first and last name in the name box and see results!</p>
            <p>EX: Name: John Smith</p>
            <FORM NAME ="form1" METHOD ="post">
                Name: <input type="text" name="firstlastname" value="firstlastname"></input>
                <input type="submit" name="submit" value="Submit"></input>
            </form>
            <?PHP
            $firstlastname = $_POST['firstlastname'];
            if($firstlastname == "John Smith"){
                echo "John Smith is the most used name ever. Just letting you know.";
            }
            elseif($firstlastname == "First Last"){
                echo "That isnt much of a name, whats your REAL name?";
            }
            ?>
        </body>
    </html> 

我在localhost/index.php上遇到的错误是:

Notice: Undefined index: firstlastname in C:\xampp\htdocs\index.php on line 15

HTML仍然显示并且php仍然有效,但我得到了这个相当烦人的错误。我想从我的网站上删除。

2 个答案:

答案 0 :(得分:0)

如果您尝试访问尚未设置的变量,则会出现此错误。在这种情况下,&#34; firstlastname&#34;你的$ _POST中没有设置或未定义(因为提交表单时可能为空)。

您可以关闭PHP通知(error_reporting(E_ERROR | E_WARNING | E_PARSE);) - http://php.net/manual/en/function.error-reporting.php

或者您也可以检查&#34; firstlastname&#34;在尝试访问index.php文件的第15行之前,已使用isset($ _ POST [&#39; firstlastname&#39;])进行设置。

答案 1 :(得分:0)

您应该使用if语句将代码包装在PHP块中,检查按钮是否已被按下。在你向那里发布内容之前,你不会在你的帖子数组中有任何东西(通过提交表单)。