在 html 中提交表单时收到通知消息


got Notice message when submit form in html

<html>
<body>
  <form action="" method="GET">
  Name: <input type="text" name="name" />
  Age: <input type="text" name="age" />
  <input type="submit" />
  </form> 
</body>
</html>
<?php
  if( $_GET["name"] || $_GET["age"] )
  {
     echo "Welcome ". $_GET['name']. "<br />";
     echo "You are ". $_GET['age']. " years old.";
  }
?>

问题:

当我在浏览器中打开上面的脚本时,它显示:注意:Undefined index: name in D:'wamp'www'oop'test3.php on line 13, 我知道是不是因为表格尚未提交,所以$_GET["name"]不存在,但是如何解决这个问题?

只需设置提交按钮的名称,并使用isset()检查表单是否已提交。

<html>
    <body>
      <form action="" method="GET">
          Name: <input type="text" name="name" />
          Age: <input type="text" name="age" />
          <input type="submit" name="submit" />
      </form> 
    </body>
</html>
<?php
    if( isset($_GET['submit']) )
    {
        echo "Welcome ". $_GET['name']. "<br />";
        echo "You are ". $_GET['age']. " years old.";
    }
?>
下面的示例

将检查两个字段是否都已填充。

如果一个或另一个未填充,则会出现一条错误消息。

如果两者都已填充,则用户将看到:

欢迎鲍勃//假设此人的名字是字段中的"鲍勃"。
你今年30岁。假设此人在字段中输入"30"。

否则,它将回显:

填写所有字段。

下面是以下示例:

<html>
    <body>
      <form action="" method="GET">
          Name: <input type="text" name="name" />
          Age: <input type="text" name="age" />
          <input type="submit" name="submit" />
      </form> 
    </body>
</html>
<?php

if($_GET['name'] && $_GET['age'])
    {
        echo "Welcome ". $_GET['name']. "<br />";
        echo "You are ". $_GET['age']. " years old.";
    }
if(!$_GET['name'] || !$_GET['age'])
    {
        echo "Fill in all fields";
    }
?>

我使用了&&||逻辑运算符进行验证。

有关更多信息,请参阅 PHP 手册:http://php.net/manual/en/language.operators.logical.php

您可以测试您的特定_GET变量是否存在。例如:

<?php
if ( isset ( $_GET["name"] ) ) {
    echo "Welcome ". $_GET['name']. "<br />";          
}
?>

尝试:

<form action="" method="GET">
Name: <input type="text" name="name" id="name" />
Age: <input type="text" name="age" id="age" />
<input type="submit" />
</form>