仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 941|回复: 19
打印 上一主题 下一主题

[学习教程] PHP编程:关于session的成绩集锦处理计划

[复制链接]
再现理想 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:12:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在学习HTML中我想边学边做是最有效的方式,当然这一方式对于学习PHP同样是最有效的。session|处理|成绩   1.
毛病提醒
Warning: Cannot send session cookie - headers already sent
Warning: Cannot send session cache limiter - headers already sent
剖析及处理举措
这一类成绩,的缘由是你在法式中利用session_start()时,之前已有实践的html内容输入了。也许你说,我没有啊,我只不外是echo或print一条动静了。很抱愧,你的echo或print语句所发生的输入,就是实践的html内容输入。处理此类成绩的举措是,将你的session_start()调到法式的第一行。

2.
毛病提醒
Warning: open(F:/689\php\sessiondata\sess_66a39376b873f4daecf239891edc98b5, O_RDWR) failed
剖析及处理办法
呈现如许的毛病语句通常为由于你的php.ini中关于session.save_path一项没有设置好,处理的办法是将session.save_path和session.cookie_path 设置置为
session_save_path = c:\temp
session.cookie_path = c:\temp
然后在c:\目次下创立一个temp目次,便可

3.
毛病提醒
Warning: Trying to destroy uninitialized session in
剖析及处理办法
出类如许的提醒,普通情形都是你直接调session_destroy()函数酿成的。良多的伴侣以为session_destroy()函数可以自力的运转,其实否则。处理的办法是在你调session_destroy()函数之前,要用session_start()开启session的功效。

4.成绩:怎样取得以后session的id值呢?
最复杂的办法是:
echo SID;
你会发明的。

5.成绩:我的法式,在挪用header函数之前没有任何的输入,固然我include了一个config.php文件,但在config.php文件中也没有任何的输入,为何session仍是会报出与成绩1一样的毛病呢,是否是由于我在header之前用了session_start()的原因呢?
答:也许你的确仔细的反省了你的php法式,在援用header()之前的确也没有任何的输入,而且在你的include文件中也没有任何的输入!然而你是不是用光标键在?>这个PHP代码停止语句后挪动反省呢?那末你会发明在?>这个前面,有一个空行或几个空格,你删除这几个空行或空格,那末成绩就处理了。
注:此成绩,会出PHP4.1.2中,更高版本,没有测试过。

6.问:用session做登录主页面后,其它页面怎样用session限制登录。。。
答:最复杂的办法是
session_start();
if(!session_registered('login') ││ $login != true) {
echo "你没有上岸";
exit;
}

7.问:我用session_register()注册了session变量,可是当我用header或用javascript的重定向语句,那末在一下页面中,我却会见不到session所注册的变量值。请问若何处理?
成绩的法式片断:
<?
session_start();
$ok = 'love you';
session_register('ok');
header("location : next.php");
?>

next.php
<?
session_start();
echo $ok;
?>

处理的办法:
当你用header函数或window.location如许的功效后,你上一个页面所注册的session变量,就会轻易的丧失,关于这个成绩的缘由,至今仍没有一个具体的回覆。
不外有处理的办法。以下所示
header("Location: next.php" ."?" . SID);
在跳转到下一页面的时分,将session确当前id做为一个参数,传到后一个页面。

8.session若何传数组
session_register('data');
$data=array(1,2,3,4);

办法是先注册后赋值
9.成绩9:我是否是可以用像$HTTP_GET_VARS['**']体例来会见session值呢?
回覆:可以,你可使用以下global数组来会见session,以增强网页的平安性
$HTTP_SESSION_VARS
$_SESSION
例程:
<?php
session_start();
$username = 'stangly.wrong';
session_register('username');

echo $HTTP_SESSION_VARS['username'];
echo '<br>';
echo $_SESSION['username'];
?>
请参照此例程修正合适您本人的法式。

成绩10:session_unregister() 和 session_destroy() 有何区分?
session_unregister()函数次要感化是注消以后的一个session变量。不外要注重的是,假如你用$HTTP_SESSION_VARS或$_SESSION在以后页面中援用过session变量,那末你能够需求和unset()共同 来注消session变量。
而session_destroy()是排除以后的session情况。意思就是说,当你用session_destroy()函数后,那末你就不成能再用session_is_registered()来检测session的变量了。然而需求注重的是他不克不及排除global中的session或利用了session cookie的中的session.所以在用session_destroy之前,最好不要用$HTTP_SESSION_VARS $_SESSION来会见session.(译自于php.net)

例程:
if(isset($_COOKIE[session_name()])) {
session_start();
session_destroy();
unset($_COOKIE[session_name()]);
}


掌握静态网页的制作技术是学习开发网站的先决条件,这一点就讲到这里,因为这篇文章不是教程文章,也就不对技术进行深入的刨析了。
山那边是海 该用户已被删除
沙发
发表于 2015-2-4 09:57:18 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
柔情似水 该用户已被删除
板凳
发表于 2015-2-9 21:59:26 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
蒙在股里 该用户已被删除
地板
发表于 2015-2-27 22:45:35 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
乐观 该用户已被删除
5#
发表于 2015-3-4 06:47:01 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
海妖 该用户已被删除
6#
发表于 2015-3-11 17:49:28 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
透明 该用户已被删除
7#
发表于 2015-3-13 01:08:20 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
精灵巫婆 该用户已被删除
8#
发表于 2015-3-14 12:35:23 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
飘飘悠悠 该用户已被删除
9#
发表于 2015-3-21 07:13:00 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
小女巫 该用户已被删除
10#
发表于 2015-3-25 04:58:13 | 只看该作者
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
深爱那片海 该用户已被删除
11#
发表于 2015-3-26 10:53:35 | 只看该作者
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
因胸联盟 该用户已被删除
12#
发表于 2015-3-31 22:58:02 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
admin 该用户已被删除
13#
发表于 2015-4-4 23:23:50 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
只想知道 该用户已被删除
14#
发表于 2015-4-11 07:08:47 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
分手快乐 该用户已被删除
15#
发表于 2015-6-22 15:45:31 | 只看该作者
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
愤怒的大鸟 该用户已被删除
16#
发表于 2015-6-26 08:22:21 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
若天明 该用户已被删除
17#
发表于 2015-6-29 05:07:08 | 只看该作者
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
简单生活 该用户已被删除
18#
发表于 2015-7-6 00:25:06 | 只看该作者
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
变相怪杰 该用户已被删除
19#
发表于 2015-7-9 10:45:01 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
金色的骷髅 该用户已被删除
20#
发表于 2015-7-9 11:40:42 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-14 08:25

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表