2013-11-02 3 views
-1

Мне было интересно, можно ли заставить две функции isset работать в 1 php-файле? ' , и если нет, то как объединить две функции isset в одну? Есть ли более простой способ проверить как recaptcha, так и код активации в db? много спасибо, если кто-то может направлять мне более простым способом ...isset function in php

Вот мой текущий код кода 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? или там проще сделать это ... , пожалуйста, руководствоваться мной. заранее спасибо.

+0

Объединить как? Что именно вы пытаетесь достичь и что не так с вашим нынешним подходом? –

+0

объединяйтесь, как в, используйте оба isset func в одном файле php. Я хочу проверить как captcha, так и код активации в одном php-файле, когда я нажимаю кнопку «активировать». , но теперь может работать только функция recaptcha isset func ... email и код активации isset func не .. Мне было интересно, есть ли более простой способ кода, который может подтвердить код активации зарегистрированного пользователя и recaptcha в то же время. Благодарю вас за любые рекомендации. – user2944454

ответ

2

Если вы хотите совместить два условия в условии if, просто используйте & &. Так это будет

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

еще лучше, isset() позволяет использовать несколько параметров.

BOOL Исеть (смешанный $ 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