亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 PHP $_SESSIONS 中沒有得到任何東西

在 PHP $_SESSIONS 中沒有得到任何東西

PHP
慕絲7291255 2021-11-05 12:52:55
我一直在嘗試向我的網站添加用戶登錄系統,并且以下登錄頁面似乎工作正常(就它檢查用戶名和密碼而言,通過用戶通過):索引.php<html>        <head>        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />        <title>Login Form</title>    </head>    <body>        <form id="form1" name="form1" method="post" action="login.php">            <table width="510" border="0" align="center">                <tr>                    <td colspan="2">Login Form</td>                </tr>                <tr>                    <td>Email Address:</td>                    <td><input type="text" name="email" id="email" /></td>                </tr>                <tr>                    <td>Password</td>                    <td><input type="password" name="password" id="password" /></td>                </tr>                <tr>                    <td>&nbsp;</td>                    <td><input type="submit" name="button" id="button" value="Submit" /></td>                </tr>                <tr>                    <td colspa"2"><?php if(isset($_GET['f'])){echo("<h2>Login Failed</h2>");} ?></td>                </tr>            </table>        </form>    </body></html>登錄.php<?php    session_start();    $email = $_POST['email'];    $password = $_POST['password'];    include 'includes/db_connect.php';    $conn = new PDO($dsn, $user, $pass);    $query = "SELECT password, salt FROM member WHERE email = :email";    $result = $conn->prepare($query);    $result->bindParam(":email", $email);    $result->execute();    $number_of_rows = $result->rowCount();但是,我總是收到“您不是授權用戶...”錯誤,我試過將 avar_dump()和var_export()for$_SESSION但得到NULL并print_r沒有產生任何結果,echo 也是如此$_SESSION['email'],這表明我的$_SESSION全局為空,我session_start();在login.php 和 results.php 都開始,所以會話應該在那里并繼續。我在同一臺服務器上安裝了諸如 WordPress 之類的東西,所以很確定諸如$_SESSION在主機上運行之類的東西,而且 PHP 是 7.2,所以也應該符合要求。我忽略了什么愚蠢的錯誤?
查看完整描述

1 回答

?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

在 中results.php,您應該session_start()在任何 HTML 輸出之前的代碼頂部放置 。


<?php 

session_start();

?>

<html>

... rest of code

從文檔:


要使用基于 cookie 的會話,必須在向瀏覽器輸出任何內容之前調用 session_start()。


如果您將 error_reporting 設置為顯示 E_WARNING,您應該會看到警告“無法發送會話 cookie - 標頭已經發送...”


查看完整回答
反對 回復 2021-11-05
  • 1 回答
  • 0 關注
  • 129 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號