ThinkPHP URL自己带上参数PHPSESSID
碰到个问题,ThinkPHP项目程序本地测试没问题,传到服务器后第一次访问,页面的所有URL会自己带上类似?PHPSESSID=28954583914413546c6e881cfa7c8117 这样的参数,再点击刷新下页面后访问才正常。
浏览器并没有禁止cookie,本地访问正常也证实了这点,第一猜想是服务器的环境配置与项目代码某些地方冲突所影响。
检测了服务器的关于cookie的配置对比本地的,发现session.use_trans_sid这个项的配值是不同的,本地关闭,服务器是开着的。
PHP中的会话在默认情况下是使用客户端的cookie来保存session_id的,所以当客户端的cookie出现问题的时候就会影响会话了。其实会话不一定必须依赖cookie,当客户端的cookie被禁用或出现问题时
2011-03-31 21:02:29阅读全文>>>
ThinkPHP使用Paypal支付接口的模块开发
<?php
/**
*
* PaypalAction.class.php
*
* ThinkPHP Paypal支付接口模块
*
**/
class PaymentAction extends Action {
/**
* 自己的paypal账号
*/
private $account = 'admin@gmail.com';
/**
* paypal支付网关地址
*/
private $gateway = 'https://www.paypal.com/2010-12-21 16:19:01阅读全文>>>
thinkphp关于session的使用总结
ThinkPHP官方的说明文档
-
start 启 动session
- pause 暂 停session
- clear 清除session
- destroy 销毁session
- get 获取session值
- getLocal 获取私有session值
- set 设置session值
- setLocal 设置私有session值
- name 获取或者设置session_name
- is_set 是否设置session值
- is_setLocal 是否设置私有session值
- id 获取或者设置session_id
- path 获取或者设置session_save_path
- setExpire 设置session过期时 间
- setCookieDomain 设置 有效域名
- setCallback 设置Session 对象反序列化时候的回调函数
最常用的操作方法示例:
代码:
// 获 取Session变量
- // 检测 Session变量是否存在
-
Session::is_set('name');
- // 给Session变 量赋值
- Session::set('name','value');
2010-08-24 09:27:17阅读全文>>>
thinkphp 使用技巧总结 - 快速入门
在比较了下Zend Framework、CakePHP等框架后,我认为ThinkPHP的开发效率最高,代码最为简洁,最适合中小型项目开发。
1. 模板中不能使用的标签
{$content} {$i}
2. If标签
如: <if condition="$name eq 1 ">
试验后总是有想不到的错误, 这样,还不如直接用<?php if(...){ ...?>来得快些呢.
约定:
1.所有类库文件必须使用.class.php作为文件后缀,并且类名和文件名保持一致
2.控制器的类名以Action为后 缀
3.模型的类名以Model为后缀,类名第一个字母须大写
4.数据库表名全部采用小写,
如:
数据表名: 前缀_表名
2010-08-20 11:11:28阅读全文>>>
thinkphp 语言包加载失败的解决办法
在浏览器未设置默认语言的时候,thinkphp便检测不到语言,导致语言包加载失败直接输出。
thinkphp2.0语言检测和模板检测是在ThinkPHP\Lib\Think\Core的App.class.php的239行开始,查看代码便可知,当未检测到语言的时候,无法加载语言包。
我的解决办法是,在项目公共部分从配置表中读取站点要设置的语言和模板,代码只有三句话
cookie('think_language','en-us',3600);
cookie('think_template','default',3600);
App::init();
原理就是在thinkphp框架编译完后
2010-07-29 21:32:29阅读全文>>>
thinkphp 多主题和多语言的使用方法
ThinkPHP提供了设置多语言和多主题的接口,如
URL:
语言切换:?l=zh-cn
主题切换:?t=default
对应的目录位置:
APP/Lang/zh-cn/common.php - 简体中文
APP/Tpl/default/Index/index.html - 默认主题
模板使用语言输出
2010-07-20 18:41:12阅读全文>>>
thinkphp 自带常量
Action中使用的系统常量
THINK_PATH // ThinkPHP 系统目录
APP_PATH // 当前项目目录
APP_NAME // 当前项目名称
MODULE_NAME //当前模块名称
ACTION_NAME // 当前操作名称
TMPL_PATH // 项目模版目录
LIB_PATH // 项目类库目录
CACHE_PATH // 项目模版缓存目录
CONFIG_PATH //项目配置文件目录
LOG_PATH // 项目日志文件目录
LANG_PATH // 项目语言文件目录
TEMP_PATH //项目临时文件目录
PLUGIN_PATH // 项目插件文件目录
VENDOR_PATH // 第三方类库目录
DATA_PATH // 项目数据文件目录
IS_APACHE // 是否属于 Apache
IS_IIS //是否属于 IIS
IS_WIN //是否属于Windows
2010-07-20 10:35:09阅读全文>>>
thinkPHP学习笔记[持续更新]
快捷方法:
A:快速实例化Action类库
B:执行行为类
C:配置参数存取方法
D:快速实例化Model类库
F:快速简单文本数据存取方法
L:语言参数存取方法
M:快速高性能实例化模型
R:快速远程调用Action类方法
S:快速缓存存取方法
U:URL动态生成和重定向方法
W:快速Widget输出方法
导入:
Vendor\Zend\Filter\Dir.php
Vendor('Zend.Filter.Dir');
lib\Think\Util\Session.class.php
import("Think.Util.Session");
MyApp项目下面的Lib\Action\Us
2010-07-17 17:30:56阅读全文>>>
ThinkPHP去除url中的index.php
例如你的原路径是 http://localhost/test/index.php/index/add
那么现在的地址是 http://localhost/test/index/add
如何去掉index.php呢?
1.httpd.conf配置文件中加载了mod_rewrite.so模块 //在APACHE里面去配置
#LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉
2.AllowOverride None 讲None改为 All //在APACHE里面去配置 (注意其他地方的AllowOverride也统统设置为ALL)
<Directory "D:/server/apache/cgi-bin">
AllowOverride none 改 AllowOverride ALL
Options None
Order allow,deny
Allow from all
2010-07-12 11:37:58阅读全文>>>