


Exemple complet de message de connexion d'enregistrement d'utilisateur ThinkPHP
Cet article présente principalement un exemple complet d'enregistrement d'utilisateur, de connexion et de message dans ThinkPHP, qui aidera à comprendre le processus de fonctionnement de ThinkPHP en détail. Les amis dans le besoin peuvent s'y référer
Cet article utilise des exemples. pour décrire l'implémentation de ThinkPHP, y compris l'enregistrement des utilisateurs, la connexion, le message et d'autres fonctions, ce à quoi tout le monde doit prêter attention ici est que est implémenté à l'aide de la méthode D lors de l'instanciation d'une classe d'utilisateurs lorsqu'il existe un modèle d'utilisateur .
Page UserActivion.class.php :
<?php class UserAction extends Action{ public function add(){ $user = D("user"); $user->create(); $result = $user->add(); if($result){ $this->assign("jumpUrl","__APP__/index/index"); $this->success('注册成功!'); }else{ //echo $user->getError(); $this->assign("jumpUrl","__APP__/user/register"); $this->error($user->getError()); } } public function register(){ $this->display(); } public function login(){ $this->display(); } public function checklogin(){ $username = $_POST['username']; $passwd = $_POST['passwd']; $user = D("user"); //$User->where('id=8')->find();这里的where 语句要注意一下,如果是其他字段的话后面一定要有单引号 $userinfo = $user->where("username ='$username'")->find(); if(!empty($userinfo)){ if($userinfo['passwd'] == $passwd){ Cookie::set('userid',$userinfo['id'],time()+3600*24); Cookie::set('username',$username,time()+3600*24); Cookie::set('lastlogintime',time(),time()+3600*24); $this->assign("jumpUrl","__APP__/index/index"); $this->success('登陆成功!'); }else{ $this->assign("jumpUrl","__APP__/user/login"); $this->error('密码出错,请重新输入!'); } }else{ $this->assign("jumpUrl","__APP__/user/login"); $this->error('用户名不存在!'); } } public function loginout(){ Cookie::delete('username'); Cookie::delete('lastlogintime'); $this->assign("jumpUrl","__APP__/index/index"); $this->success('您已经成功退出,欢迎您的下次登录!'); } }
Page IndexAction.class.php :
<?php // 本类由系统自动生成,仅供测试用途 class IndexAction extends Action{ public function insert() { $content = new ContentModel(); $result = $content->create(); if(!$result){ $this->assign("jumpUrl","__URL__/index"); $this->error($content->getError());//如果创建失败,表示验证没有通过,输出错误信息 }else{//验证通过,进行其他操作 $content->userid=Cookie::get('userid'); $content->add(); $this->assign("jumpUrl","__URL__/index"); $this->success('添加成功!'); } } // 数据查询操作 public function index() { $content = new ContentModel(); $list = $content->findAll(); //用户的cookie $username = Cookie::get('username'); $lastlogintime = Cookie::get('lastlogintime'); $this->assign('list',$list); $this->assign('title','我的首页'); $this->assign('username',$username); $this->assign('lastlogintime',$lastlogintime); $this->display(); } // 删除操作 public function delete(){ $content = new ContentModel(); $id = $_GET['id']; if($content->where("id=$id")->delete()){ $this->assign("jumpUrl","__URL__/index"); $this->success('删除成功!'); }else{ $this->assign("jumpUrl","__URL__/index"); $this->error('删除失败!'); } } // 编辑操作 public function edit(){ $content = new ContentModel(); $id = $_GET['id']; if($id != '') { //$data = $content->select($id); $data = $content->where("id=$id")->select(); if(!empty($data)){ $this->assign('data',$data); }else{ echo "数据为空!"; } } $this->assign('title','编辑页面'); $this->display(); } // 更新操作 public function update(){ $content = new ContentModel(); //直接使用create(),自动会帮你进行数据的传值 /*$content->create(); $content->save(); // 根据条件保存修改的数据 echo "更新数据成功!";*/ // 使用post 传值过来,进行更新 $id = $_POST['id']; if($id != '') { $data['id'] = $id; $data['title'] = $_POST['title']; $data['content'] = $_POST['content']; if($content->save($data))// 根据条件保存修改的数据 { $this->assign("jumpUrl","__URL__/index"); $this->success('更新数据成功!'); } else{ $this->assign("jumpUrl","__URL__/index"); $this->success('更新数据失败!'); } }else { echo "保存数据失败!"; } } } ?>
Page ContentModel.class.php :
<?php class ContentModel extends Model{ /* * 自动验证 * array(验证字段,验证规则,错误提示,验证条件,附加规则,验证时间) */ protected $_validate = array( array('title','require','标题必须填写!'), array('content','require','内容必须填写!'), ); /* * 自动填充 * array(填充字段,填充内容,填充条件,附加规则) */ protected $_auto = array( array('addtime','time',1,'function'), ); } ?>
Page UserModel.class.php :
<?php class UserModel extends Model{ protected $_validate = array( array('username','','帐号名称已经存在!',0,'unique',1), ); } ?>
Ce qui doit être noté voici, lorsque vous utilisez la vérification automatique, vous devez utiliser $user = D("user") au lieu de $user = M("user") Si vous utilisez M, une erreur sera signalée. La fonction D est utilisée pour instancier. Modèle, M L'utilisateur de la fonction instancie un fichier sans modèle.
page success.html :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="refresh" content="20; url='{$jumpUrl}'" /> <title>信息提示</title> </head> <body> <p id="man_zone"> <table width="40%" border="1" align="center" cellpadding="3" cellspacing="0" class="table" style="margin-top:100px;"> <tr> <th align="center" style="background:#cef">信息提示</th> </tr> <tr> <td><p>{$message}<br /> 2秒后返回指定页面!<br /> 如果浏览器无法跳转,<a href="{$jumpUrl}" rel="external nofollow" >请点击此处</a>。</p></td> </tr> </table> </p> </body> </html>
ThinkPHP implémente une fonction de connexion simple
thinkphp implémente 163, méthode de boîte aux lettres QQ pour l'envoi et la réception d'e-mails_php skills
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Il existe diverses raisons pour lesquelles il est impossible de s'inscrire à l'échange BitgetWallet, notamment les restrictions de compte, les régions non prises en charge, les problèmes de réseau, la maintenance du système et les pannes techniques. Pour vous inscrire à l'échange BitgetWallet, veuillez visiter le site officiel, remplir les informations, accepter les conditions, terminer l'inscription et vérifier votre identité.

À l’ère du numérique, les réseaux sociaux font désormais partie intégrante de la vie des gens. Douyin, en tant que l'une des plateformes de vidéos courtes les plus populaires en Chine, a attiré un grand nombre d'utilisateurs. Certains utilisateurs ont même enregistré deux comptes. Alors, pourquoi Douyin a-t-il deux comptes ? Cet article répondra pour vous à cette question et vous expliquera comment installer deux comptes Douyin sur votre téléphone. 1. Pourquoi Douyin a-t-il deux comptes ? Différenciation fonctionnelle : certains utilisateurs différencient les comptes en fonction du type de contenu ou de la fonction. Par exemple, un compte est utilisé pour partager la vie quotidienne et un autre compte est utilisé pour démontrer des compétences professionnelles. 2. Protection de la vie privée : certains utilisateurs espèrent protéger leur vie privée via deux comptes, séparer leur vie privée de leur travail et éviter les fuites d'informations. 3. Besoins d'interaction : certains utilisateurs peuvent en enregistrer deux en raison de besoins d'interaction.

Afin d'améliorer l'interaction et l'expérience utilisateur, la plateforme Douyin a lancé Spark, un mécanisme interactif intéressant. Les utilisateurs peuvent activer et améliorer leurs étincelles grâce à une série d'actions sur Douyin. Différentes couleurs représentent différentes réalisations et honneurs. Comprendre les règles de changement de couleur de Douyin Spark peut aider les utilisateurs à mieux participer et interagir, et à profiter du plaisir social apporté par Douyin. 1. Quelle est l’explication détaillée des règles de changement de couleur des étincelles de Douyin ? 1. Le comportement active les comportements interactifs des utilisateurs, tels que les likes, les commentaires, les partages, etc., qui peuvent activer des étincelles. 2. Amélioration du niveau À mesure que le comportement interactif de l'utilisateur augmente, les étincelles s'amélioreront progressivement et la couleur changera en conséquence. 3. Changement de couleur Le changement de couleur des étincelles est généralement lié à la fréquence d'interaction de l'utilisateur, à la qualité de l'interaction et à l'enthousiasme pour la participation aux activités. 4. La tâche est terminée

Le site officiel de Deepseek lance désormais plusieurs activités de réduction pour offrir aux utilisateurs une expérience d'achat. Les nouveaux utilisateurs s'inscrivent pour obtenir un coupon de 10 $ et profitez d'une remise à temps limitée de 15% pour l'ensemble de l'audience. Recommander des amis peut également gagner des récompenses, et vous pouvez accumuler des points pour le rachat de cadeaux lors du shopping. Les délais d'événements sont différents.

Vous pouvez gagner des pièces et des points en accomplissant des tâches sur Tomato Novels. Les méthodes incluent : effectuer des tâches d'enregistrement de nouveaux utilisateurs. Enregistrez-vous quotidiennement. Lisez le chapitre du roman attribué. Laissez un commentaire sur le chapitre du roman spécifié. Invitez des amis à s'inscrire. Partagez des romans sur les plateformes sociales.

Les paramètres de routage ThinkPhp6 sont traités en chinois et acquisition complète. Dans le cadre ThinkPHP6, les paramètres d'URL contenant des caractères spéciaux (tels que les marques chinoises et ponctuation) sont souvent traités ...

Utilisation du framework ThinkPhp6 combiné avec le client Elasticsearch-PHP pour faire fonctionner Elasticsearch ...

Gate.io Sesame Open est la principale plate-forme de trading d'actifs numériques au monde, y compris le trading de devises Fiat, le trading de devises, le trading à effet de levier, les contrats perpétuels, les jetons à effet de levier ETF, la gestion de la patrimoine, l'offre publique initiale de démarrage et d'autres sections, offrant aux utilisateurs la sécurité, la stabilité, l'ouverture et la transparence.
