-2

インデックスを定義しましたが、$_POST定義されていないというエラー メッセージが表示されます。

コードは次のとおりです。

 if (isset($_POST['submit']) AND ($_POST['userid']) AND ($_POST['firstname']) AND ($_POST['lastname']) AND ($_POST['address']) AND ($_POST['ZIP']) AND ($_POST['phonenumber']) AND ($_POST['mail']) AND ($_POST['group']))
       {
        $result = $this->sendEmail(
           $_POST['userid'], 'mail@mymail.com', 'mail@mymail.com', $_POST['firstname'], $_POST['lastname'], $_POST['address'], $_POST['ZIP'], $_POST['phonenumber'], $_POST['mail'], $_POST['group']
        );
4

4 に答える 4

1

次の場合は、内側のisset()それぞれに適用します。$_POST

if (isset($_POST['submit']) AND 
    isset($_POST['userid']) AND
    isset($_POST['firstname']) AND
    isset($_POST['lastname']) AND
    isset($_POST['address']) AND
    isset($_POST['ZIP']) AND
    isset($_POST['phonenumber']) AND
    isset($_POST['mail']) AND
    isset($_POST['group']))
{
  $result = $this->sendEmail(
    $_POST['userid'],
    'mail@mymail.com',
    'mail@mymail.com',
    $_POST['firstname'],
    $_POST['lastname'],
    $_POST['address'],
    $_POST['ZIP'],
    $_POST['phonenumber'],
    $_POST['mail'],
    $_POST['group']
);
于 2013-01-02T08:56:45.977 に答える
1

こんな使い方もできます。

if (isset($_POST['submit']) && isset($_POST['userid']) && isset($_POST['firstname']) && isset($_POST['lastname']) && isset($_POST['address']) && isset($_POST['ZIP']) && isset($_POST['phonenumber']) && isset($_POST['mail']) && isset($_POST['group']))

           {
               $result = $this->sendEmail(
               $_POST['userid'], 'mail@mymail.com', 'mail@mymail.com', $_POST['firstname'], $_POST['lastname'], $_POST['address'], $_POST['ZIP'], $_POST['phonenumber'], $_POST['mail'], $_POST['group']
            );
          }
于 2013-01-02T08:59:12.630 に答える
0

まず最初に、html 自体を確認することをお勧めします。メソッドは POST に設定されていると想定していますが、残りは動作しているため、安全のために再確認してください。次に、もう 1 つの大きな間違いは、入力で名前フィールドを入力するときに失敗したことです。HTML 上のすべての名前を調べて、スペルが正しいことを確認してください。また、すべての終了タグと開始タグ、および開始/終了の引用符があることを確認してください。

上記のすべてのものに isset() を追加することも忘れないでください。また、次のようなより良い関数を作成することもできます。

function checkSet($var){
       if(isset($var) && $var != ""){
            return $var;
       }else{
            return false;
       }
}

これは、それが空の文字列であるかどうか、および定義されているかどうかを確認します。非常に便利。必要に応じて、 return trim($var) を実行してトリミングすることもできます。

于 2013-01-02T09:59:41.423 に答える
0

あなたはこのように書くことができます-

 if (isset($_POST['submit']) AND 
        isset($_POST['userid']) AND $_POST['userid'] != "" AND 
        isset($_POST['firstname']) AND $_POST['firstname'] != "" AND 
        isset($_POST['lastname']) AND $_POST['lastname']!= "" AND 
        isset($_POST['lastname']) AND $_POST['lastname']!= "" AND 
        isset($_POST['address']) AND $_POST['address'] != "" AND 
        isset($_POST['ZIP']) AND $_POST['ZIP'] != "" AND 
        isset($_POST['phonenumber']) AND $_POST['phonenumber'] != "" AND 
        isset($_POST['mail']) AND $_POST['mail'] != "" AND 
        isset($_POST['group']) AND $_POST['group'] != "")
       {
        $result = $this->sendEmail(
           $_POST['userid'], 'mail@mymail.com', 'mail@mymail.com', $_POST['firstname'], $_POST['lastname'], $_POST['address'], $_POST['ZIP'], $_POST['phonenumber'], $_POST['mail'], $_POST['group']
        );
于 2013-01-02T08:56:48.300 に答える