2016-07-06 14 views
2

こんにちはOOP PHPのチュートリアル "ログインフォームの作成方法"を見ています。フォームの投稿がこのコードからどのように得られたのか理解できません。誰かが仕事とどのようにiは、特定のフォームにそれを指定することができない方法を説明している場合OOP PHP - フォームポストを取得

class input 
{ 
    public static function exists($type = 'post') 
    { 
    switch ($type) 
    { 
     case 'post': 
      return (!empty($_POST)) ? true : false; 
     break; 
     case 'get': 
      return (!empty($_GET)) ? true : false; 
     break; 
     default: 
      return false; 
     break; 
    } 
    } 
} 

register.php

if (input::exists()) 
{ 
    //the submit button was clicked 
} 

input.php

だから私は幸せになります。このような。

if ($_POST['specific submit name']) 
{ 
    // the specific submit button was clicked. 
} 
+0

How to say答えはありがとうございますupvoteし、受け入れてマーク! – miken32

答えて

1

この関数:$_POST又は$_GETスーパーグローバル配列が空の場合

public static function exists($type = 'post') 
    { 
    switch ($type) 
    { 
     case 'post': 
      return (!empty($_POST)) ? true : false; 
     break; 
     case 'get': 
      return (!empty($_GET)) ? true : false; 
     break; 
     default: 
      return false; 
     break; 
    } 
    } 

チェックします。つまり、POSTリクエストがページに到達したかどうかを確認する必要があるとします。あなたは最初のケースがtrueで、このコードの一部が実行されることを意味しinput::exists('post');呼び出す:

return (!empty($_POST)) ? true : false;

このコードは返しtrueある$_POST場合事実上のデータはそれかfalseにあります意味し、空ではないそれが空の場合。/elseロジックは、そのコードのほとんどであるとしてかなりreduntantある場合

return !empty($_POST);

ザ・:真実は、この文は、より簡単にこのように書くことができ、言われます。特定の値が$_POST配列にあるかどうかを確認するには、issetを使用できます。

if(isset($_POST['foo']) 
{ 
    //do something with foo 
} 

として:

それでは、あなたは「fooは」は、このような$_POSTに存在する場合、あなたは確認することができ、フォームを送信したりAJAX要求を送信し、フィールドの一つが「foo」での名前を持っているとしましょう$_POSTに値が設定されているかどうか、またどのような値が設定されているかを確認する簡単な方法があります。上で述べたように、私はinputクラスとexistsメソッドreduntantコードを考えます。あなたはOOPが何であるかを学ぶためだけにこのチュートリアルを使うことができますが、私はそれに頼ることはありません

+0

あなたの優れた答えをありがとう! –