私は、クラスを使用しているユーザーの永続セッションを作っていましたが、動作させることができないようです。永続的なPHPセッション
<?php
class Session {
private $sessionId = NULL;
public function __construct() {
session_start();
if($this->sessionId === NULL)
$this->sessionId = session_id();
return $this->sessionId;
}
public function getSessionValue($field) {
return $_SESSION[$field];
}
public function setSessionValue($field, $data) {
$_SESSION[$field] = $data;
}
public function removeSessionValue($field) {
unset($_SESSION[$field]);
}
public function destroySession() {
$this->sessionId = NULL;
session_destroy();
}
public function __toString() {
return $this->sessionId;
}
}
?>
をしかし、彼が支払いを行うことができますので、私は別のdomaninにユーザーをリダイレクトするとき、彼は戻って私のウェブサイトにだとき、彼はそのセッションを失うことが起こる:現在、私はこれを持っています。現在、私はJavaScriptを使用してリダイレクトし、このクラスからsetSessionValue('paymentid', 1)
方法でいくつかのデータを保存して、それが戻って来るとき、私は彼がセッション値を持っているかどうかを確認するために、このコードを持っている:
$session = new Session();
if($session->getSessionValue('paymentid') !== null) {
// Do something here
}
私に空paymentidを返します。奇妙なことは、時にはうまくいくということですが、それはいつもそうではありません。だからこそ何が間違っているのでしょうか?
php start a session => php「他のドメイン」がサブドメインの場合は、正しいドメイン属性でCookieが保存されていることを確認する必要があります。 domain = siteA.comのCookieはsiteB.comでは利用できません。 – Federkun
https://stackoverflow.com/questions/17242346/php-session-lost-after-redirect?rq=1 –