溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Thinkphp框架實現(xiàn)表單自動驗證登錄注冊

發(fā)布時間:2021-07-02 17:05:15 來源:億速云 閱讀:161 作者:chen 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“Thinkphp框架實現(xiàn)表單自動驗證登錄注冊”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“Thinkphp框架實現(xiàn)表單自動驗證登錄注冊”吧!

動態(tài)驗證:(不需要建Model模型)

1.建一個控制器,做表單操作(包含驗證)

<?php
namespace Biaodan\Controller;
use Think\Controller;
class BiaodanController extends Controller
{
  public function test()
  {
    if(empty($_POST))//如果$_POST空,顯示添加頁面,
    {
      $this->show();  
    }
    else  //如果$_POST不為空,走驗證,驗證是否成功,添加數(shù)據(jù)庫  
    {
      $y = D("yonghu");
      $arr = array(//造一個驗證規(guī)則
        array(‘uid‘,‘require‘,‘用戶名不能為空!‘,0),
        array(‘pwd‘,‘pwd1‘,‘輸入的密碼不一致‘,0,‘confirm‘),//相等驗證:confirm(驗證表單中的兩個字段是否相同,定義的驗證規(guī)則是一個字段名),意思是pwd1必須為字段
        array(‘email‘,‘email‘,‘郵箱格式不正確‘,0),
        array(‘name‘,‘/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/‘,‘身份證號不正確‘,0,‘regex‘),//正則表達式,
        array(‘a(chǎn)ge‘,‘18,50‘,‘年齡不在范圍內(nèi)‘,0,‘between‘)//范圍驗證
      );
      if($y->validate($arr)->create())//$y->validate($arr),添加之前執(zhí)行驗證規(guī)則
      {
        $y->add();  
      }
      else
      {
        die($y->getError());  
      }
    }
  }  
}

2.對應(yīng)控制器方法的html頁面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
</head>
<body>
<form action="__ACTION__" method="post">
<br />
<br />
<br />
<br />
  <div>用戶名:<input type="text" name="uid" /></div>
<br />
  <div>密碼:<input type="text" name="pwd" /></div>
<br />
  <div>確認密碼:<input type="text" name="pwd1" /></div>
<br />
  <div>姓名:<input type="text" name="name" /></div>
<br />
  <div>郵箱:<input type="text" name="email" /></div>
<br />
  <div>年齡:<input type="text" name="age" /></div>
<br />
  <div><input type="submit" value="添加" /></div>
</form>
</body>
</html>

ajax:(不需要建Model模型)

1.建一個控制器,做表單操作(包含驗證)

<?php
namespace Admin\Controller;
use Think\Controller;
class ZhuCeController extends Controller {
  public function add(){
    $this->show();
  }
  public function addchuli(){
    $y = D("yonghubiao");
    $arr = array(
    array(‘uid‘,‘require‘,‘用戶名不能為空??!‘),//ps: require 意思是字段必須,就是不能為空
    array(‘pwd‘,‘require‘,‘兩次密碼不一致!‘),
    array(‘name‘,‘require‘,‘沒有填寫名稱?。 ?,
    array(‘email‘,‘email‘,‘郵箱格式不正確?。 ?,
    array(‘a(chǎn)ge‘,‘/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/‘,‘身份證不合法‘,0,‘regex‘),
    );
    if($y->validate($arr)->create()){
      $y->add();
      $this->ajaxReturn("注冊成功","eval");
    }else{
      $this->ajaxReturn($y->getError(),"eval");
    }
  }
}

2.對應(yīng)控制器方法的html頁面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="__PUBLIC__/js/jquery-1.11.2.min.js"></script>
<title>用戶注冊</title>
</head>
<body>
<br />
<br />
<br />
  <div>用戶名:<input type="text" id="uid" /></div>
<br />  
  <div>&nbsp;密碼:<input type="text" id="pwd" /></div>
<br />
  <div>&nbsp;名稱:<input type="text" id="name" /></div>
<br />
  <div>&nbsp;郵箱:<input type="text" id="email" /></div>
<br />
  <div>身份證號:<input type="text" id="age" /></div>
<br />
  <div><input type="button" id="dtn" value="提交" /></div>
</body>
<script type="text/javascript">
  $("#dtn").click(function(){
    var uid = $("#uid").val();
    var pwd = $("#pwd").val();
    var name = $("#name").val();
    var email = $("#email").val();
    var age = $("#age").val();
    $.ajax({
        url:"__CONTROLLER__/addchuli",
        data:{uid:uid,pwd:pwd,name:name,email:email,age:age},
        dataType:"TEXT",
        type:"POST",
        success: function(data){
          alert(data);
        }
    });
  });
</script>
</html>

到此,相信大家對“Thinkphp框架實現(xiàn)表單自動驗證登錄注冊”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI