在发布时不能验证字符长度



我觉得这应该是非常简单和直接的,尽管不知怎么我得到的逻辑错误。


function postLengthTitle($post_title_test) {
$result;
$title = strlen($post_title_test);
if (!$title < 40 || !$title > 200) {
$result = true;
} else {
$result = false;
return $result;
}
}
function postLengthContent($content_test) {
$result;
$content = strlen($content_test);
if (!$content < 500 || !$content > 2000) {
$result = true;
} else {
$result = false;
return $result;
}
}
if(postLengthTitle($post_title_test) === false){
header("location: ../content/makeapost.php?".htmlspecialchars($postpage2)."");
exit();
}
if(postLengthContent($content_test) === false){
header("location: ../content/makeapost.php?".htmlspecialchars($postpage3)."");
exit();
}

标题可以正常工作,尽管内容不能。给出500多个字符仍然会给我带来错误。这是验证字符长度输入的正确方法吗?

嗯,很难重新编码没有意义的代码,但这里是我最好的尝试:

function validLengthTitle($title) 
{
$length = strlen($title);
return ($length >= 40) && ($length <= 200);
}
function validLengthContent($content) 
{
$length = strlen($content);
return ($length >= 500) && ($length <= 2000);
}
if(!validLengthTitle($post_title_test)){
header("location: ../content/makeapost.php?".htmlspecialchars($postpage2)."");
exit();
}
if(!validLengthContent($content_test)){
header("location: ../content/makeapost.php?".htmlspecialchars($postpage3)."");
exit();
}

我不能,无论如何,保证这段代码做你想让它做的事。

如果你想做更多的长度检查,你可以创建一个更通用的函数:

function validateLength($text, $minLength, $maxLength) 
{
$length = strlen($text);
return ($length >= $minLength) && ($length <= $maxLength);
}

相关内容

  • 没有找到相关文章

最新更新