手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表Tag:jquery

元旦快乐

2011年开始了,我也希望我在新的一年里有新的突破。
事实上,从去年下半年开始我就在准备欣购网了,但非常让我郁闷的事情是,它被多次打断,第一次是域名备案实名制,OK,我准备了一些资料,比如我的身份证、照片、还有一些协议的签名。提交上去后,被折腾了一个月,然后那边认为比较完整了,再提交了我的备案信息。可是提交上去一个月后,告诉我资料不全,被退回。然后又请Edong重新提交,不幸的是,又被退回。关键我现在还不知道哪个环节资料不全,而同期提交的一个jiganglu.com却通过了。心酸呀。。。

所以,我现在最大的希望是在年前通过备案。然后可以正常的运作。

第二件事就是公司的网站改版,半年了,没有招到什么令人满意的PHPer,目前除我之外,还有一个新手在做开发,她也很努力,只是感觉钻研的精神不是特别的强。当然这也没办法,毕竟目前的开发实在让人难以提起兴趣。

所以我现在希望2011年会更好。不管是自己想做的,还是自己想学的,都希望能够顺利运作。

小技巧:mysql in 排序

偶尔看到的。。。或许有人会注意过,但我以前真不知道
SQL: select * from table where id IN (3,6,9,1,2,5,8,7);

这样的情况取出来后,其实,id还是按1,2,3,4,5,6,7,8,9,排序的,但如果我们真要按IN里面的顺序排序怎么办?SQL能不能完成?是否需要取回来后再foreach一下?其实mysql就有这个方法

sql: select * from table where id IN (3,6,9,1,2,5,8,7) order by field(id,3,6,9,1,2,5,8,7);

出来的顺序就是指定的顺序了。。。。这个,以前还真的从来没用过,偶尔看到,所以就记录了一下。一是做个笔记,二是希望可以给更多的人看到

表单提交时submit按钮的值没有被提交

今天在RPC里面,阿刁提出个问题,FORM表单中,submit提交的时候,有时候有值,有时候无值 ,想问清楚是什么原因

状态描述:

1、FORM表单中,submit的name是Submit。即 <input type="submit" name="Submit" value="提交表单" />

2、当点击submit按钮时,FORM被提交,提交后获取的数组中有Submit下标的值

3、回到FORM表单,直接敲回车提交,这时候发现获取的数组中没有Submit下标。

纠结的是:为什么会有两种情况的不同

查找原因,最后基本确认,这是由于form在不同情况下,可以直接使用回车进行提交表单而导致的问题。这里有几篇参考文章:不同浏览器对回车提交表单的处理办法表单提交按钮input和button的取舍。那么,为什么敲回车和点击submit不一样呢?怎么样才能让他们一样?

尝试将focus移到submit按钮上。敲回车提交。这时候,是带有Submit值的。如果focus不在submit按钮上,则无效。知道了问题的原因,那就有解决方法了。对于submit,不要设name值 。如果确实需要传递值 ,请使用hidden域进行值的提交。以防止数据产生偏差。

Tags: submit, html, form

笔记:svn之目标机器积极拒绝

在以前的博客文章里也介绍了怎么安装svn的,昨天我又重装了一下,不过是按照网上的教程来装的。所以遇到了点问题,那就是:目标机器积极拒绝。
安装过程如下:
$apt-get update
$apt-get install subversion
$mkdir /var/svn/
$useradd svn
$passwd svn
$chown -R svn:svn /var/svn
$svnadmin create /var/svn/test
$vim /var/svn/test/conf/svnserve.conf
把几个注释去掉。。。。
$vim /var/svn/test/conf/passwd
添加用户
$vim /var/svn/test/conf/authz
增加权限
$svnserve -d -listen-port 9999 -r /var/svn
表面上看来没什么问题。但事实上连接的时候就是目标机器积极拒绝。。
仔细想了想,应该没什么问题。看了一下进程,也确实存在 svnserve:ps -ef|grep svnserve
那问题出来哪里呢?突然想到-listen-port ,会不会端口的问题?于是杀掉进程后
$svnserve -d -r /var/svn
然后就可以连上了。。
做个记录

Tags: svn, subversion, ubuntu

js模拟php:print_r

在PHP中,我们打印一个数组或者对象的时候,都是用print_r,相对比较直观,可是javascript就不行。翻了翻资料,也看到一些代码的写法。这里是一个简单的处理(不能打印window,document等对象):

