我目前正在尝试从一个小程序使用PHP网页的当前会话。我认为这很简单,但它并不像我那么坚强。从php man:使用会话与PHP和Java
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";
所以,从我的小程序,我做的请求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方法,它似乎并没有工作。
所以我想知道如果这是可能的,如果是的话,我错过了什么?
谢谢。
我一直想它没有成功。再次阅读手册页后,似乎session_start是无效的。所以这是行不通的。 – Sauleil 2010-06-29 00:10:54
你实际上在寻找'session_id($ _ GET ['sid']); session_start();' – 2010-06-29 00:13:56
谢谢弗兰克!我误读了关于session_id的文档。我很努力,它总是在创建一个新的会话时调用它。现在它就像一个魅力! – Sauleil 2010-06-29 00:20:14