syntax error, unexpected T_CONCAT_EQUAL

January 24, 2010 by SLJ | Category:PHP | No Comment 2,242

Parse error: syntax error, unexpected T_CONCAT_EQUAL,这个问题是我今天在写php程序时出现的一个简单的问题,其实这算不上什么问题,

下面我们来看看这段代码。

sql =”Select * from * where user_myid= ‘$uid’ and user_type=0″;
  $result = mysql_query( $sql ) ;
  if( mysql_num_rows( $result ) )
  {
   while( $rs = mysql_fetch_array( $result ) )
   {
    temp.= “<friend fid=”".$rs[0].”" fname=”".$rs[1].”" /> n”;
   }
  }

哈哈,看到蓝色的temp栏目了没?

是前面少了一个$号,是不是不算问题呢,但是如何不仔细的话就是大问题哦。

PHP 变量的强制类型转换

by SLJ | Category:PHP | No Comment 562

PHP 在变量定义中不需要(或不支持)明示的类型定义;变量类型是根据使用该变量的上下文所决定的。
也就是说,如果把一个字符串值赋给变量 var,var 就成了一个字符串。如果又把一个整型值赋给 var,那它就成了一个整数。
PHP 中的类型强制转换和 C 中的非常像:在要转换的变量之前加上用括号括起来的目标类型。
复制代码 代码如下:

<?php
$foo = 10;
echo "转换前:\$foo=".$foo; //输出一个整数
echo "<br/>" //输出:$foo=10
echo "<br/>";
$foo = (boolean) $foo; //强制转换为布尔型
echo "转换后:\$foo=".$foo; //输出:$foo=1
?>

允许的强制转换有:
(int),(integer) – 转换成整型
(bool),(boolean) – 转换成布尔型
(float),(double),(real) – 转换成浮点型
(string) – 转换成字符串
(array) – 转换成数组
(object) – 转换成对象

MySql取整函数

by SLJ | Category:MySQL | No Comment 544

1.ceil () /ceiling() 向上取整

ex: ceil(1.2) = 2

2.floor () 向下取整

ex: floor(1.2) = 1

3.round() 四舍五入

PHP 中 magic_quotes_gpc 和 magic_quotes_runtime 的区别,作用和用法

January 23, 2010 by SLJ | Category:PHP | 3 Comments 3,915

魔术引用发生作用是在传递$_GET,$_POST,$_COOKIE时

1.
条件: magic_quotes_gpc=off
写入数据库的字符串未经过任何过滤处理。从数据库读出的字符串也未作任何处理。

数据:  $data=”snow”’’sun” ; (snow和sun之间是四个连续的单引号).

操作: 将字符串:”snow”’’sun” 写入数据库,

结果: 出现sql语句错误,mysql不能顺利完成sql语句,写入数据库失败。

数据库保存格式:无数据。

输出数据格式:无数据。

说明: 对于未经处理的单引号在写入数据库时会使sql语句发生错误。

2.
条件: magic_quotes_gpc=off
写入数据库的字符串经过函数addlashes()处理。从数据库读出的字符串未作任何处理。

数据:  $data=”snow”’’sun” ; (snow和sun之间是四个连续的单引号).

操作: 将字符串:”snow”’’sun” 写入数据库,

结果: sql语句顺利执行,数据成功写入数据库

数据库保存格式:snow”’’sun (和输入一样)

输出数据格式:snow”’’sun (和输入一样)

说明: addslashes()函数将单引号转换为\’的转义字符使sql语句成功执行,
但\’并未作为数据存入数据库,数据库保存的是snow”’’sun 而并不是我们想象的snow\’\’\’\’sun

More »

MeeClones is now MeePlace

January 22, 2010 by SLJ | Category:Projects | No Comment 1,348

Yes, I know “ANOTHER NAME CHANGE?”. This is because we have completely revamped our review script to it’s new awesomeness.

No more zend encoding

New features

And now the ability to build a module and theme community.

===Chinese Translation===

MeeClones改头换面改名成MeePlace了。

呼呼,这两天忙死了。应广大客户的紧逼,压力之下开放了非核心源代码。我写的代码不算美,不过丑媳妇早晚要见公婆的。

还有,在Footer上,我加上了Theme by: Lijun Shen指向我的博客,这样就不至于埋名了。

新版本还在酝酿中,估计这两天就出来了。新版本号 MeePlace 2.5

从Kiya.cn到slj.me

January 18, 2010 by SLJ | Category:Life | No Comment 2,917

最近Kiya.cn的PR升到了4。
但是郁闷的是域名,备案之类的事情搞得很乱,加之原来的空间老出现CPU超载问题,
一气之下,申请了slj.me作为博客的新域名,空间从LunarPages转到了GoDaddy,觉得还是不错的。
本来想要shenlijun.com的,可惜被人注了,哎。
把Kiya.cn所有的内容设置301转向到Slj.me的相应内容上,所以先前所有的地址,链接都还在,希望PR也能快一些的转移到新域名上来。
过几天还得把身份证扫描到新网互联才能保住我的.cn域名,折腾啊!
好吧,放假了。寒假要努力的工作,为了一个更好的前程。

