Maison  >  Article  >  développement back-end  >  后端 - PHP字符串如何截取表单内的内容?

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

WBOY
WBOYoriginal
2016-08-27 09:06:511054parcourir

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn