首页 > 解决方案 > 变量可以在 if 语句和初始父语句中使用吗

问题描述

我正在使用我的 API,您正在查看的是获取请求的基本情况,我已经调试了代码,问题是如何在上面使用的函数中获取发布数据变量,特别是 $studentnumber 并在if 语句下面的函数称为登录过程。这两个函数都在同一个类中。这是代码:)

case "login":
            if($_SESSION['user_session']->userloginstatus()) {
                $studentnumber = $_POST['studentnumber'];
                $password = $_POST['password'];
                $response = $_SESSION['user_session']->login($studentnumber, $password);
                http_response_code(206);
                if ($response == true) {
                    $_SESSION['user_session']->loginprocess($studentnumber);
                    echo $_SESSION['user_session']->loginprocess();
                    http_response_code(202);
                } else {
                    http_response_code(404);
                }
            } else {
                http_response_code(401);
            }
        break;

这是课程

class gaqsession {

        public $loginid;

        public function userloginstatus() {
                if(2 > 3) {
                    return false;
                } elseif (2 > 1) {
                    return true;
                }
        }
        public function login($studentnumber, $password) {
            $conn = dbconnection();
            try {
            $stmt = $conn->prepare("SELECT loginid, fullname, studentnumber, password, accessrights FROM login WHERE studentnumber = :studentnumber");
            $stmt->bindParam(':studentnumber', $studentnumber);
            $stmt->execute();
            $row = $stmt->fetch();
            //Php password verify
            if ($password == $row['password']) {
                return true;
            } else {
                return false;
            }
            }
            catch (PDOException $ex) {
                throw $ex;
            }
        }
        public function log() {
            $conn = dbconnection();
            try {
                $conn->beginTransaction();
                $stmt = $conn->prepare("INSERT INTO LOG(loginid, ip, browser, activity) VALUES(1, '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36', 'question')");

                //$stmt->bindValue(':question', $question);
                //$stmt->bindValue(':catagories', $catagories);
                //$stmt->bindValue(':loginid', $loginid);

                $stmt->execute();
                $conn->commit();
        
                }
                catch (PDOException $ex) {
                    $conn->rollBack();
                throw $ex;
                }
        }
        public function loginprocess($studentnumber) {
            $conn = dbconnection();
            $stmt = $conn->prepare("SELECT * FROM login WHERE studentnumber = :studentnumber");
            $stmt->bindParam(':studentnumber', $studentnumber);
            $stmt->execute();
            $results = $stmt->fetchAll();
            $loginid = ($results[0][0]);
            $this->loginid = $loginid;
            echo $this->loginid;
        }
    }

标签: phpif-statementfetch

解决方案


推荐阅读