MeeClones 2.2 Released [Jan 10, 2010]

January 15, 2010 by SLJ | Category:Projects | No Comment 1,382

尽管是在期末考复习阶段,我还是不怕死的工作在MeeClones上,好在全部科目都过了,有的分数还很高,哈。
MeeClones 2.2 发布了。主要对后台管理进行了优化。以后计版本都从原来的2.1.x改为2.x,否则用户会觉得更新可有可无,而每一个版本都有很大的变化

目前正着手做2.3,新功能预计将有:

MeeClones V2.3
1. Time Format customizable.
2. Be able to modify where Google map starts when adding new business or event.
3. Optional to enable captcha for registration, business submit, etc.
4. Ability to Add State.

官网演示,购买:

Demo / Purchase : http://www.meeclones.com

=============================
What’s New for MeeClones
=============================

Jan 10, 2010 MeeClones V2.2
1. Newly built database info storage method to prevent re-installation or info missing after upgrade.
2. Time Zone customizable.
3. Be able to modify Google map API key via admin panel.
4. Be able to modify site name via admin panel.
5. Be able to modify mail info via admin panel.
6. Installation improved.

More »

PHP列出目录树

January 13, 2010 by SLJ | Category:PHP | No Comment 502

最近要发展module,需要让程序扫描module文件夹并自动引入插件,就像WP那样。收集一些方法。下面是:PHP列出目录树 

<?php
/*一个简单的目录递归函数*/
function tree($directory)
{
$mydir=dir($directory);
echo "<ul>";
while($file=$mydir->read()){
if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")){
echo "<li><font color='#ff00cc'><b>$file</b></font></li>";
tree("$directory/$file");
}else{
echo "<li>$file</li>";
}
}
echo "</ul>";
$mydir->close();
}
//start the program
echo "<h2>目录为粉红色</h2>";
tree(".");
?>

研究腾讯Qzone圆角头像CSS有感

December 30, 2009 by SLJ | Category:HTML/CSS | No Comment 1,861

最近一直在帮YelpClone做定制模板。

今天闲来无事上了QZONE看看,看到那些头像(他们叫portrait,不过我们平时做开发都叫avatar)圆角就像去解剖一下看看他的做法。

TX的前端还是挺牛的,大量运用了CSS Sprite,今天就说说他们圆角头像的做法吧。

研究过代码后发现他们圆角其实是一个图片:http://qzonestyle.tc.qq.com/ac/qzone_v5/skin_img/21/portrait_round.png
有兴趣的下载下来看看,嘿嘿,注意背景千万别是白色,不然你什么都看不到了。

如果你的背景是黑色的话,可以看到如下:

tx_avatar

这个明显是想运用CSS Sprite技术做圆角的遮盖嘛。

我以前的做法是把四个角的图片单独弄下来,然后做成position:absolute; top:-1; left:-1; (左上),以此类推做出四个角,好处是能自动适应宽度。可以用四个图片,但也可以用CSS sprite整合成一张图片,不过这样一来好像很违背标准的感觉。于是感觉TX的遮蔽式圆角头像还不错。代码大概是这样的:

这里省时间和空间就不用标准方法写了,属性都强加在标签后面了,呵呵。

<div style="position:relative; width:100px; height:100px;">
 <span style="background:url(portrait_round.png) 0 -181px; width:100px; height:100px; position:absolute"></span>
    <img src="red_concise/images/add-cart.gif" width="100" height="100" />
</div>

原来思路也差不多,遮蔽的部分是absolute浮在外层relative的DIV的上面。这招也不错,以后我再开发类似的东东会借鉴的,毕竟弄四个角挺麻烦的。

揭秘HTML5和CSS3

December 28, 2009 by SLJ | Category:HTML/CSS | No Comment 2,456

转载自:http://ued.taobao.com/blog/2009/12/17/html5_css3/

互联网的发展总是在不断地催生新技术的产生,而HTML5和CSS3是最近一直被讨论的热门话题,对于每个互联网开发者尤其是前端开发者而言,都充满了好奇与渴望。那么HTML5和CSS3究竟有哪些让我们眼前一亮的东西呢?我在WebRebuild北京交流会和珍珠奶茶帮上给大家分享了《揭秘 HTML5和CSS3》,PPT在这里:
http://docs.google.com/present/view?id=dhpdbrp_51hf88z8g8

HTML5

HTML 5草案的前身名为Web Applications 1.0,于2004年被WHATWG提出,于2007年被W3C接纳,并成立了新的HTML工作团队。在2008年1月22日,第一份正式草案发布。 HTML 5是近十年来Web开发标准最巨大的飞跃。和以前的版本不同,HTML 5并非仅仅用来表示Web内容,它的新使命是将Web带入一个成熟的应用平台,在HTML 5平台上,视频,音频,图象,动画,以及同电脑的交互都被标准化。那么我们来看一下HTML5的技术概览有哪些:

HTML5新增和移除的元素

More »

↑ Top