我正在尝试获取文本框的内容,如果是某个文本,我希望它显示一条消息。我不断收到错误。
<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仍然有效,但我得到了这个相当烦人的错误。我想从我的网站上删除。
答案 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块中,检查按钮是否已被按下。在你向那里发布内容之前,你不会在你的帖子数组中有任何东西(通过提交表单)。