以前一直搞C++进行C/S开发,曾经的想法是如果有机会,学学搞网站和嵌入式开发
没想到找到工作的第2天就有了做网站的机会,也赚到了自己大学期间最高的一份工资,10天1000块
在什么的都不会的情况下,尽然答应人事处的老师一个星期写好网站的后台
我承认找到工作后自己是有点狂了,很多事没注意到,很多事后悔不了。。。
接下来的一个星期都看了2天的php、htm,用了之前专业美工写好的css代码和自己找的一些js代码,把网站的前台写好了,两三天后弄好后台,仅把中间遇到的部分问题贴出来,供像我这样的初学者应急,更多的需要自己去探索
1.中文字符集
网站发布上去就出现了问题,因为之前一直在windows下测试,结果转到linux的服务器上,代码就跑飞了,不得已将所有上传的消息文件换名为编号加上一串随机字母数字混合
2.不严格的类型定义
php属于弱类型定义,有个搞了几十分钟的错误就是因为粗心写错了一个变量的字母(被认为是一个新的变量了,在php中)
3.强大的echo类似sprintf
4.页面之间的数据传送
get和post方式,注意对于字符串传送最好使用urlencode加密再decode解密
5.mysql操作
跟mssql还是比较相似的,具体区别不太记得了,反正用到不会的都是google解决的
6.分页的实现
在后来写asp.net网页时候,才知道.net中已经定义好的控件时多么强大
用get的方式获得点击下一页传送过来的页码,再用上mysql的limit关键字搞定,记得页码得++
7.apache 配置
为了不允许网站出错时候,列出网页目录,暴露了网页架构,配置apache参见网站,就一句话的问题
http://hi.baidu.com/huweili/blog/item/cea87e31862da310ebc4af89.html
8.对文件名空格的处理
空格会被当做%20处理,在url中,用到上面的urlencode就行了,要不然带空格的文件或是文件名通过url传递时会出错的
9.超强滚屏代码
http://www.aa25.cn/552.shtml(好像是这个网站)
为了实现新闻的垂直不间断滚动,在网上找了很多js代码,上面这个是效果最好的,但是在ie内核的浏览器下效果却不是很好,我用php判断了浏览器类型,然后决定是使用上面的代码还是ie的marquee
10.插入乱码问题
mysql_query("SET NAMES 'gb2312'");修改编码,需要根据数据库而定,要不然mysql的插入语句极可能带来乱码
11.页面不会滚到网页开头
http://www.phpwind.net/read-htm-tid-521972.html
12.自动刷新的实现
$url_this = "http://".$_SERVER ['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo "<SCRIPT>window.location = /"".$url_this."/"</SCRIPT>";
13.select语句尽量用排序方式,因为html的可控性复杂,常出现乱序情况
14.linux下路径用“/”,而windows下用“/”
15.linux文件权限问题 chmod( "com/aaa", 0777 ); 最高权限
16.中文乱码问题,随机数
之前上传的htm文件显示总是会默认为windows西欧,csdn上百分寻解决方法无效,只好自己手动改了在不同文件夹下的大约20多个文件的默认编码方式,本以为乱码问题会一直困扰着这个网站,可后来上传的文件都很正常,想想应该是原来那些文件是从用.net开发windows上拷贝过来的问题
17.默认umask修改,这都不太记得是什么了
18.文件夹操作,删除,其实还是linux权限问题,必须是可修改的文件夹,程序才可以删除,反正当时我用ftp进行后台管理的时候,有些文件时删除不了的,程序中添加删除语句即可
19.css和js的强大,这个不用我说了,稍微懂点网站的人都应该知道,做完这个网站只是对php的强大五体投地,对css和js的了解连皮毛都算不上
20.前几天忽然发现网路浏览量计数错误,只要刷新页面流量即会加1,本来也没想什么,因为浏览量计数程序导致流量多次重新归0,以为前面的问题是改程序造成。今天登录phpmyadmin发现 IpCount看不见记录数、类型,只显示表使用中,上网搜了下才知道表已经损坏了导致无法比较IP,选中表,点击下拉框的修复表,恢复正常