如果输入的字符数小于6,我想阻止POST使用此代码:
<?php
if(isset($_POST['button']))
{
$id = $_SESSION['user_session'];
$u_password = $_POST['password'];
if($crud->updatePassword($id,$u_password))
{
$msg = $msgsucces;
}
else if($u_password < 6) {
$msg = "<div class='alert alert-warning'><strong>Failed!!</strong> Minimum length 6 character</div>";
return false;
}
else
{
$msg = $msgfailled;
}
}
echo $msg ;
?>
但显然它没有用。有什么问题?
答案 0 :(得分:2)
您可以使用以下条件:
$msg = "";
if(strlen($u_password) < 6) {
$msg = "<div class='alert alert-warning'><strong>Failed!!</strong> Minimum length 6 character</div>";
}
else{
if($crud->updatePassword($id,$u_password))
{
$msg = "success message";
}
else {
$msg = "failure message";
}
}
echo $msg;
要检查输入的长度,您可以使用strlen()
功能。
旁注:
请注意,我已从ist条件中删除return false。
还建议您始终在文件中添加error_reporting()
这有助于您节省时间。 (仅适用于不适合生产的当地环境)。
答案 1 :(得分:1)
$u_password <6
你没有真正检查长度。如果$crud->updatePassword($id,$u_password)
失败,则执行最后的其他操作,即错误。
if(strlen($u_password) < 6)
{
$msg = "<div class='alert alert-warning'><strong>Failed!!</strong> Minimum length 6 character</div>";
return false;
}
else if($crud->updatePassword($id,$u_password))
{
$msg = $msgsucces;
}
else {
$msg =$msgfailled;
}
}
echo $msg ;
?>