您好我正在观看有关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 :(得分: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是什么,但我不会依赖它