发新话题  

PHP开发中接收复选框信息的方法 [ 阅读1996 / 回复1 ] 打印 【复制地址】

PHP开发中接收复选框信息的方法

PHP接收多个同名复选框信息不像ASP那样自动转换成为数组,这给使用带来了一定不便。但是还是有解决办法的,就是利用javascript做一下预处理。多个同名复选框在javascript中还是以数组的形式存在的,所以在表单提交之前可以利用javascript把复选框中的信息组合成一个字符数组赋值给表单中的隐藏元素,然后用PHP中的explode函数解析此数组,这样就可以实现复选框信息的传递了。下面举例说明。

  假设有这样一个表单:
[code=php]<form name="form1" id="form1" method="post" action="myphp.php" >
<input type="checkbox" name="item" value="1">1<br>
<input type="checkbox" name="item" value="2">2<br>
<input type="checkbox" name="item" value="3">3<br>
<input type="checkbox" name="item" value="4">4<br>
<input type="hidden" name="items" value="">
<input type="submit" value="Submit">
</form> [/code]
这个表单有四个名字都是item的复选框,当用户单击Submit按钮的时候,Checker函数会被调用,并且如果Checker返回true表单就被提交,返回false表单就不会被提交。这里Checker函数就是我们要编写的预处理函数。在HTML的header部分添加下面的javascript:
[code=js]<script language="javascript">
<!--
function Checker()
{
 form1.items.value = "";
 if ( !form1.item.length ) // 只有一个复选框,form1.item.length = undefined
 {
  if ( form1.items.checked )
   form1.items.value = form1.item.value;
 }
 else
 {
  for ( i = 0 ; i < form1.item.length ; i++ )
  {
   if ( form1.item(i).checked ) // 复选框中有选中的框
   {
    form1.items.value = form1.item(i).value;
    for ( j = i + 1 ; j < form1.item.length ; j++ )
    {
     if ( form1.item(j).checked )
     {
      form1.items.value += " "; //用空格做分割符
      form1.items.value += form1.item(j).value;
     }
    }
    break;
   }
  }
 }
 return true;
}
-->
</script> [/code]
这样就可以把所有选中的复选框的value组合成为一个字符串数组,在myphp.php使用这样的语句:
[code=php]$items = explode(" ", $HTTP_POST_VARS["items"]); [/code]
就可以把这些选项分离出来成为数组。需要注意的是选项中的value不能包含分割符(这里是空格)。

TOP

【转】乙肝死亡原因逆转,新药替比夫定血清学转换高

【来源:生命时报】
自去年替比夫定上市,乙肝病人抗病毒治疗又多了新选择。近日,该药IV期临床试验在中国启动。
《生命时报》记者在启动仪式上获悉,此项临床试验研究将历时一年,预期纳入全国约50个临床试验中心,约2200位e抗原阳性或阴性的慢性乙肝患者参与,以进一步观察其在慢性乙肝患者中的疗效和安全性,为寻求最佳治疗方案的医生和患者提供更多临床证据,希望能使更多患者受益。

替比夫定IV期临床试验主要研究者、中华医学会肝病学分会主任委员、首都医科大学附属北京友谊医院贾继东教授告诉记者,我国目前是全世界感染乙肝病毒人数最多的国家,全世界超过1/3的慢性乙肝病毒携带者在中国,其中约有两三千万为慢性乙肝患者,每年因为慢性乙肝引发的肝脏损害和肝癌而死亡者已达50多万!

  如何实现治疗目标,恢复正常生活无疑是慢性乙肝患者的最大渴求,贾继东教授说:“替比夫定中国注册临床试验结果已证明,在中国病人中,替比夫定的疗效优于临床上广泛应用的药物拉米夫定,耐药性则远低于后者。IV期临床试验将为临床医生提供更多的临床数据,以进一步完善治疗方案,帮助更多患者实现乙肝病毒DNA抑制和e抗原血清转换的治疗目标。”

  据了解,此次试验入组病人是根据今年6月在“2008港沪国际肝病会议”上公布的亚洲慢性乙肝患者调查(其中中国患者约占60%)结果来确定的,即其转氨酶(ALT)水平大于两倍正常上限且乙肝病毒DNA水平小于9log10拷贝/毫升的e抗原阳性患者,和乙肝病毒DNA小于7og10拷贝/毫升的e抗原阴性患者。

  通过对全球最大规模的慢性乙肝患者注册临床试验(GLOBE研究)结果分析发现,在符合上述条件的这些主要治疗人群中,替比夫定效果更佳。例如,e抗原阳性的患者,接受替比夫定2年治疗后有47%的人可实现e抗原血清学转换,77%的人病毒DNA仍然检测不到;e抗原阴性的患者,接受治疗2年时有89%的人病毒DNA仍然检测不到,且耐药发生率仅为3%。“血清转换是一项非常重要的指标。”贾继东说,根据最新颁布的慢性乙型肝炎治疗指南,若病人达到该指标,再巩固治疗一年可考虑停药,病情复发或恶化的可能性很小。

  目前,替比夫定已在包括美国、欧盟在内的60多个主要市场上市。此外,替比夫定还是唯一一个美国食品和药品管理局批准的妊娠B级的核苷类似物。

TOP

发新话题
dedecms2007即将发布