【问题标题】:OOP PHP - GET the form postOOP PHP - 获取表单帖子
【发布时间】:2016-07-06 07:35:59
【问题描述】:

您好,我正在看一个关于 OOP PHP“如何制作登录表单”的教程。而且我无法理解表单帖子是如何从这段代码中获取的。

输入.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;
    }
  }
}

注册.php

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

所以如果有人解释它是如何工作的以及我如何将它指定为特定的表单,我会很高兴。像这样。

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

【问题讨论】:

  • 如何对回答表示感谢是点赞并标记为已接受!

标签: php forms oop post


【解决方案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;

如果$_POST为空,则此代码返回true,这实际上意味着其中有数据,如果为空,则返回false。说实话,这个语句可以更容易地写成这样:

return !empty($_POST);

if/else 逻辑和大部分代码一样非常冗余。要检查特定值是否在 $_POST 数组中,您可以使用 isset

假设您提交表单或发送 AJAX 请求并且其中一个字段的名称为“foo”,您可以像这样检查 $_POST 中是否存在“foo”:

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

如您所见,有一些更简单的方法可以检查 $_POST 是否已填充以及填充了哪些值。正如我上面所说,我考虑了input 类和exists 方法冗余代码。您可以使用本教程来学习 OOP 是什么,但我不会依赖它

【讨论】:

    猜你喜欢
    • 2012-05-10
    • 2015-02-24
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-15
    • 1970-01-01
    相关资源
    最近更新 更多