2016-07-06 45 views
2

您好,我正在看一篇关于OOP PHP“如何创建登录表单”的教程。我无法理解表单帖子是如何从这段代码中获得的。OOP PHP - 获取表单帖子

input.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 
} 

所以我会很高兴,如果有人能解释这是如何工作的,我怎么能指定的具体形式。喜欢这个。

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

如何说谢谢你的答案是upvote并将其标记为接受! – miken32

回答

1

功能:

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$_GET超全局数组为空。因此,假设您需要检查POST请求是否已经到达您的页面。你叫input::exists('post');这意味着第一种情况是真实的,在这部分代码会被执行:

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

此代码返回true如果$_POST空,这实际上意味着它或false有数据如果它是空的。说实话,这种说法可能更容易被写成这样:

return !empty($_POST);

的的if/else逻辑非常reduntant因为是大多数代码。要检查$_POST阵列中是否有特定值,可以使用isset

所以我们说你提交一个表单或发送一个AJAX请求和字段的一个有“富”的名称,你可以检查,如果“富”在$_POST这样的存在:

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

由于你可以看到有更简单的方法来检查是否填充了$_POST以及使用了什么值。正如我上面所说,我认为input类和exists方法reduntant代码。你可以使用这个教程只是为了了解OOP是什么,但我不会依赖于它

+0

谢谢你的出色答案! –