Maison  >  Article  >  développement back-end  >  Exemple de tutoriel de validation traditionnelle en php

Exemple de tutoriel de validation traditionnelle en php

零下一度
零下一度original
2017-06-23 14:26:191319parcourir

PHP (Hypertext Preprocessor) peut être utilisé pour créer de petits sites Web. Lorsque les utilisateurs doivent s'inscrire et se connecter, ils doivent faire correspondre la base de données en arrière-plan pour s'inscrire et se connecter. La méthode traditionnelle comporte de nombreuses étapes et doit se connecter au. base de données d'abord, puis utilisez l'instruction SQL pour l'insérer.

<?phpheader("Content-type: text/html; charset=utf-8");$conn =mysqli_connect("localhost","root","");if (!$conn){      echo "<script>alert('连接失败!');history.go(-1);</script>";
    } 
mysqli_select_db($conn,"liuyanban");mysqli_query($conn,'SET NAMES utf8');$password=$_POST['password'];$username=$_POST['username'];$face="yellow.png";$result=mysqli_query($conn,"SELECT username from user1 where username = '$username'");  
$a=mysqli_num_rows($result);if($a)
{       
      echo "<script language=javascript>alert('用户名已存在!');location.href='reg.html'</script>";
}else{     
       $sql = mysqli_query($conn,"INSERT INTO user1(username,password,face)VALUES('1' ,'2','yellow.png')");      if($sql)
      {           echo "<script language=javascript>alert('注册成功!');location.href='login.html'</script>";
      }      else  {echo "<script>alert('注册失败!');location.href='reg.html'</script>";
      }
}?>

Ce qui précède est un exemple d'enregistrement PHP natif. Vous devez d'abord utiliser mysqli_select_db(), mysqli_query() et d'autres fonctions pour vous connecter à la base de données. l'instruction sql ne peut être exécutée que via la fonction mysqli_query() et enfin effectuer un jugement de catégorie et une série d'autres opérations de restriction via des instructions if. Au stade PHP natif, c'est plus pratique, plus facile à comprendre et le processus est très clair. Cependant, écrire du code avec de telles instructions dans un projet n'est pas pratique pour la communication mutuelle et est donc très lourd et compliqué. utilisez le framework thinkphp pour créer des projets afin que les codeurs puissent communiquer entre eux. Docking facilite également les modifications ultérieures du code et les ajouts de fonctions. Je n'entrerai donc pas dans les détails du framework ici, utilisez donc le contrôleur (C) et le modèle (M) en mode mvc sous le framework thinkphp pour la vérification automatique du formulaire :

Utiliser la vérification statique du formulaire dans le responsable du traitement :

 public function doreg(){              $data=D('user');              $d=array();                  $d['username']=$_POST['username'];                  $d['password']=$_POST['password'];                  $d['time']=date("Y-m-d H:i:s",time());                  $d['qq']=$_POST['qq'];                  $d['class']=$_POST['class'];                  $mess=$data->create();                  if (!$mess){       //表单自动验证$this->error($data->getError(),'Member/member',3);
                  }else{$data->add();echo "<script language=javascript>alert('注册成功!');location.href='member.html'</script>";
                      }
                  }

Les champs qui doivent être vérifiés sont répertoriés dans le modèle :

<?php 
namespace Home\Model;use Think\Model;class UserModel extends Model{       protected $tableName =&#39;user&#39;;     protected $_validate=array(                                  //进行静态验证
          //array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]),array(&#39;username&#39;,&#39;require&#39;,&#39;用户名必填!&#39;),array(&#39;username&#39;,&#39;&#39;,&#39;帐号名称已经存在!&#39;,0,&#39;unique&#39;,1),array(&#39;repassword&#39;,&#39;password&#39;,&#39;两次密码不一致!&#39;,0,&#39;confirm&#39;),array(&#39;qq&#39;,&#39;require&#39;,&#39;qq必填!&#39;),array(&#39;qq&#39;,&#39;&#39;,&#39;帐号名称已经存在!&#39;,0,&#39;unique&#39;,1),array(&#39;class&#39;,&#39;require&#39;,&#39;班级必填!&#39;),array(&#39;j_verify&#39;,&#39;require&#39;,&#39;验证码必须!&#39;),);
         
    }?>

Voici l'enregistrement à titre d'exemple, la connexion est similaire, s'il y a une erreur de vérification, utilisez $this->error($data->getError(),'Member/member',3); très pratique à utiliser.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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