iT邦幫忙

1

使用者登入後不改變 session id

LoginWrite()是產生session id
DemoLoginButton()是登入按鈕
兩者的function alert()出來都是一樣的session id
登入後會跳到main.html
這時在main.html裡,floag會讀不到先前產生的session id
要怎麼讓 session id 繼續延用呢?
是不是session id跳頁就失效了?

function LoginWrite()
{
  UserId = LoginAction("php /app/Web/cgi-bin/sessionID.php", "idAction.php");
  alert(UserId);
  return UserId;
}
function DemoLoginButton()
{
	var floag = LoginWrite();
	alert(floag);

doing....

location.href = "./Web server/main.html";

}

後端: sessionID.php

session_start();
$sessionID = session_id();
echo $sessionID;
session_destroy();

後端: idAction.php

$submitString = $_GET['submitString'];

$Action = $_GET['Action'];

if($Action == "TransmissionStart")
{

$print = shell_exec(urldecode($submitString));
echo $print;
}
內文重新更正:
LoginWrite()是產生session id
DemoLoginButton()是登入按鈕
兩者的function alert()出來都是一樣的session id
登入後會跳到main.html
這時在main.html裡,floag會讀不到先前產生的session id
要怎麼讓 session id 繼續延用呢?
是不是session id跳頁就失效了?
weiclin iT邦高手 4 級 ‧ 2016-11-11 16:43:36 檢舉
想要 session id, 直接去 cookie 找不就好了...

1 個回答

2
海綿寶寶
iT邦超人 1 級 ‧ 2016-11-11 16:26:28
最佳解答

你不覺得這列有點怪嗎?

session_destroy();
看更多先前的回應...收起先前的回應...

海綿大大:
session_destroy();
加這行是為了刪掉/tmp裡的sess_檔

其實只是要取得session id產生出來的id,用變數去接,然後再新建一個新資料夾,丟id變數給他命名

應該不會影響吧>.<,只想要id名字

weiclin iT邦高手 4 級 ‧ 2016-11-11 16:46:22 檢舉

你都 destroy 了當然就刪掉了啊..刪掉以後又呼叫 session start 那就給你一個新的嘛..

fillano iT邦超人 1 級 ‧ 2016-11-11 17:36:08 檢舉

idAction.php這隻程式好恐怖,意圖使人想丟sudo rm -rf /進去...

weiclin iT邦高手 4 級 ‧ 2016-11-11 22:00:30 檢舉

費大, 我們兩個之前都勸過他不要這樣寫了..

建議直接抓系統值Session_id就好
不必什麼 start, destroy 的
也不必指定到變數去

TO海綿大大:
是說不用加session_start();可取得id嗎?
我直接寫session_id();會無法抓到id

session_start(); 要加 且要放在最前面 不然會無法用session的變數

我要發表回答

立即登入回答