cURL を使用してサイトにログインしています。[編集: Cookie を設定し、トークンを生成します。私は彼らのトークンをつかみます。それを使っていくつかの計算を行い、ログインします。そのため、セッションを開いたままにしておくことが重要です。] 別のファイルをロードするファイルがあります。ここにPHPがあります:
file1.php
<?php
session_start();
$_SESSION['var'] = $var;
header("Location: file2.php");
?>
file2.php
<?php
session_start();
$var = $_SESSION['var'];
?>
それは機能しますが、Javascript を使用していくつかの計算を行う必要があり、GET を使用してこれらの変数を file2.php に渡します (セッション変数である変数が 1 つあります)。そう:
file1.php
<?php
session_start();
$_SESSION['var'] = $var;
?>
<script type="text/javascript">
var var1 = 'car';
window.location = "file2.php?var1=" + var1;
</script>
file2.php
<?php
session_start();
$var1= $_GET['var1'];
$var2 = $_SESSION['var'];
?>
PHPSESSID に格納されているものに( を使用して) Cookie
を使用して設定しようとwindow.location.href
する代わりに、試してみました (他の変数 - JSESSIONID と- は両方とも NULL でした)。文字列全体に設定してみました。window.location
document.cookie
setcookie("PHPSESSID", [string]
session_id
私は試した
session_name('login_session');
session_set_cookie_params(0, '/');
session_start();
ここで見つけたもの: https://stackoverflow.com/a/5438521。両方のページのスクリプトの開始時。
file1.phpsession_write_close();
の php スクリプトの最後にも試しました。
アップデート。私は読んでいて、Ajax/jqueryを使えばうまくいくかもしれないと思っていました。私は試した:
file1.php
<html><head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
</script>
</head></html>
<?php
session_start();
$_SESSION['var'] = $var;
?>
<script type="text/javascript">
var var1 = 'car';
function runLogin() {
$.ajax({
<strike>type: "GET",</strike>
type: "POST",
url: "file2.php",
<strike>data: "var="+var1</strike>
data: {'var': var1}
});
}
runLogin();
</script>
file2.php
<?php
session_start();
<strike>$var1= $_GET['var1'];</strike>
$var1 = $_REQUEST;
$var2 = $_SESSION['var'];
?>
しかし、セッションは失われました。初めて実行したときは、上記のことを行いました。2番目はsession_start()の下のfile1.phpに追加include_once('file2.php');
し、file2.phpではその逆を追加しました
解決済み:
file1.php
<?php
$session = session_id();
$_SESSION['var'] = var;
?>
<script type="text/javascript">
var var1= "<?=$session ?>";
function runLogin(session) {
$.ajax({
type: "POST",
url: "file2.php",
data: {'session': session}
});
}
runLogin(var1);
</script>
file2.php
<?php
$posted = $_REQUEST;
$sew = $posted['session'];
session_id($sew);
session_start();
$var = $_SESSION['var'];
?>
履歴を検索しましたが、アイデアを見つけたページが見つかりませんでした。