如何在我的代码中正确使用isset?

时间:2019-09-24 07:16:37

标签: php sql

我有一个只有高级用户才能访问的网站,并且我有此代码

<?php
    include_once('connectdb.php');
    $account = $_SESSION["username"];
    $sql = "SELECT acct_type FROM hash WHERE email = '$account'";
    $result = $conn->query($sql);
    $result = $conn->query($sql);

    if ($result->num_rows > 0){
        while($row = $result->fetch_assoc()){
            if ($row['acct_type'] == 'Paid'){
                echo"Not for free users";
                echo'<br>';
                exit();
            }
        }
    }

?>

如何在此处使用isset来阻止所有免费用户,而只授予对付费用户的访问权限? PS:我不能将FREE放在这里,因为我为用户提供了多种类型的帐户。

我已经尝试过

if (!isset($row['acct_type'] == 'Paid'))

但这不起作用。

2 个答案:

答案 0 :(得分:1)

您不需要def verify_signature(params) saml_request = URI.decode(params[:SAMLRequest]) relay_state_string = URI.decode(params[:RelayState]) signature = URI.decode(params[:Signature]) sign_alg = URI.decode(params[:SigAlg]) query_params,sig_params={},{} query_params[:type] = "SAMLRequest" query_params[:data] = saml_request query_params[:relay_state] = relay_state_string query_params[:sig_alg] = sign_alg query = OneLogin::RubySaml::Utils.build_query(query_params) sig_params[:cert] = getPublicKeyFromCertificate sig_params[:sig_alg] = sign_alg sig_params[:signature] = signature sig_params[:query_string] = query OneLogin::RubySaml::Utils.verify_signature(sig_params) end ,如果isset,那么可以保证$result->num_rows > 0被设置。您需要检查的是该用户的帐户类型为$row['acct_type']。如果未找到任何行,也需要退出(也许用户未登录,因此未设置Paid):

$_SESSION['username']

答案 1 :(得分:0)

对于将要寻求同样帮助的人

isset用于检查它是否存在并且不为空。

 if(isset($variable) && $variable == 'other'){
    // do code
 }