PHP で window.location.href を呼び出してジャンプすると、セッションが無効になり、ジャンプ後のページで使用できなくなります。
どこにジャンプしますか?
コード
はどこにジャンプしますか?
コード
$url = "main.php";window.location.href='$url';
コードにはセッションがまったく設定されていません
セッションが見つからないのはなぜですか?
コードにセッションがまったく設定されていません。
セッションが見つからないのはなぜですか?
session=['check']=true
これは火星人の書き方なのでしょうか?
正しく書きましたか? !
session=['check']=true
これは火星人の書き方なのでしょうか?
議論の前提は誠実であり、基礎は互恵性です
私の問題は非常に単純です。php で window.location.href を使用して Web ページにジャンプするとき、ジャンプした Web ページとセッション。元の Web ページの共有はできません
$_SESSION['favcolor ' ] = 'green';
$_SESSION['animal'] = 'cat';
$_SESSION['time'] =
これと同様です。
ドメインが異なるとセッションが変更されます。以下はjspの例です。phpを使用していますが、考え方が重要です。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
文字列 JSESSIONID = request.getSession().getId();//現在の JSESSIONID を取得します (プライマリ ドメインからのアクセスによって生成されたか、セカンダリ ドメインからのアクセスによって生成されたかに関係なく)
Cookie cookie = new Cookie("JSESSIONID", JSESSIONID);
cookie.setDomain(".test.com"); //ここで重要なのは、Cookie の値を異なるドメイン間で取得できるようにするため、Cookie をプライマリ ドメイン名に設定し、それによって統一されたセッションを確保することです。
応答. addCookie(cookie); // クッキーをクライアントに返す
request.getRequestDispatcher("indes.jsp").forward(request, response); 🎜>引用ページ
http://www.cnblogs.com/nicholas_f/archive/2010/11/05/1869811.html
Session 正确的写法是
session_start();
$_SESSION['favcolor'] = 'green';
$_SESSION['animal'] = 'cat';
$_SESSION['time'] = time();
类似这样。
不同的域会导致session的改变。下面是要给jsp的例子,一看就懂,虽然你使用php,但是思路才是重点。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String JSESSIONID = request.getSession().getId();//获取当前JSESSIONID (不管是从主域还是二级域访问产生)
Cookie cookie = new Cookie("JSESSIONID", JSESSIONID);
cookie.setDomain(".test.com"); //关键在这里,将cookie设成主域名访问,确保不同域之间都能获取到该cookie的值,从而确保session统一
response.addCookie(cookie); //将cookie返回到客户端
request.getRequestDispatcher("indes.jsp").forward(request, response);
%>
引用页面
http://www.cnblogs.com/nicholas_f/archive/2010/11/05/1869811.html
你的态度是真诚的,但你我掌握的信息(是你不愿提供)是不对等的
你的代码有问题,所以会有错误的表现!
<?phpsession_start();$_SESSION['test'] = 'abcd';echo "<script>location='session_target.php'</script>";
<?phpsession_start();print_r($_SESSION);
你的态度是真诚的,但你我掌握的信息(是你不愿提供)是不对等的
你的代码有问题,所以会有错误的表现!
<?phpsession_start();$_SESSION['test'] = 'abcd';echo "<script>location='session_target.php'</script>";
<?phpsession_start();print_r($_SESSION);
<?php session_start();echo "<script>alert('登陆成功!');location='main.php'</script>";$_session["check"]=true;?>
<?php session_start(); print_r($_SESSION);?>
你的态度是真诚的,但你我掌握的信息(是你不愿提供)是不对等的
你的代码有问题,所以会有错误的表现!
<?phpsession_start();$_SESSION['test'] = 'abcd';echo "<script>location='session_target.php'</script>";
<?phpsession_start();print_r($_SESSION);
<?php session_start();echo "<script>alert('登陆成功!');location='main.php'</script>";$_session["check"]=true;?>
<?php session_start(); print_r($_SESSION);?>
你的态度是真诚的,但你我掌握的信息(是你不愿提供)是不对等的
你的代码有问题,所以会有错误的表现!
<?phpsession_start();$_SESSION['test'] = 'abcd';echo "<script>location='session_target.php'</script>";
<?phpsession_start();print_r($_SESSION);
<?php session_start();$_session["check"]=1;print_r($_SESSION);echo "location='session_target.php'</script>";?>
<?phpsession_start();print_r($_SESSION);?>
这有你的!明明写错了,还不认账
$_session["check"]=true;
应写作
$_SESSION["check"]=true;
php 的变量名是区分大小写的
这有你的!明明写错了,还不认账
$_session["check"]=true;
应写作
$_SESSION["check"]=true;
php 的变量名是区分大小写的