[英]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.