我检查了最大字母数。如果第一次检查不正确,则其工作正常。但是如果我有200个字符或更多的插入,它总是返回Message cant have more than 200 characters.
即使在测试返回错误后有10个字符。无法看清我做错了什么。
<?php
$stripped = mysql_real_escape_string($_GET['id']);
$id = mysql_real_escape_string($_GET['id']);
$message = mysql_real_escape_string($_POST['message']);
$aktiv = mysql_real_escape_string($_POST['aktiv']);
if (isset($_POST['sendmsg'])) {
if ($_POST['message'] < 200) {
echo "Message can't be more than 200 characters";
} else {
$result = mysql_query("UPDATE cms_prosjekt SET message = '$message', active_msg = '$aktiv' WHERE id = $stripped;");
header('Location: Location: /index.php?url=projectedit&id='.$stripped.'&code='.$id.'');
exit;
}
}
?>
答案 0 :(得分:4)
这不是mysql错误,而是你的php验证错误
1)超过200个>200
而非<200
2)您需要检查文本的长度而不是文本
if (strlen($_POST['message']) > 200)
{
echo "Message can't be more than 200 characters";
}
答案 1 :(得分:2)
问题出在($_POST['message'] < 200)
,你应该(strlen($_POST['message']) > 200)
至少这是消息长于200时显示的消息。