bug1、thinkphp/tpl/dispatch_jump.tpl模块中,有如下代码:
<?php switch ($code) {?>
<?php case 1:?>
<h1>:)</h1>
<p class="success"><?php echo(strip_tags($msg));?></p>
<?php break;?>
<?php case 0:?>
<h1>:(</h1>
<p class="error"><?php echo(strip_tags($msg));?></p>
<?php break;?>
<?php } ?>
php的case不支持这样的写法,请换成if else的写法。如果不信,可以写个a.php代码,写入一下代码运行,就知道了。
<?php $code = 1; ?>
<div class="system-message">
<?php switch ($code) {?>
<?php case 1:?>
<h1>:)</h1>
<p class="success">111</p>
<?php break;?>
<?php case 0:?>
<h1>:(</h1>
<p class="error">222</p>
<?php break;?>
<?php } ?>
<p class="detail"></p>
<p class="jump">
...
</p>
</div>
bug二、library/think/Validate.php文件中下面这个函数的==,应该改成 ===。例如,在密码输入过程中,常用的验证是两次输入密码必须一致。这样,用户如果输入:000,再次输入密码:000000,会发现验证通过。因为:'000' == '00000000' ,在php字符比较时是成立的。
protected function confirm($value, $rule, $data)
{
return $this->getDataValue($data, $rule) == $value;
}