后端 - PHP字符串如何截取表单内的内容?

WBOY
发布: 2016-08-27 09:06:51
原创
1056 人浏览过

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"]; 即可

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板