PHP表单验证实例

效果图

大致逻辑:

1.通过关键词获取表单信息。 

2.判断表单,信息是否为空。

3.判断格式是否正确 。

4.输出填写的信息。


实现代码

<!DOCTYPE html>

<html lang="zh-cn">

<head>

<meta charset="UTF-8">

<title>个人资料表</title>

</head>

<style>

body

    {

background:url("bdbg.jpg");

background-size:100%100%;

background-repeat:no-repeat;

}

</style>

<body>


  ///定义相关变量

  $name=$eamil=$weburl=$other=$sex=$nameeor=$emaileor=$weburleor=$othereor=$sexeor="";

  if ($_SERVER["REQUEST_METHOD"]=="POST")

{

      ///判断名字是否符合格式

    if (empty($_POST["name"]))

{

        $nameeor="名字是必须字段";

}

    else

        {

            $name=test_input($_POST["name"]);

            if (!preg_match("/^[a-zA-Z ]*$/",$name))

{

                $nameeor="名字不包含空格,字母";

}

}

        ////判断email是否符合格式

        if (empty($_POST["email"]))

{

            $emaileor="email地址不允许为空";

}

        else

            {

                $eamil=test_input($_POST["email"]);

                if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$eamil))

{

                    $emaileor="email地址中格式存在错误,请重试";

}

}

  // 检测 URL 地址是否合法

  if (empty($_POST["weburl"]))

{

      $weburleor = "url是必须的字段";

}

  else

      {

          $weburl = test_input($_POST["weburl"]);

          if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$weburl))

{

          $weburleor = "非法的 URL 的地址";

}

}

  // 检测 备注 是否合法

  if (empty($_POST["other"]))

{

      $othereor = "";

}

  else

  {

      $other=test_input($_POST["other"]);

}

// 检测 备注 地址是否合法

  if (empty($_POST["sex"]))

{

      $sexeor = "性别是必须的";

}

  else

  {

      $sex=test_input($_POST["sex"]);

}

}

  ///格式转换工具

  function test_input($data)

{

      $data=htmlspecialchars($data);

      $data=trim($data);

      $data=stripcslashes($data);

      return $data;

}

  ?><form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"])?>">

<fieldset>

<legend>个人资料</legend>

<ol>

<li>

名字:<input type="text" name="name" autofocus />

<?php echo $nameeor;?>            </li>

<br>

<li>

Email:<input type="text" name="email" autofocus />

<?php echo  $emaileor;?>            </li>

<br>

<li>

网址:<input type="text" name="weburl" />

<?php echo $weburleor;?>            </li>

<br>

<li>

性别:

<input type="radio" name="sex" value="男生" checked />男生

<input type="radio" name="sex" value="女生" checked />女生

</li>

<?php echo $sexeor;?>            <br>

<li>

备注:<input type="text" name="other" autofocus />

</li>

<?php echo $othereor;?>            <br>

</ol>

</fieldset>

<br>

<input type="submit" value="提交">

<input type="reset" value="重写">

</form>


  echo "<h2>您的信息内容是:</h2>";

  echo $name;

  echo "<br>";

  echo $eamil;

  echo "<br>";

  echo $weburl;

  echo "<br>";

  echo $sex;

  echo "<br>";

  echo $other;

  ?></body>

</html>

如果出现问题,最好先查看环境是否正确!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,516评论 0 13
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,060评论 0 2
  • 话说,不知道从什么时候开始, 愚人节变成了“表白节”…… 作为单身汪的小编, 给大家网罗了各种愚人节表白套路, 毕...
    不吃生菜阅读 333评论 0 0
  • 第二天,一大早,幕琪就出去了。樊玲就电话打给甜倩,听幕琪不在就回来了。她用她自带的小煮过,煮着我给她带的水饺,她说...
    3919ac9fe61c阅读 176评论 0 0