php和angularjs搭配时,php无法存储cookie

我用php和angularjs做一个项目,php提供接口,angularjs嵌套数据,写页面。
但做注册时,发现php的session老是取不到,进一步发现是cookie中PHPSESSID一直变化。
后来我做了一个实验

    //接口a
 function a(){
        setcookie('a12a',1123, time()+60);
        #...接口内容
 }

    //接口b
 function b(){
        var_dump($_COOKIE['a12a']);
        #...接口内容
 }

我直接浏览器访问a,b两个接口(先访问a接口设置cookie,再访问b接口),是能够读到值1123,也就是cookie有写入。但是如果通过angularjs做的页面先后请求a、b两个接口,那么显示null,也就是说a12a这个cookie没了。
我猜测就是因为angularjs做的页面cookie没有存储下来,所以PHPSESSID才会一直变,导致php取不到session值。
想请问一下高手们,是什么原因导致的这个问题,angularjs的工程里并没有清空cookie的操作

0

1个回答

你要先请求a返回后才能请求b,不能2个同时请求,要不谁先返回可以不一定,要是b先到达服务器,而不是a,那么肯定获取不到cookie值了,a都没请求设置cookie

而且你获取cookie都是经过服务器还是客户端js获取,客户端js获取不到httponly的cookie值,要注意这个,检查你是否配置过生成的cookie都是httponly的了,httponly的cookie只能服务器端获取

HostOnly Cookie和HttpOnly Cookie