JavaScript代码
  1. function print_r( $value ){  
  2.     if($value.constructor == Array || $value.constructor == Object ){  
  3.         document.write("<ul>");  
  4.         for (var $i in $value){  
  5.             if($value[$i].constructor == Array || $value[$i].constructor == Object ){  
  6.                 document.write("<li>["+$i+"] => " + typeof( $value ) + " </li><ul>");  
  7.                 print_r($value[$i]);  
  8.                 document.write("</ul>");  
  9.             }else{  
  10.                 document.write("<li>["+$i+"] => " + $value[$i] + "</li>");  
  11.             }  
  12.         }  
  13.         document.write("</ul>");  
  14.     }  
  15. }  
  16. var s = {};  
  17. s.i = '123';  
  18. s.o = {};  
  19. s.o.test = 'tt';  
  20. print_r(s);  

 

然后看了一下phpjs.org,它上面的print_r就比较复杂了。。。

JavaScript代码
  1. function print_r (array, return_val) {  
  2.     // Prints out or returns information about the specified variable    
  3.     //   
  4.     // version: 1008.1718  
  5.     // discuss at: http://phpjs.org/functions/print_r    // +   original by: Michael White (http://getsprink.com)  
  6.     // +   improved by: Ben Bryan  
  7.     // +      input by: Brett Zamir (http://brett-zamir.me)  
  8.     // +      improved by: Brett Zamir (http://brett-zamir.me)  
  9.     // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    // -    depends on: echo  
  10.     // *     example 1: print_r(1, true);  
  11.     // *     returns 1: 1  
  12.       
  13.     var output = "", pad_char = " ", pad_val = 4, d = this.window.document;    var getFuncName = function (fn) {  
  14.         var name = (/\W*function\s+([\w\$]+)\s*\(/).exec(fn);  
  15.         if (!name) {  
  16.             return '(Anonymous)';  
  17.         }        return name[1];  
  18.     };  
  19.    
  20.     var repeat_char = function (len, pad_char) {  
  21.         var str = "";        for (var i=0; i < len; i++) {  
  22.             str += pad_char;  
  23.         }  
  24.         return str;  
  25.     };   
  26.     var formatArray = function (obj, cur_depth, pad_val, pad_char) {  
  27.         if (cur_depth > 0) {  
  28.             cur_depth++;  
  29.         }   
  30.         var base_pad = repeat_char(pad_val*cur_depth, pad_char);  
  31.         var thick_pad = repeat_char(pad_val*(cur_depth+1), pad_char);  
  32.         var str = "";  
  33.          if (typeof obj === 'object' && obj !== null && obj.constructor && getFuncName(obj.constructor) !== 'PHPJS_Resource') {  
  34.             str += "Array\n" + base_pad + "(\n";  
  35.             for (var key in obj) {  
  36.                 if (obj[key] instanceof Array) {  
  37.                     str += thick_pad + "["+key+"] => "+formatArray(obj[key], cur_depth+1, pad_val, pad_char);                } else {  
  38.                     str += thick_pad + "["+key+"] => " + obj[key] + "\n";  
  39.                 }  
  40.             }  
  41.             str += base_pad + ")\n";        } else if (obj === null || obj === undefined) {  
  42.             str = '';  
  43.         } else { // for our "resource" class  
  44.             str = obj.toString();  
  45.         }   
  46.         return str;  
  47.     };  
  48.    
  49.     output = formatArray(array, 0, pad_val, pad_char);   
  50.     if (return_val !== true) {  
  51.         if (d.body) {  
  52.             this.echo(output);  
  53.         }        else {  
  54.             try {  
  55.                 d = XULDocument; // We're in XUL, so appending as plain text won't work; trigger an error out of XUL  
  56.                 this.echo('<pre xmlns="http://www.w3.org/1999/xhtml" style="white-space:pre;">'+output+'</pre>');  
  57.             }            catch (e) {  
  58.                 this.echo(output); // Outputting as plain text may work in some plain XML  
  59.             }  
  60.         }  
  61.         return true;    } else {  
  62.         return output;  
  63.     }  
  64. }  

 

果然是没有做不到的事,只有想不到的事呀。。。(上面的phpjs.org的print_r需要echo方法,请到phpjs.org下载)

Tags: print_r, php