Maison > Article > développement back-end > 后端 - PHP字符串如何截取表单内的内容?
HTML代码,表单:
<code> <form method="post" action="<?php%20echo%20htmlspecialchars(%24_SERVER%5B" php_self>"> <input type="text" name="name" class="a1-input" placeholder="名字"> <div class="a1-btn-min"><button class="a1-btn waves-effect waves-light">YES</button></div> </form></code>
PHP代码,验证:
<code><?php $name = ""; $name_str = mb_strlen($name,"UTF8"); if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { echo "<script>alert('你并没有写你的名字...')"; } else if($name_str >= 10){ echo "<script>alert('这貌似不是一个名字吧~!')</script>"; } else{ $name = test_input($_POST["name"]); } } function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } ?></code>
上为html和php代码,设置了一个空的名字是 name 的变量,但是后面不得不获取表单内用户所填写的字符长度并验证。
可是呢,验证长度的时候,无法验证到用户所填写信息的长度,这样如何解决?
HTML代码,表单:
<code> <form method="post" action="<?php%20echo%20htmlspecialchars(%24_SERVER%5B" php_self>"> <input type="text" name="name" class="a1-input" placeholder="名字"> <div class="a1-btn-min"><button class="a1-btn waves-effect waves-light">YES</button></div> </form></code>
PHP代码,验证:
<code><?php $name = ""; $name_str = mb_strlen($name,"UTF8"); if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { echo "<script>alert('你并没有写你的名字...')"; } else if($name_str >= 10){ echo "<script>alert('这貌似不是一个名字吧~!')</script>"; } else{ $name = test_input($_POST["name"]); } } function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } ?></code>
上为html和php代码,设置了一个空的名字是 name 的变量,但是后面不得不获取表单内用户所填写的字符长度并验证。
可是呢,验证长度的时候,无法验证到用户所填写信息的长度,这样如何解决?
你的你要把你拿到的$_POST["name"]赋值给$name才行啊,或者直接mb_strlen($_POST["name"],"UTF8")
因为你在if判断里没有再进行
<code>$name_str = mb_strlen($name,"UTF8");</code>
$name = $_POST["name"]; 即可