[英]How do I share PHP session between regular PHP/HTML pages and an angular page?
[英]How do I share a PHP variable between multiple pages?
想法/目標:
我的計算機上的文本文件中有用戶名和密碼。 索引頁面上的表單允許用戶使用他們的用戶名和密碼登錄。 登錄頁面是 PHP 用來驗證用戶輸入的信息與我在本地文本文件中的信息的地方。 在用戶輸入的信息與我的文本文件信息匹配后,用戶被直接重定向到主頁,在那里顯示他們的姓名和歡迎消息。
問題:
在驗證工作之前的一切。 問題是當我將用戶重定向到 Home.php 時,我無法顯示他們的用戶名。 所有驗證后我將如何顯示他們的用戶名? 無論如何,我可以將他們的用戶名永久存儲在一個可以在我的所有頁面上訪問的變量中嗎?
使用$_SESSION
-!
session_start();
$_SESSION['username'] = $_POST['username'];
您當然想過濾/清理/驗證您的 $_POST 數據,但這超出了本問題的范圍......
只要你調用session_start();
在使用$_SESSION
之前 - $_SESSION
數組中的值將跨頁面持續存在,直到用戶關閉瀏覽器。
如果您想在此之前結束會話,例如在注銷按鈕中 --- 使用session_destroy()
您可以啟動會話並將表單值放入 $_SESSION 變量中,該變量將在所有頁面上可用。
// On the page where your form is submitted:
session_start();
$_SESSION['name'] = $_POST['name'];
// On the page where the user is redirected:
session_start();
echo $_SESSION['name'];
請注意,實際上您可能也希望包含一些表單驗證!
我同意@Clément Malet 和@Hammerstein。 會話和/或 cookie。
<?php
// always need this
session_start();
// set the value
$_SESSION['username'] = 'Person';
?>
<?php
//get session data
echo $_SESSION['username'];
// output: Person
?>
在打開 php 標簽后立即在每個頁面上啟動一個 php 會話:
session_start();
在確定名稱和密碼有效后,在進行重定向之前,添加以下行:
$_SESSION['name'] = $name;
在任何后續頁面上,只需回顯如下內容:
echo "Welcome ".$_SESSION['name'];
使用會話變量
放:
session_start();
$_SESSION['username'] = "user1";
得到:
session_start();
$username = $_SESSION['username'];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.