|  |      1chenyg32 OP 我好像有点想法了。是不是curl()打开的网页是新开的,与我当前的无关,所以即使保存了session也是徒劳的。根本不是同一个范围内的。 | 
|  |      2chenyg32 OP 话又说回来了,既然不能用curl,那php之间应该怎么传值? | 
|  |      311      2013-12-05 02:47:02 +08:00  1 为什么要用curl?直接用 $_POST[] 获取呀。 | 
|      4raincious      2013-12-05 08:59:38 +08:00  1 楼主,为什么要这么纠结呢。 你的reg.php将数据POST给login.php,login.php(注意是login.php)会根据自己的环境计算COOKIE的KEY,这里的环境也仅包含请求方reg.php的HTTP HEADER。 这样的话,main.php和reg.php肯定是读不到这个KEY邦定SESSION的。 | 
|  |      5kuye      2013-12-05 09:18:21 +08:00  1 session的获取是基于cookie 的,curl的时候带上之前产生的cookies,一般来说是$_COOKIE['PHPSESSID'],就可以了 | 
|  |      6justfindu      2013-12-05 09:42:55 +08:00  1 curl应该算重开了一个进程 而且这个进程不属于用浏览器打开的用户 而是服务器吧 | 
|  |      7cute      2013-12-05 11:18:07 +08:00  1 要把curl获取到cookie自己传到客户端. | 
|  |      8macdino      2013-12-05 12:21:13 +08:00  1 1、session没写成功,看一下你的session目录有没有写成功 2、跨域 | 
|      10raincious      2013-12-05 12:52:25 +08:00  1 @chenyg32 要实现登陆什么的,PHP页面之间不需要传值。 如果需要数据临时储存,可以使用Cookie在客户端和服务器之间来回传递。Cooke设置好之后,范围内的页面都能读取。 还有更常用的方式就是使用$_SESSION数组或者自己实现数据库的Session,然后根据某个条件(比如用户ID什么的)读取。 | 
|  |      11bombless      2013-12-05 15:49:30 +08:00  1 session是基于cookie的,如果用户关掉了cookie,那session也不会起作用,这是其一。 我简单说一下,如果按照楼主现在这个页面跳转逻辑要怎么改。 因为你的session id是login.php给出的,而用户没有访问过login.php,他访问的是reg.php 所以现在的任务是从reg.php获取一个客户端状态,让他能够保持到后面对main.php的访问上去。 在reg.php脚本里面,你先从login.php拿到Set-Cookie头和Cookie头,然后把它们原样输出到头部。 这样,后面用户访问main.php的时候就能回到login.php那次会话了。 | 
|  |      12jarlyyn      2013-12-05 21:32:15 +08:00 ...不是应该include么? | 
|  |      13beaaar      2013-12-06 10:58:23 +08:00 一定要给login.php去写session么?直接在reg.php写就行了,不过不知道楼主是不是有什么特殊的需求 | 
|  |      14johnlui      2013-12-06 17:10:05 +08:00 via Android curl…… 看起来像是正在入门而且还不好好看教程…… |