PHP-код перестает выполнять другие функции PHP после запуска функции - PullRequest
0 голосов
/ 28 октября 2019

Так что я столкнулся с некой уникальной ситуацией, по крайней мере для меня. У меня есть функция 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(), но опять-таки он не показывает никаких результатов на странице. Что я тут не так делаю?

Заранее спасибо за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...