网上找了很久,才搞定.name就是radio的name属性,我用name和checked两个属性组合,没效果。
$("input[name='radio']:checked").val();
网上找了很久,才搞定.name就是radio的name属性,我用name和checked两个属性组合,没效果。
$("input[name='radio']:checked").val();
代码中用到了jQuery,传入的参数是jQuery选择的input对象.原理:先用正则匹配,再提取时分秒,看其是否在正常的范围内。
/**
* 检测时间是否符合格式
* @param {Object} timeTextBox
*/
function checkTime(timeTextBox){
var time = timeTextBox.val();
var regTime = /^([0-2][0-9]):([0-5][0-9]):([0-5][0-9])$/;
var result = false;
if (regTime.test(time)) {
if ((parseInt(RegExp.$1) < 24) && (parseInt(RegExp.$2) < 60) && (parseInt(RegExp.$3) < 60)) {
result = true;
}
}
if (result) {
$("#errmsg").html("");
}else {
timeTextBox.attr({
value: ""
});
timeTextBox.focus();
$("#errmsg").html("时间格式错误");
}
return result;
}
接收一组checkbox复选框的值,关键在于checkbox的name属性。同组checkbox的name属性必须相同,且以[]结尾,如下:
<input type="checkbox" name="syncSection[]" value="pubBook" />
php接收:
$syncSection=$_POST['syncSection'];
参数不需要加[] 接收到的是数组。
<?php
$start = strtotime ("2012-03-23 23:00:00");
$end = strtotime ("2012-03-23 22:00:00");
$differ = $end - $start;
echo $differ;
//以秒为单位的间隔时间
$datetime1 = new DateTime("2012-04-16 04:58:52");
$datetime2 = new DateTime("2012-04-16 05:58:50");
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a天%H小时%i分%s秒');
//用DateTime可以很方便格式化
?>
默认情况下,框架内的页面如果重定向,重定向后的页面,还是显示在前一个页面在框架中的位置,而不会刷新两个框架。如果需要跳出框架,可以用下面的方法解决:
parent.location.href='../login.php'
在网上找了好久,貌似除了在数据库里加个随机字符串来验证外,没有任何其他方法了。我的方法是用户每次登录时把Cookie里的PHPSESSID写进数据库,在每个页面读cookie时,和数据库对比一下(当然包括其他的字段),这样可以实现,只能一台机器同时登录,后面登录,前面的cookie就失效,PHPSESSID是PHP自动随机生成的,没有规则。
原则上cookie只能保存字符串,所以要把对象存进cookie,需要先把对象序列化,在读取的时候,再反序列化。 保存:
use mylibs\User;
require_once 'mylibs/User.php';
$user=new User();
$user->setUsername('用户名');
$user->setAddress('地址');
$obj_str = serialize($user);
setcookie('user',$obj_str);
读取:
use mylibs\User;
require_once 'mylibs/User.php';
$user=unserialize($_COOKIE['user']);
echo $user->getUsername();
echo $user->getAddress();
但是奇怪的是,session却可以直接保存对象。 2012年4月22日补充:今天发现上面的代码在IE下有问题,读取后,部分属性会丢失,找不到解决方法,目前只好分别存储每一个属性。
php自带了microtime函数可以获取系统时间的微秒值,但是格式有点特别,分成两段,如0.73517400 1333632591,前一段就是微秒,我们需要提取,转换一下。
function currentMicroTime()
{
$time = explode ( " ", microtime () );
$time = $time [1] . ($time [0] * 100000000);
return $time;
}
参数不定函数指的是参数的数量是不确定的,下面是例子是用来判断传过来的变量是否都不为空(empty函数,0也会返回true).
<?php
function isAllNotEmpty()
{
//检查所有参数是否都不为空
$num=func_num_args();
//参数数量
$list=func_get_args();
//得到参数数组
for($i=0;$i<$num;$i++)
{
if(empty($list[$i]))
return false;
}
return true;
}
$a=1;
$b=0;
var_dump(isAllNotEmpty($a,$b));
?>
当php文件与smarty库不在同一级目录时,如在一个项目根目录中,存放smarty目录和admin目录,admin目录里的php文件就与smarty目录不同级,这时,在PHP中,必须指定templates和templates_c的路径,否则报错,提示: Fatal error: Uncaught exception ‘SmartyException’ with message ‘Unable to load template file ‘admin/XXXXXX’’ 正确的代码:
$smarty=new Smarty();
$smarty->template_dir="../templates";
$smarty->compile_dir="../templates_c";
$smarty->display("admin/login.html")