ホームページ >バックエンド開発 >PHPチュートリアル >ジャンプ後に window.location.href セッションが無効になる

ジャンプ後に window.location.href セッションが無効になる

WBOY
WBOYオリジナル
2016-06-20 12:33:341959ブラウズ

PHP で window.location.href を呼び出してジャンプすると、セッションが無効になり、ジャンプ後のページで使用できなくなります。


ディスカッションへの返信 (解決策)

どこにジャンプしますか?

コード

はどこにジャンプしますか?

コード

$url = "main.php";window.location.href='$url';


以上です

コードにはセッションがまったく設定されていません
セッションが見つからないのはなぜですか?

コードにセッションがまったく設定されていません。
セッションが見つからないのはなぜですか?



コードの前に設定があります。
その前に session=['check']=true を設定するだけです。 🎜> では、後でこれを行うと真の値が読み取れません
書き間違えていませんか? !

session=['check']=true
これは火星人の書き方なのでしょうか?

正しく書きましたか? !

session=['check']=true
これは火星人の書き方なのでしょうか?

これは間違いです。ジャンプしていないページではセッションの内容を読み取ることができますが、ジャンプしたページではセッションを読み取ることができません。

もうあなたには何も言いたくない 議論の前提は誠実であり、基本は互恵性です


あなたには何も言いたくないですもう

議論の前提は誠実であり、基礎は互恵性です


私の問題は非常に単純です。php で window.location.href を使用して Web ページにジャンプするとき、ジャンプした Web ページとセッション。元の Web ページの共有はできません

これはセッションの性質です。この問題は他の場所でも見つかっていますが、明確な解決策はありません。私のコードに問題があるわけでも、問題があるわけでもありません。コードの問題、つまり、Web ページにジャンプするためにコードを使用する必要があると思いますが、ジャンプ後に元の Web ページのセッションを読み取れないことがあります。この問題を解決するには。
さらに、私は十分に誠実であると思っており、私が知っていることはすべて話しました

Session の正しい書き方は session_start()

$_SESSION['favcolor ' ] = 'green';
$_SESSION['animal'] = 'cat';
$_SESSION['time'] =
これと同様です。
ドメインが異なるとセッションが変更されます。以下はjspの例です。phpを使用していますが、考え方が重要です。

2096e16fc6833eb54d40e3f29481ea43
6c84f4db94b3f5f00ae830091299729a
47b9bb11c1855ec53fa86a6f997b3666
引用页面 
http://www.cnblogs.com/nicholas_f/archive/2010/11/05/1869811.html


你的我懂了 但是我还想问一下window.location.href 跳转具体是怎么实现的

你的态度是真诚的,但你我掌握的信息(是你不愿提供)是不对等的
你的代码有问题,所以会有错误的表现!

<?phpsession_start();$_SESSION['test'] = 'abcd';echo "<script>location='session_target.php'</script>";

session_target.
<?phpsession_start();print_r($_SESSION);

事实在那里,多说没有!

你的态度是真诚的,但你我掌握的信息(是你不愿提供)是不对等的
你的代码有问题,所以会有错误的表现!

<?phpsession_start();$_SESSION['test'] = 'abcd';echo "<script>location='session_target.php'</script>";

session_target.
<?phpsession_start();print_r($_SESSION);

事实在那里,多说没有!
index.php:

<?php  session_start();echo "<script>alert('登陆成功!');location='main.php'</script>";$_session["check"]=true;?>

main.php:
<?php session_start(); 	print_r($_SESSION);?>




我的这个和你的差不多 但是输出就是空值


你的态度是真诚的,但你我掌握的信息(是你不愿提供)是不对等的
你的代码有问题,所以会有错误的表现!

<?phpsession_start();$_SESSION['test'] = 'abcd';echo "<script>location='session_target.php'</script>";

session_target.
<?phpsession_start();print_r($_SESSION);

事实在那里,多说没有!
index.php:

<?php  session_start();echo "<script>alert('登陆成功!');location='main.php'</script>";$_session["check"]=true;?>

main.php:
<?php session_start(); 	print_r($_SESSION);?>




我的这个和你的差不多 但是输出就是空值
有段代码贴反了 是先赋值的 

你的态度是真诚的,但你我掌握的信息(是你不愿提供)是不对等的
你的代码有问题,所以会有错误的表现!

<?phpsession_start();$_SESSION['test'] = 'abcd';echo "<script>location='session_target.php'</script>";

session_target.
<?phpsession_start();print_r($_SESSION);

事实在那里,多说没有!




然后我按照你的重新改了一下  
index.php
<?php  session_start();$_session["check"]=1;print_r($_SESSION);echo "location='session_target.php'</script>";?>


session_target.php:
<?phpsession_start();print_r($_SESSION);?>


也输出为空

这有你的!明明写错了,还不认账
$_session["check"]=true;
应写作
$_SESSION["check"]=true;

php 的变量名是区分大小写的

这有你的!明明写错了,还不认账
$_session["check"]=true;
应写作
$_SESSION["check"]=true;

php 的变量名是区分大小写的



哦哦哦哦哦       很抱歉耽误了你这么长时间  非常感谢!
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。