PHP Form变量声明错误


PHP Form variable declaration error

我只是在页面顶部尝试一些php来处理一些表单数据。它似乎希望我声明变量,即使它不存在,因为它将在提交表单时传递。

我收到以下错误注意:未定义的索引:第3行上的mysubmit in/home/grsim/public_html/age1.php

   <?php
    $problem='';
       if($_POST['mysubmit']=="Submit Form"){
           if($_POST['age']==''){
               $problem="The form is blank";
       } else {
          // do something
          $myage = $_POST['age'];
          if($myage < 21){
              echo "you are a bit young for this";
          } else {
             echo "you are old enough";
          }
      }}

任何帮助都将不胜感激,因为我在使用之前不必声明变量。我正在使用一个名为mysubmit的按钮。

只需将if行更改为

if(isset($_POST['mysubmit']) && $_POST['mysubmit']=="Submit Form"){

在第一次运行时,尚未设置变量mysubmit。所以你有这个信息。

试试这个代码来解决问题:

  $problem='';
  $my_submit = isset($_POST['mysubmit']) ? $_POST['mysubmit'] : false;
  $myage = isset($_POST['age']) ? $_POST['age'] : false; 
   if($my_submit == "Submit Form"){
       if(empty($myage){
           $problem="The form is blank";
   } else {
      // do something
      if($myage < 21){
          echo "you are a bit young for this";
      } else {
         echo "you are old enough";
      }
  }}

当您在$_POST中放置的索引不存在时,一些服务器被设置为它给出未定义索引错误的位置。if(isset($_POST['index']) && $_POST['index']=='whatever') { ... }:也是如此

   <?php
    $problem='';
       if(isset($_POST['mysubmit']) && $_POST['mysubmit']=="Submit Form"){
           if(isset($_POST['age']) && $_POST['age']==''){
               $problem="The form is blank";
       } else {
          // do something
          if(isset($_POST['age']) && $_POST['age'] < 21) { 
                echo "you are a bit young for this";
          } else {
             echo "you are old enough";
          }
      }}

这可以在服务器的设置中进行配置。它可以设置为提供空字符串,而不是抛出此错误。