iT邦幫忙

0

session [ 'v'] 語法問題

php

不好意思 請問各位大大 有人知道 session['v'] 這個語法是甚麼意思嗎?

上網爬文都不大清楚 麻煩大大了~

James iT邦大師 7 級 ‧ 2018-02-09 14:16:19 檢舉
有上課嗎?自學的話書或教學文件先看一遍,建立基本概念。
好的

2 個回答

0
ccutmis
iT邦研究生 5 級 ‧ 2018-02-09 16:12:44
最佳解答

簡單舉個例子給您參考

login.php

<?php
$isError=false;
if(isset($_POST['tryLogin'])&&$_POST['tryLogin']==='Y'&&isset($_POST['username'])&&isset($_POST['password'])){
	if($_POST['username']=='admin'&&$_POST['password']=='admin'){
			session_start();
			$_SESSION['v'] = 'Y';
			$_SESSION['loginUser'] = $_POST['username'];
			header('Location:main.php');
	}else{
		$isError=true;
	}	
}
?>
<html><head><title>userLogin test</title></head><body>
<h1>userLogin test<h1>
<?php if($isError==true){?><p>帳號或密碼錯誤</p><?php } ?>
<form method="post" name="loginform">
<input type="input" name="username" value="" placeholder="username: admin" />
<input type="input" name="password" value="" placeholder="password: admin"/>
<input type="hidden" name="tryLogin" value="Y" />
<input type="submit" name="loginBtn" value="submit" />
</form>
</body></html>

main.php

<?php
session_start();
if($_SESSION['v'] != 'Y'){
	header('Location:login.php');
}
?>
<html><head><title>Concole test</title></head><body>
<h1>Concole test<h1>
<p>看到這個內容表示你是用帳號密碼登入後台的使用者</p>
</body></html>

簡單來說 程式執行時判斷session變數v是否為'Y',是的話就是正常登入的使用者,不是的話就把頁面重導到登入頁,這個是蠻基本的概念,樓主是在校生自學嗎?

感謝感謝

0
牙膏大師
iT邦新手 5 級 ‧ 2018-02-09 14:17:53

$_SESSION 是一個陣列,
裡面包含了所有屬於某個「正在瀏覽網站的使用者」的資料。

在有 session_start() 的頁面,
php 會透過 cookie 讓瀏覽器儲存一筆 key。
並在下次進到有 session_start() 的頁面時,
瀏覽器會把這個 key 一併傳給伺服器,
讓伺服器有辦法辨識使用者,並以此儲存/取得資料。

因為資料是儲存在伺服器上,瀏覽器無法存取 session 的資料
而且不同使用者的資料以 key 區隔,所以使用者間的資料彼此是獨立的

下面的語法可以儲存資料到 session 裡:

<?php

$_SESSION['user_id'] = 12345678;

下面的語法可以從 session 取得資料:

<?php

$id = $_SESSION['user_id']

以及從 session 中刪除資料:

<?php

unset($_SESSION['user_id']);
看更多先前的回應...收起先前的回應...

大大我不懂的是 ['V'] 這個是否代表甚麼意思呢?

感謝您的回文

V跟user_id一樣都是資料的鍵

妳好 但是我在我的程式碼中 沒找到其他 跟 session['v] 有關的

weiclin iT邦高手 4 級 ‧ 2018-02-09 15:36:18 檢舉

文章裡的 login 頁面有用到啊

感恩大大\

wolfwang iT邦新手 4 級 ‧ 2018-02-09 16:14:57 檢舉

http://php.net/manual/en/function.mysql-query.php

mysql_query 在PHP 5.5已經是廢棄語法了,PHP 7以後已經移除了,你要不要找好一點的學習資源?這樣學出來的 PHP 的安全性恐怕很危險。

幾乎可以說,如果不是用 PDO 來存取資料庫的,你就可以不用看了。

ccutmis iT邦研究生 5 級 ‧ 2018-02-09 16:19:54 檢舉

認同wolfwan君說的

請問大大們有推薦的 學習資源嗎??

感謝!!

我要發表回答

立即登入回答