我想将文本的最大用户输入设置为600字节。 PHP

时间:2014-04-02 03:21:38

标签: php

我别无选择,只能请各位专业人士帮助我。

好吧,我有一个HTML表单,允许用户输入消息和名称。我想 将消息的最大字节设置为600字节,并将名称的最大字节设置为30字节,但 我应该使用php来设置用户输入的限制吗?如果有办法在PHP中处理它 我想知道。

<form id="formed"  action="second.php" method="post">
        <textarea rows="5" cols="20" name="text" id="text"></textarea><br />
        <input type="text" name="name" id="name"/><br />
        <input type="submit" name="sub" id="sub"/><input type="button" id="display" value="display">
    </form>

2 个答案:

答案 0 :(得分:0)

输入标记有maxlength attribute,用于:

<input type="text" name="name" id="name" maxlength="30" />

HTML5中的Textarea元素具有maxlength attribute,但仅在某些浏览器中受支持。

您还可以实现JS检查,即在这些输入上调用keydown事件,或者在提交表单时。

要通过PHP将字符串截断为最大长度,可以使用substr。例如,要将字符串截断为最大长度为30个字符:

$str = substr($str, 0, 30); 

答案 1 :(得分:0)

您应该在客户端和服务器端都检测到这一点。在客户端进行操作可以让用户知道他们不应该再生成字符串,而在服务器端执行此操作可以确保字符串实际上不会超出您想要的范围。

任何人都可以通过浏览器中的开发人员工具修改客户端上的html,这样就可以删除html元素的maxlength属性,然后发送长度超过30个字符的字符串。

<textarea rows="5" cols="20" name="text" id="text" maxlength="600"></textarea>
<input type="text" name="name" id="name" maxlength="30">

if(strlen($_POST['name']) > 30) {
   // Name is too long, report an error to the user
}

if(strlen($_POST['text']) > 600) {
   // Text is too long, report an error to the user
}