加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

使用php和Java的会话

发布时间:2020-12-13 21:37:39 所属栏目:PHP教程 来源:网络整理
导读:我目前正在尝试从applet使用php网页的当前会话.我认为它会很简单,但它并不像我那么强硬.从 php man: session_start() creates a session or resumes the current one based on a sessionidentifier passed via a GET or POST request,or passed via a cooki
我目前正在尝试从applet使用php网页的当前会话.我认为它会很简单,但它并不像我那么强硬.从 php man:

session_start() creates a session or resumes the current one based on a session
identifier passed via a GET or POST request,or passed via a cookie.

从那里我做了一些PHP(这里简化):

// PAGE1.PHP
session_start();
$_SESSION['test'] = true;
echo "sid=" . session_id();

// PAGE2.PHP
session_start();
if ($_SESSION['test'])
    $echo "success";
else
    $echo "fail";

所以,从我的applet,我向PAGE1.PHP发出请求,它返回会话ID.当我在第2页上执行新请求时,我将会话ID作为参数传递,并且似乎没有保留会话.我用

URL url = new URL("my/url/PAGE2.php?sid=" + session_id); 
URLConnection conn = url.openConnection();
conn.setDoOutput(true); 
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); 

wr.write(data); // data is the post data created previously
wr.flush(); 

// Get the response 
BufferedReader rd = new BufferedReader(
    new InputStreamReader(conn.getInputStream())); 
String line;
while ((line = rd.readLine()) != null) { 
    System.out.println(line);
}

我通过POST和GET方法尝试过它似乎不起作用.

所以我想知道是否可能,如果是的话,我会错过什么?

谢谢.

解决方法

您的PAGE2.php实际上并没有使用您通过_GET传递的sid参数来启动会话.

在page2.php中,尝试:

session_id($_GET['sid']);
session_start();

而不是普通的:

session_start();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读