函数运行后,PHP代码停止执行其他php函数

时间:2019-10-28 05:53:43

标签: php function

所以至少在我看来,我遇到了一种独特的情况。我有一个PHP函数,用于检查用户是否已登录。它会更新一些数据库信息,然后基于该用户是有效的登录用户,返回true或false。我遇到的问题是,当这段代码运行时,所有其他尝试运行的PHP函数都根本无法运行。我没有任何PHP错误或其他任何内容。我很困惑。

如果我能得到一些帮助解决这个问题,将不胜感激。

因此登录检查功能如下:

  function loggedIn() {

    global $conn;

    if(isset($_COOKIE['SS_ID'])) {

        $rows = numRows("SELECT * FROM login_info WHERE login_info = '".mysqli_real_escape_string($conn, $_COOKIE['SS_ID'])."'");

        if($rows >= 1) {

            $hash = substr(str_shuffle(str_repeat("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-", 157)), 0, 157);

            $query = query("UPDATE login_info SET login_info = '$hash' WHERE login_info = '".mysqli_real_escape_string($conn,$_COOKIE['SS_ID'])."'");

            setcookie('SS_ID',$hash, $cookieTime, '/', 'domain.com');

            return true;
        }
        else {

            setcookie('SS_ID', '', false, '/', 'domain.com');

        }

    }

    return false;

  }

再次,该代码段完全没有PHP错误,并且它按预期运行。尽管当我在其后运行另一个函数时,却什么也没得到。所以这是我运行这些功能的页面。

<?php 
      // ini_set('display_startup_errors', 1);
      // ini_set('display_errors', 1);
      // error_reporting(-1);


    require './server/lib.php';

?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" type="text/css" href="https://example.com/css/global.css" />
    <link href="https://fonts.googleapis.com/css?family=Fredoka+One|Muli|Days+One|Noto+Sans+KR&display=swap" rel="stylesheet">
    <script type="text/javascript" src="https://example.com/js/jquery.js"></script>
    <script type="text/javascript" src="https://example.com/js/global.js"></script>
    <script type="text/javascript" src="https://example.com/js/main.js"></script>
    <title></title>
</head>
<body>
    <div id="wrapper">
            <div id="header">

            <div id="headerTop">
                <span class="logo">
                    <a href="https://example.com"><img src="https://example.com/images/example.png" /></a>
                </span>
            </div>

            <div id="navLinks">
                <ul>
                    <li><a href="https://example.com">Home</a></li>
                    <li><a href="https://example.com/vocabulary">Vocabulary Words</a></li>
                    <li><a href="https://example.com/quiz">Take a Quiz</a></li>
                </ul>
            </div>

            <div id="navLinksRight">
            <?php if(loggedIn() == false) { ?>
                <ul>
                    <li class="loginBtn"><a href="https://example.com/login">Log In</a></li>
                    <li><a href="https://example.com/signup">Sign Up</a></li>
                </ul>
            <?php } else { ?>
                <ul>
                    <li><a href="https://example.com/index?logout=true">Log out</a></li>
                </ul>
            <?php } ?>
            </div>
</div>


<div id="container">
            <div id="leftColumn">
                Left column here
            </div>


        <div id="rightColumn">
                right column here
        </div>
</div>
    </div>

    <?php if( user('permission') >= 3) {  ?>
        <script type="text/javascript" src="https://example.com/js/cpanel.js"></script>
    <?php } ?>

</body>
</html>

同样,该代码在if loggedIn()运行的地方按预期工作,但是当我尝试运行user('permission')时,它的运行就好像没有运行。尽管如果我将user('permission')移到loggedIn()之前,一切都会很好。我试图在loggedIn()函数之后运行一个简单的回显,但是它再次在页面上不显示任何输出。我在这里做什么错了?

预先感谢您的帮助。

0 个答案:

没有答案
相关问题