簡體   English   中英

從其他頁面返回時在PHP中使用Session

[英]Usage of Session in PHP when coming back from some other page

我有一個登錄頁面,用戶必須在其中提供他/她的憑據,然后登錄到名為dashboard.php的頁面。

現在在此頁面上完成憑據驗證。我使用$ _POST傳遞變量。 如果用戶憑據不正確,則將其帶回index.php 否則,頁面中將填充來自數據庫的用戶數據。

現在的問題是,當用戶從任何其他頁面(而不是index.php )取消dashboard.php時 ,如何獲取相同的憑據以顯示與用戶相關的內容? 我嘗試通過將憑據保存在會話變量中來使用會話變量,但仍無法正常工作。

我添加了完成的示例代碼:

index.php

<html>
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <form action="dashboard.php" method="post">
        <input type="text" name="txt">
        <input type="submit">
    </form>
</body>

這行進了dashboard.php,它是:

<?php
    session_start();
   if(isset($_SESSION['LOG_IN'])!=1)
{

    $xt = $_POST['txt'];
    $_SESSION['LOG_IN']=1;

}

?>

<html>
    <head>

    </head>
    <body>
        <p> HI </p>
        <a href="3.php"><?php $xt ?>Link of 3.php</a>

    </body>
</html>

現在,當我轉到名為3.php的頁面並按返回按鈕時。 我得到表單重新提交頁面。

要使SESSION在每個頁面上都能工作,必須使用session_start(); 在頁面頂部的每個頁面上。

然后,您可以使用print_r($_SESSION);輕松訪問會話print_r($_SESSION);

您應該參考PHP會話文檔以獲取更多信息。

您應該使用session_start(); 在頁面頂部。 看到您的問題,我已經更新了。

首先啟動session_start(); 並傳遞其值$_SESSION['var_name']; 在其他(儀表板)頁面上檢查$_SESSION['var_name']是否已設置?

你可以檢查這個演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM