我记得我原先还能注册的,但是后来改动了不少代码,这些就忽然无效了.只能注册password.很奇怪- =
我把代码简单点给大家看.很明了的.
如果说post值没带到,那2个session为空,正常.但是连赋值都失败,是为什么???
下面我把测试图放上来:
用户名:测试用
密码:ceshi
能注册password... 囧了.
但是不知道为什么.匹配资料后,并没有把username的值给session变量.
也没有修改isuser的值为1.
如果要看整站代码,在http://bbs.phpchina.com/thread-75123-1-1.html 后面几楼
[ 本帖最后由 konakona 于 2008-8-20 21:26 编辑 ]
培训新闻
- 大连开沅教育(PHP大连中心)12月LAMP项目实...
- 济南第九期LAMP实训就业班冬节火热报名中
- 西安PCTI-5期业余班热招中......
- 上海LAMP一期实战精英班11月27日开班啦~~~~~...
- 北京培训中心PCTI-18期 开始热招了~~~~~
- 上海LAMP兄弟连就业二期(12月中旬)直通车开...
- 北京“免费”就业九期直通车开始热招
- 西安中心Discuz/UCHome二次开发培训班招生!
热点专题
网站特别推荐
- PHP考试认证问题
- 大连开沅教育(PHP大连中心)12月LAMP项目实...
- 福州厦门什么时候有开培训班
- 济南第九期LAMP实训就业班冬节火热报名中
- 西安PCTI-5期业余班热招中......
- 济南12月LAMP软件工程师班开始报名......!
- 上海LAMP一期实战精英班12月3日开班啦~~~~~~...
- 北京培训中心PCTI-18期 开始热招了~~~~~
- 上海LAMP就业二期脱产班(12月中旬)直通车开...
- 湖南怀化培训中心12月LAMP全能班招生
社区精华
- leehui1983MYSQL开发实用知识集合(暂告一段落...
- laruence深入理解PHP原理之文件上传
- peacock【重点推荐】一款专业级Web开发工具
- 夢諾雨蓒授人渔而非鱼之程序调试及解决问题之...
- 某个人让设计不再成为负担-设计模式详解【...







最新回复
[ 本帖最后由 konakona 于 2008-8-20 21:37 编辑 ]
$_SESSION['username']=$username;
$_SESSION['passwrod']=$password;
来解决问题
但是为什么用session_register('username');就不能呢???奇怪的事儿.
这样就没办法用 if (session_is_registered('username') && session_is_registered('password'))
来判断了...
这样就OK了啊。
QUOTE:
但是我记得我原先能用起的- =哎...原先的代码就跟
$a='china';
$b='china';
session_register('a');
session_register('b');
$_SESSION['isuser']=1;
print_r($_SESSION);
似的..能用起也不足为奇了...
你的这个不行啊.
我又不想把它赋值给$username,这样不就失去了session的作用不是吗?
而且如果直接if($isset($username))
那么我从别的页面POST过来的username不就正好是有值么.这样不正确.也不对.
还记得我开头有一个session初始化不?防注入的.
而且特意用了switch.
不知道为什么那个if失效.并没有中止脚本执行- =
反而执行了session初始化操作- =
[ 本帖最后由 konakona 于 2008-8-20 22:05 编辑 ]
QUOTE:
QUOTE:
QUOTE:
第二局看懂了第一局似乎跟全局变量有关- =
我的php.ini里的全局变量是关闭的.
一般大家都会关的
但是在smarty模块里,原本的判断式不能使用了.
不知道该用什么?这个是原本的.
{if $smarty.session.isuser=="1"}<p>Are you want <a href="login.php?go=out">exit</a>?<br>{/if}
[ 本帖最后由 konakona 于 2008-8-20 22:19 编辑 ]
CODE:
function checkuser(){
仔细看我标记的地方$_SESSION['isuser']=0;
$_SESSION['username']='';
$_SESSION['passwrod']=''; <= "passwrod"?
print_r($_SESSION);
$username=KillHtml(isset($_POST['username'])?$_POST['username']:'');
$password=KillHtml(isset($_POST['password'])?$_POST['password']:''); <="password"?
echo "用户名:".$username;
echo "<br>密码:".$password;
session_register('username');
session_register('password'); <="passoword"?
$_SESSION['isuser']=1;
}
QUOTE:
关参考书什么事呢这是别人最近编写的代码
QUOTE:
可能是这个函数有点混乱.也许是bug.如果只是简单的$a='b';$b='c';
然后session_register(a);
如果只是这样,可以注册.
然后用 session_is_register可以检查到.
但是我那个php代码,似乎并不复杂,也没有什么逻辑错误不是吗.
全部变量我是关了的.
之前最原始我没有修改那份代码,是从别人那里下载来的,能够注册.
但是我修改了一下以后就不能注册了.
我仔细检查过了我的if ,函数等结构,发现没有什么问题.
你们也发现了吧,如果说函数有问题,那么为什么会有一个接受到了并且注册成功呢?
明明3个条件是放在一起的.
所以我认定这个函数有一定的短处.
QUOTE:
你标记的我根本没看出什么.莫非你的意思是叫我用双引号???
其实POST过来的值都会转换成字符串的.并且在处理函数之后也echo出来了.
然后马上,下一步就是
session_register
但是只能注册password,而username和isuser的值都没有赋予进去也没有修改.
所以我现在用的是是$_SESSION[]赋值.
QUOTE:
晕倒,明显你两个地方的单词拼写的错误。一个是password,另外一个是passwrod,看到没