2011-03-29 110 views
0

试图了解这个isset($ _ 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

http://php.net/manual/en/function.isset.php – fabrik 2011-03-29 11:11:11

回答

3

它检查是否存在与名称的字段“提交”,提交给本PHP页面的形式(可能提交按钮)。换句话说,它表明已经提交并且必须处理。

另外我会说,每当你发布表单到一个php页面,所有具有该表单名称属性的字段都被表示在$_POST数组中。有2种方式来检查键阵列中的存在:

$array = array('key_name' => 'value'); 
isset($array['key_name']); 
array_key_exists('key_name', $array) 

isset()函数是否存在在$array'key_name',但其值也null返回false。 array_key_exists将在此键中返回true。

+0

实际上并不是一个字段,而是名为Submit – AntonioCS 2011-03-29 11:27:40

+0

的数组中的一个键。我的答案是特定于此代码。我会更加清楚 – NickSoft 2011-03-29 14:45:48

0

isset检查变量是否存在,它可以存在并为空。如果你想检查变量是否为空,则使用empty

1

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

1

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

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

如果是这样,那么下一个代码正在检索同样形式(标题,名字,srname,...)发送的用户参数。参数保存到PHP局部变量中。这部分代码假定这个额外的参数已经被表单发送。不过,如果表单的发送被黑掉,这些参数可能会被忽略。