OOP PHP - 获取表单帖子

时间:2016-07-06 07:36:00

标签: php forms oop post

您好我正在观看有关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.
}

1 个答案:

答案 0 :(得分: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逻辑与大多数代码一样非常简洁。要检查特定值是否在$_POST数组中,您可以使用isset

因此,假设您提交表单或发送AJAX请求,其中一个字段的名称为“foo”,您可以检查$_POST中是否存在'foo',如下所示:

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

正如您所看到的,有更简单的方法可以检查是否填充了$_POST以及具有什么值。如上所述,我考虑input类和exists方法reduntant代码。您可以使用本教程来了解OOP是什么,但我不会依赖它