0
Levin777
Levin777 是的,是的,我说的接口a和b是两个先后动作访问的,不是同时请求。可是我的cookie写和读都是在服务端php上,读不到也是php上读不到,并没有用js去读cookie。应该没有这个httponly的问题吧
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
php 无法读取Cookie?
[code=PHP][/code]rnrn初学php,发现有两种读取的方法。但是,无法读取出任何值?
php设置cookie时报错
我想写一个页面。当用户输入用户名和密码后,自动生成cdb_auth达到登录discuz论坛的效果,认证部分代码如下:rnrnpwd:".$user_pass;rn rn echo " Encode auth:";rn $pwd=$user_pass;rn $string="0";rn $string=passport_encrypt($pwd,$authkey);rn echo " ".$string." ";rn echo "";rn rn setcookie("cdb_auth",$string,time()-1); rn rn echo " Login?";rn $login=0;rn $login=isset($_COOKIE["ief_auth"]);rn echo " state:".$login." ";rn echo " auth:".$_COOKIE["ief_auth"]." ";rn echo "";rn rnrn?>rnrnrnrnrnrn但是,当我提交数据后,却报错:rnusr:adminrnpwd:adminrnrnEncode auth:rnUmRaYwZsA21Qaw==rnrnWarning: Cannot modify header information - headers already sent by (output started at /www/users/wowtigu.org/pri/login/checkusr.php:107) in /www/users/wowtigu.org/pri/login/checkusr.php on line 116rnrnLogin?rnstate:rnrnauth:rnrn无法设置cookiern我是php新手,能指导下吗?谢谢~!rnrnrn另:登录页面代码:rnrnrnrnrn 登录rn rn rnrnrnrn rnrn rnrnrn rn arn rn 用户名: rn 密码: rn rn rn rn rn rnrn rn 返回rnrnrnrn这段代码是改的wordpress的登录界面的 呵呵rnrn在线等~
php 环境 搭配
配置php环境一、安装php 1.从 http://www.php.net/downloads.php   下载php安装包 2.解压 php-5.2.13-Win32.zip 并修改文件夹名字为php5放到指定位置.如:E:/   3.将php5文件夹下 所有的.dll文件复制到 Windows/system32文件夹下 4.并将php.ini-dist 修改为php.ini复制到系统文件夹Windows下面。 5.打开php.ini找到extension_dir="./"这一行,修改为extension
php cookie
php php php php.。。。。。。。。。。
<PHP>学习笔记--环境的搭配
WAMP: window+Apache+MySQL+PHP 一个很好用的集成服务器:wampserver 下载 它集成了Apache+MySQL+PHP 下载安装就可以. 安装成功后运行就可以.几乎不用怎么配置. 印象中没有遇到问题.所以就不提了. 对于我本人因为以前做J2EE的时候用的也是MYSQL数据库.所以把它集成的mysql卸载了 "MySQL"-->"Ser
cookie无法存储
if ((Users)Session["currentUser"] != null)rn rn this.lblUser.Text = "";rn this.imgbtnComplaint.Enabled = true;rn this.imgbtnLink.Enabled = true;rn user = (Users)Session["currentUser"];rn string userId = "xikemen"+user.UserId.ToString();rn if (Request.Cookies[userId] == null)rn rn HttpCookie cookieNew = new HttpCookie(userId);rn cookieNew.Expires = DateTime.Now.AddDays(30);rnrn cookieNew.Values.Add("Clicked", "");rn string ids = Request.QueryString["id"].ToString() + ",";rn cookieNew.Values.Add("looked", ids);rn //Response.AppendCookie(cookie);rn //Response.SetCookie(cookie);rn Response.Cookies.Add(cookieNew);rn rn elsern rn HttpCookie cookieNew = Request.Cookies[userId];rn if (cookieNew["looked"] == null)rn rn string ids = Request.QueryString["id"].ToString() + ",";rn cookieNew.Values.Add("looked", ids);rn rn elsern rn if (cookieNew["looked"].Contains(Request.QueryString["id"].ToString()))rn rn rn elsern rn cookieNew["looked"] += Request.QueryString["id"].ToString() + ",";rn rn rn // Response.AppendCookie(cookie);rn Response.Cookies.Add(cookieNew);rn //Response.SetCookie(cookie);rn rn我写的这样一段代码 请问是不是哪里有问题?为什么cookie无法存储到客户端?
php无法获取angularjs post数据
php $_POST 无法获取angluarjs post参数数据 /** * 公共路由 */ var app_main = angular.module("main",["ngRoute"]); //配置路由 app_main.config(function($routeProvider,$locationProvider,$httpProvider){ $httpProvider
PHP商城笔记(cookie3) —— cookie的存储
cookie只能存储字符串/数字这样的标量数据 而session还可以存储数组/对象(除了资源性,其他7种都可以) 但请注意!! 如果你把对象存储到session里 那么另一个读取session的页面,也必须有此对象对应的类声明才合理 否则,从session里分析出一个对象,却没有与之对应的类,就会提示: _PHP_Incomplete_Class Object 从http协议的...
php: 远程操作浏览器cookie存储入门
本公众号,之前写过一个 js操作 cookie 的教程 这次写一个 php部分远程操作浏览器cookie存储 一.cookie理解,其实就是 浏览器的 一个本地存储,不过这个本地存储,在http握手的时候,会作为head头部带给 服务器,很方便服务器和浏览器数据同步啊! 二.更重要的是在,http握手的时候,服务器也可以操作head,设置cookie
php存储cookie到确认页面白板
我用php做的入力、确认、完了流程,将入力的内容都储存到了cookie中,可是在chrome时好像显示ncookie值过大而不能存储,这个要怎么解决啊。。。。急求
关于php存储cookie时path存放路径放的详细介绍
以前在存储cookie时,没有用到path这个参数,最近开发中在存储cookie时,要用到path参数来决定存储的路径,结果一开始的时候一直取不到值,到最后详细看了一下path参数的介绍后,才顿悟。分享几个小例子,对这一块不是太明白的可以在自己的机子上测试一下。 setcookie.php(路径:localhost/test): (1):不带path参数时: setcookie(
[4]PHP开发环境搭配之修改php版本
PHP接触也有几天了。对于php语言来说,就是函数过多,一时还记不住,相信在多练习Coding后能有所提高的。当前还没有接触到jQuery和Ajax技术,由于原来有Java EE和JSP的支持,以及一些计算机的基础知识,如熟悉C语言,VF语言以及SqlServer2000,对于php来说学习很快入门,理解起来也比较快,MySQL原来也是练习过的,相信自己能在短时间内学习出一定的成果来。
PHP 如何清除COOKIE? PHP无法删除COOKIE?设置COOKIE有效期
PHP 透明地支持 HTTP cookie,  cookie是一种在远程浏览器端存储数据并以此来跟踪和识别用户的机制。可以用 setcookie() 或 setrawcookie()函数来设置cookie, cookie是HTTP标头的一部分,因此 setcookie()函数必须在 其他信息被输出到浏览器前调用,这和对header()函数的限制类似。 setcookie(); 删除
AngularJs 基础教程 —— 与php服务器
本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:AngularJs 基础教程 —— PHP 简介 PHP 是服务器端脚本语言。 您应当具备的基础知识 在继续学习之前,您需要对以下知识有基本的了解: HTML CSS 如果您希望首先学习这些项目,请在我们的 首页 访问这些教程。 PHP 是什么? PHP(全称:PHP:Hypertext Preprocessor,...
php cookie值无法在其它页面获取
在login_confirm.php中设置了cookie的相关属性 setcookie('yue', $row['yy'],time()+7200); 但是在qsubmit.php中使用下列语句输出cookie值时候结果为空 echo $_COOKIE['yue'];查看了chrome中的cookie,找到了刚才设置的cookie 发现路径是 /yue/login 而qsubmi
php 在ie中无法设置cookie的值
php 在ie中无法设置cookie的值 在火狐中可以正常显示,在ie中不幸,后来发现 把服务器的时间设置成和本机一致,可避免此问题。做个标记。
PHP无法获取URL类型的cookie值?
function getAgentID()rn //获取父页面的来路URL,即用户的真实来路URLrn var AntecedentsURL=window.parent.document.referrer;rn if(AntecedentsURL)rn document.cookie="AntecedentsURL="+escape(AntecedentsURL);rn elsern document.cookie="AntecedentsURL="+escape("The user's origin URL or cookie is empty");rn rn //取得AgentID,Cookie过期时间7天rn var fatherURL=top.location.search;rn fatherURL=fatherURL.split('?')[1];rn if(fatherURL)rn var AgentID=fatherURL.split('=')[1];rn var Days=7;rn var Exp=new Date();rn Exp.setTime(Exp.getTime()+Days*24*3600*1000);rn document.cookie="AgentID="+escape(AgentID)+";expires="+Exp.toGMTString();rn elsern document.cookie="AgentID="+escape('1'); rn rnrn上面是js代码可以写入cookie,在firebug能看到对应的值rnrnrn下面是php代码,只有AgentID可以获取到值,AntecedentsURL的值一值是ERRORrnrn if(isset($_COOKIE['AgentID']))rn $_clean['AgentID']=_check_other(js_unescape($_COOKIE['AgentID']),39);rn elsern $_clean['AgentID']='1'; rn rn if(isset($_COOKIE['AntecedentsURL']))rn $_clean['AntecedentsURL']=_check_other(js_unescape($_COOKIE['AntecedentsURL']),512);rn elsern $_clean['AntecedentsURL']='Error'; rn rn
[转]PHP解决浏览器无法获取COOKIE…
PHP 解决IE、360、搜狗浏览器无法设置(获取)(种植)COOKIE、SESSION丢失的问题(火狐、谷歌浏览器下正常) 程序如下: -----------1.php---------------- session_start(); $_SESSION['enCode'] = $enCode;    //建session ----------2.php---------------- s
php设置cookie之后无法获取
情况是这样的,我写了个用户登录页面,前台登陆页 login.php 后台处理页login2.phprn用户在前台输入用户名和密码,第一次能登陆,登陆之后再退出来,然后再次登陆的话却出问题了,用户名和密码都对了,后台验证用户密码都正确提示登录成功,但是马上又退出来了,因为$username=$_COOKIE["username"]为空,这是怎么回事呢?rnrn第一次登陆的话设置cookie如下:rnsetcookie("username",$username,time()+3600,"/");rnrn后台文件是先验证用户名和密码是否匹配,匹配的话就提示登录成功,然后获取$username=$_COOKIE["username"],获取到了就显示该用户的信息rnrn第一次登录是可以的,但是退出之后再次登陆的话$username=$_COOKIE["username"]获取的$username为空
AngularJS与后端php的数据交互
简述: AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。 它不仅仅是一个类库,而是提供了一个完整的框架。它避免了您和多个类库交互,需要熟悉多套接口的繁琐工作。它由Google
AFN拿不到cookie,无法存储cookie
跟雅思的项目对比,发现 task.currentRequest.allHTTPHeaderFields 这样不能拿到cookie 应该这样取: NSHTTPURLResponse *response = (NSHTTPURLResponse *)task.response; NSDictionary *fileds = response.allHe...
win10搭配环境变量php mysql
在win10中。1。搜索系统设置2.找到环境变量3.在环境变量中找扫path路径,并编辑4.点击新建。将MySQL或php的所在目录。放入到path中。实际就是要找到mysql.exe或者php.exe5.这样环境变量就搭好了.但是需要用管理员的身份运行cmd才可以使用mysql。...
WIN2000和LINUX与PHP的搭配的困惑
rn领导让做个决定:把现有的所有PHP程序全拿到一台原来的WIN2000上,而且把系统改为LINUX,另外一个选择就是保留现在的WIN2000。rnrn我们使用过程中感觉LINUX确实有那么点优势,但我们部门很熟悉LINUX的没有,2000用起来更顺手一些。但另外还有一个问题就是既然不熟悉就要学习,所以做决定不容易。rnrnrn现在就是想问一下WIN2000和LINUX与PHP的搭配差别到底是不是很大?到底有没有必要去换掉原来的2000?rnrn请各位支着。谢谢先!
php正则与入门正则搭配
if(!empty($_POST)){                         if(!empty($_POST['username'])&&!empty($_POST['userpwd'])&&!empty($_POST['usertpwd'])&&!empty($_POST['useremail'])&&!empty($_POST['usercell'])&&!empty($_POS
关于PHP的服务器搭配问题
由于对linux不是很熟,所以想先在2000里使用php,rn我看了一些资料,有些说使用iis服务器,还有写说试用apache服务器,rn到底哪种好点?rn还有说说大家现在使用的php版本和服务器的版本。
windows下php全环境搭配
Apache 2.2.21 官网上下载 httpd-2.2.21-win32-x86-no_ssl.mis包,安装apache,并在安装过程中注册为windows服务。如果安装有IIS或别的服务器,安装完毕后打开 httpd.conf,修改 Listen   xxxx  为非80端口。 基本配置: 修改 DocumentRoot、Directory为自定义的webroot
php搭配什么数据库好?
看到网上的资料都是PHP+MYSQL的,连接SQL SERVER或ORACLE的特别少rn请问是不是对PHP而言,MYSQL更适合?还是别的原因?rn我是初学者,请各位赐教!谢谢
php 关于环境搭配的ppt
关于php的ppt,该ppt里的主要内容为php环境搭配
php 使用curl时,添加cookie
curl_setopt ( $ch , CURLOPT_COOKIE , 'BAIDUID=A7281E0926CB37D791AD464CDD646CF2:FG=1; BIDUPSID=A7281E0926CB37D791AD464CDD646CF2; PSTM=1520817729; REALTIME_TRANS_SWITCH=1; FANYI_WORD_SWITCH=1; HISTORY_S...
PHP curl 抓取页面时的 cookie 问题
PHP curl 抓取页面时的 cookie 问题 Posted on 28th October 2009 by Nio in 工作忙碌, 程序人生 - Tags: curl, PHP 使用 PHP curl 抓取页面时,可以设置 cookie 保存的文件,示例代码: <?php $cookie_path = 'cookie.txt'; $ch = curl_init()
php基础之禁止cookie时session的使用
主要讲了cookie session 图片上传类以及验证码类
禁用Cookie时,PHP共享Session文件解决方案
当用户禁用cookie后,服务器每次 session_start() 都会 创建一个全新的seesion文件,后果就是无法让多个页面php,去共享同一份session文件.解决该问题要从cookie sessoin 和http协议入手解决解决方案如下: 方案一:在每个超链接上添加一个PHPSESSID=sesssionId; 同时在每个页面加入: if(isset($_GET['PHPSES
php 创建cookie时出现问题 求救 ……
在处理login.php处理登录提交的时候 出现的问题 。rn[code=PHP]rnrnrnrnrn rn 无标题文档rnrn rn rn 欢迎登陆在线相册系统 rn 登录密码:rn rn rn rn[/code]rnrnrn执行的时候 这两句报错 rn setcookie("login","yes"); //如果正常则设置cookie rn header("Location:index.php"); rn错误内容为:Cannot modify header information - headers already sent by ……rn好郁闷呀………………
cookie保存时路径对php的影响
现将环境公布 /index.php /a/index.php /b.php   程序代码 /index.php    $a=$_COOKIE['a'];if($a){setcookie('b','xxxx',time()+3600);header ("location:/b.php");} /a/index.php  setcookie('a','aaaaa',time()+3600); /b.php  if($_COOKIE['b']) echo $b;   代码如上  大家应该大体看出具体使用方式  就
safari 跨域cookie 无法存储
var isSafari = (/Safari/.test(navigator.userAgent)); var firstTimeSession = 0; function submitSessionForm() { if (firstTimeSession == 0) { firstTimeSession = 1; $("#sessionform")
php中的cookie用法
cookie和session都可以暂时保存在多个页面中使用的变量,但是它们有本质的差别。 cookie存放在客户端浏览器中,session保存在服务器上。它们之间的联系是sessionID一般保存在cookie中。 cookie工作原理 当客户访问某个网站时,在PHP中可以使用setcookie函数生成一个cookie,系统经处理把这个cookie发送到客户端并保存在c:\Docum
PHP cookie存放数组
下面介绍两种方法来实现 方法一:先用serialize序列化数组,再存入COOKIE ,读出来时用unserialize得到原来的数组 //存入   $arr = array(1,2,3); $arr_str = serialize($arr); setcookie("a",$arr_str); //取出   $arr_str = $_COOKIE['
php设置和读取cookie
概念理解: Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。 setcookie(name,value,expire,path,domain,secure) php设置cookie a.键和值: s
PHP Cookie使用详细教程
<br />1、设置Cookie<br />PHP用SetCookie函数来设置Cookie。必须注意的一点是:Cookie是HTTP协议头的一部分 ,用于浏览器和服务器之间传递信息,所以必须 在任何属于HTML文件本身的内容输出之前调用 Cookie函数。<br />SetCookie函数定义了一个Cookie,并且把它附加在HTTP头的后面,SetCookie函数的原型如下:<br /> <br />int SetCookie(string name, string value, int expi
php和cookie实现购物车
不习惯用cookie,之前做购物车都是让用户登录之后才购买,这样我就能把购物车里的商品存入到一个数据表里,等到下订单时再把它们转移到另一个订单的表里。但是客户的需求是无限的,想要同时可以不注册就能购买,只能用到cookie了,因为一直没用过,不甚了解,而且一直不太喜欢这个东西(可能就是因为不会用吧,嘿嘿!),硬着头皮找资料做吧,好在网上一搜一大把的购物车,找了一段,摘抄下来: 用php数
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo