-1
我在我的网站上有一个表单,它接受来自文本区域的输入,如果它为空(strlen = 0),则另一种方式处理它,如果它有文本。 这里是表单的一部分:PHP strlen(str)不工作
<form name='contact' action='contact.php' method='post'>
...
Message*<br />
<textarea name='msg' rows='10' cols='70' maxlength='2048'><?php echo $msg ?></textarea><br />
...
<input type='submit' value='Send!' id='subby' name='fatk' style='height:60px; width:300px;' />
</form>
现在的PHP代码:
$msg = isset($_POST['msg'])?safeString($_POST['msg']):'';
$msg = substr($msg,0,2048);
if (strlen($msg) == 0)
echo "<h1>Test failed</h1>";
else { ... }
这里的safestring(str)
方法:
function safeString($str) {
htmlentities($str);
htmlspecialchars($str);
}
我每次提交表单,无论多少或者我在msg textarea中输入了多少,它总是说它是空的(通过回显TEST FAILED)。另外,你是否知道我应该加入到我的safestring()
函数中来让我的表单更安全?
这是一条评论,而不是答案。 –
所以我应该只使用'htmlspecialchars'? –
@tereško:给男人一点时间来扩大答案,是吗? – Jon