php中的isset函数

时间:2013-11-02 13:55:27

标签: php mysql database isset

我想知道是否有可能让两个isset函数在1个php文件中工作? 如果不是如何将两个isset函数合并为一个? 有没有更简单的方法来验证db中的recaptcha和激活码? 非常感谢,如果有人能以更简单的方式指导我......

这是我目前的代码重新访问代码:

 if (isset($_POST["recaptcha_response_field"])) {
        $resp = recaptcha_check_answer ($privatekey,
                                        $_SERVER["REMOTE_ADDR"],
                                        $_POST["recaptcha_challenge_field"],
                                        $_POST["recaptcha_response_field"]);

        if ($resp->is_valid) {
                echo "Account activated";
        } else {
                # set the error code so that we can display it
                $error = $resp->error;
                echo "please try again";
        }
} echo recaptcha_get_html($publickey, $error);

我想验证注册用户激活码,所以我创建了这个:

if (isset($_GET['success']) === true && empty($_GET['success']) === true)
{
?>
    <h2> Account activated! </h2>
<?php
}
else if (isset($_GET['email'], $_GET['activation_code']) === true)
{
    $email      = trim($_GET['email']);
    $activation_code    = trim($_GET['activation_code']);

    if (emailadd_exists($email) === false)
    {
        $errors[] = 'Email address cannot be found';
    }

    else if (activate($email, $activation_code) === false)
    {
        $errors[] = 'Problem encountered activating your account';
    }

    if (empty($errors) === false)
    {
?>
    <h2> Oops </h2>
<?php
    echo output_errors($errors);
    }
    else
    {
        header('Location: index.php');
        exit();
    }
}
else
{
    echo 'error';
    exit();
}
?>
    <br/>
    <br/>
            <form action="" method="post">
        <ul>
        <li>
            Activation code:<br>
            <input name="activation_code" type="text"><br/>
            <input type="submit" value="Verify" />
        </li>
    </ul>
    </form>

如何结合两个isset功能?还是有一个更简单的做法...... 请指导我。提前谢谢。

2 个答案:

答案 0 :(得分:2)

如果要在if子句中组合两个条件,只需使用&amp;&amp ;. 所以这将是

else if (isset($_GET["email"]) && isset($_GET["activation_code"])) {

答案 1 :(得分:0)

更好的是,isset()允许多个参数。

  

bool isset(混合$ var [,混合$ ...])

您只需拨打isset()一次,效果相同:

elseif(isset($_GET["email"],$_GET["activation_code"])){
  

从手册:

$a = "test";
$b = "anothertest";

var_dump(isset($a));     // TRUE
var_dump(isset($a, $b)); // TRUE

unset ($a);

var_dump(isset($a));     // FALSE
var_dump(isset($a, $b)); // FALSE