这个'isset($ _ POST)'代码在做什么?

时间:2011-03-29 11:09:39

标签: php

试图了解这是什么($ _ POST)代码正在做什么

if (isset($_POST['Submit'])) {
    $title=$_POST['title'];
    $forename = $_POST['forename']; 
    $surname=$_POST['surname'];
    $dob=$_POST['dob'];
    $gender=$_POST['gender'];
    $email=$_POST['email']; 
    $phone=$_POST['phone'];
    $password=$_POST['password'];


    if (authRegister($title, $forename, $surname, $dob, $gender, $email, $phone, $password))
    {
        echo 'Thank you for registering your details, you can now login';           
    } 
    else
    {
        outputErrors();
    }

4 个答案:

答案 0 :(得分:3)

它会检查提交到此php页面的表单中是否有名称为“Submit”的字段(可能是提交按钮)。换句话说,它表明已经提交并且必须进行处理。

另外我会说,无论何时将表单发布到php页面,所有具有表单name属性的字段都在$_POST数组中表示。有两种方法可以检查数组中是否存在密钥:

$array = array('key_name' => 'value');
isset($array['key_name']);
array_key_exists('key_name', $array)
如果'key_name'中存在$array但<{1}}值为null,则

isset()也会返回false。 array_key_exists将在此键中返回true。

答案 1 :(得分:1)

isset()函数检查参数变量是否存在或“已设置”。 isset($_POST['submit'])通常用于检查表单是否已提交 在运行一些代码之前。在您的示例中,表单很可能是提交的 按钮已被命名为“提交”。如果表单按钮已命名为“小部件” 然后你会看到isset($_POST['widget'])

答案 2 :(得分:1)

$ _ POST是表单使用POST方法发送的用户参数的超级全局变量。

表达式isset($ _ POST ['Submit'])仅当'Submit'是现有参数时返回true,即如果用户使用n HTML表单发送了这样的值。它通常会测试是否已使用名为“提交”的按钮发送表单。

如果是这样,那么下一个代码就是检索同样由同一表单发送的用户参数(title,forename,srname,...)。参数保存到PHP局部变量中。代码的这一部分假定表单已发送此额外参数。然而,如果表单的发送被黑客攻击,我将省略这些参数。

答案 3 :(得分:0)

isset检查变量是否存在,它是否存在且为空。如果要检查变量是否为空,请使用empty