我正在尝试通过AJAX请求保留会话.仅仅调用session_start()不会接听现有的会话,而是创建一个新的会话ID.我的解决方案是通过AJAX调用将会话ID传递给PHP,但这导致以下错误:

Warning: session_start() [function.session-start]: The session id is too long or contains illegal characters, valid characters are a-z, A-Z, 0-9 and ‘-,’ in …

我相信这是因为当前会话ID包含下划线字符,但是该会话ID是通过对session_id()的调用来获取的,那么它如何包含错误字符?

我的意思的简单例子:

页面上的JavaScript(使用jQuery)

var sessID = "<?php echo session_id(); ?>"; //sessID contains underscore characters

$.get('/path/to/script.php',{sid:sessID}, function(data) {

//do something

});

script.php

session_id($_GET['sid']);

session_start();

echo $_SESSION['some_key'];

?>

因此,我目前正在考虑解析第一页上的会话ID,并在尝试使用它之前替换其中的所有错误字符,但是我不确定这是正确的选择还是需要在其他地方查看寻找解决方案.

解决方法:

$.get('/path/to/script.php',{sid:<?php echo session_id(); ?>}, function(data) {

//do something

});

应该

$.get('/path/to/script.php',{sid:"<?php echo session_id(); ?>"}, function(data) {

//do something

});

标签:ajax,drupal,session,php

来源: https://codeday.me/bug/20191101/1985506.html

php 字符串含有下划线,PHP-我的会话ID中有下划线相关推荐

  1. linux目录下所有文件内容替换,linux替换目录下所有文件中的某字符串

    比如,要将目录/modules下面所有文件中的zhangsan都修改成lisi,这样做: sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl ...

  2. java 下划线转驼峰命名_Java驼峰命名 下划线命名 互转

    使用场景 sql字段转为java字段,直接从数据库通过sql语句 取出来的数据都是数据库字段,如果需要反射实例化对象 则需要把从下划线命名转为驼峰命名. /*** * 下划线命名转为驼峰命名 * * ...

  3. Python语言学习之双下划线那些事:python和双下划线使用方法之详细攻略

    Python语言学习之双下划线那些事:python和双下划线使用方法之详细攻略 目录 双下划线介绍 1.关于双下划线的函数或方法或属性 双下划线介绍 1.关于双下划线的函数或方法或属性 __name_ ...

  4. 处理字符串_8_判断字符串含有汉字

    判断字符串含有汉字 需求描述 需求:检索含有汉字的字符串. 解决方法:这里通过函数CHAR_LENGTH对比LENGTH进行对比来判断. 注: 数据库数据集SQL脚本详见如下链接地址 员工表结构和数据 ...

  5. springboot接口入参下划线转驼峰以及返回参数驼峰转下划线实现

    转自:springboot接口入参下划线转驼峰以及返回参数驼峰转下划线实现 - 李东平|一线码农 - 博客园 (cnblogs.com) 1.背景 在实际开发中,通常来说java里面是使用驼峰的命名规 ...

  6. java 下划线_Java SE 9:“ _”(下划线)更改

    java 下划线 In this post, we will discuss about What is the use of Underscore ("_") in Java M ...

  7. php css下划线,css下划线如何设置?css设置文字下划线的方法介绍

    在网页中默认情况下文字字体是没有下划线样式的,但是有时候我们在网页中会看到不是链接的文字下面会有一行下划线,那么这个下划线样式是怎么实现的呢?本篇文章就来给大家介绍一下css设置文字下划线的方法,接下 ...

  8. a标签去下划线或文字添加下修饰_怎么去掉html a超链接下划线

    我们在HTML网页制作过程中,相信大家对css文本超链接这个概念并不陌生.我们都知道想要给某段文本或者指定元素添加一个锚点也就是超链接需要用到HTML中的a标签.程序猿的生活:打造全网web前端全栈资 ...

  9. css选择器下划线设置,css中怎么设置字体下划线

    css中设置字体下划线的方法:1.使用"text-decoration:underline;"设置下划线样式:2.通过"border-bottom"属性设置下划 ...

最新文章

  1. Oracle ADG vs DG
  2. BootStrap2学习日记8---表单
  3. [UE4]编程师外挂Visual Assist X
  4. 设计模式(中介者模式)
  5. mag6000变送器怎么使用_变送器的迁移原理和故障分析
  6. Web前端技术分享:全栈工程师常用的开发工具
  7. android 官方说明文档,Android官方文档翻译-Accessibility
  8. 前端学习(1687):前端系列javascript基础面试前言
  9. (原创)C++ IOC框架
  10. spring读取多个配置properties报错“Could not resolve placeholder“的解决方案
  11. R语言空间插值的几种方法及案例应用
  12. linux 内网服务 端口,LINUX 内网设备将服务映射到公网地址
  13. html5炫酷动画及源码,分享8个难忘的HTML5炫酷动画及源码
  14. 手机红外鸿蒙,小技巧轻松解析红外光谱图,后悔没早知道
  15. 安装deepin后没有Windows启动项解决办法
  16. 微信Android热补丁实践演进之路
  17. vscode配置python环境以及使用json文件配置默认解释器、代码自动保存、pydesigner、kite
  18. 2020年,微信的基地属性正在悄然转向
  19. 【小样本基础】Meta-Learning 元学习流程:图解MAML代码
  20. 投资,不能也不想做的太复杂

热门文章

  1. 利用sendmail搭建电子邮件服务器
  2. C++中内存泄漏的检测
  3. 关于×××隧道技术在使用中的优势
  4. 玩转“网上邻居”之网络配置(一)
  5. MFC 强大功能函数
  6. Django去操作已经存在的数据库
  7. codevs1287 矩阵乘法
  8. VC读取PE文件的OEP
  9. python基础数据类型语法
  10. php webwxuploadmedia_PHP Web实现文件上传下载功能实例解析