Inhaltsverzeichnis
登录(Login)
Heim Backend-Entwicklung PHP-Tutorial ThinkPHP使用入门范例

ThinkPHP使用入门范例

Jun 13, 2016 pm 12:23 PM
admin gt lt quot

ThinkPHP使用入门实例

如今,国产php框架ThinkPHP还是比较火爆的,所有现在我们就简单的使用ThinkPHP来操作一下。

我做的是一下简单的登录操作,意思就是:实现登录功能,但是不能非法访问其它页面,否则跳到登录界面

一:到官方下载最新的ThinkPHP,我下载的是3.2.3完整版

二 :创建项目,我使用的是wampserver这款php的集成环境,当然也可以使用phpstudy或者xampp,这里就不详细说明了

在www目录下创建think-demo文件夹,也就是项目名,这里可以随便取,然后将下载的thinkphp压缩包解压到think-demo目录下

解压之后出现这些目录,然后我们配置index.php,此时Application中只有一个index.html,我们通过配置index.php,然后浏览器访问生成项目的目录

<?php // +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK ]// +----------------------------------------------------------------------// | Copyright (c) 2006-2014 http://thinkphp.cn All rights reserved.// +----------------------------------------------------------------------// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )// +----------------------------------------------------------------------// | Author: liu21st <[email&#160;protected]>// +----------------------------------------------------------------------// 应用入口文件// 检测PHP环境if(version_compare(PHP_VERSION,'5.3.0',' 5.3.0 !');// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为falsedefine('APP_DEBUG',True);// 定义应用目录define('APP_PATH','./Application/');/*缓存目录设置*/define("RUNTIME_PATH",'./Runtime/');// 引入ThinkPHP入口文件require './ThinkPHP/ThinkPHP.php';
Nach dem Login kopieren


此时我们知道,一个web项目有前台系统和后台系统之分,所以,我们还要生成后台系统的目录,和index.php一样,我们在同级目录下新建一个admin.php,代码为

<?php // +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK ]// +----------------------------------------------------------------------// | Copyright (c) 2006-2014 http://thinkphp.cn All rights reserved.// +----------------------------------------------------------------------// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )// +----------------------------------------------------------------------// | Author: liu21st <[email&#160;protected]>// +----------------------------------------------------------------------// 后台入口文件// 检测PHP环境if(version_compare(PHP_VERSION,'5.3.0',' 5.3.0 !');// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为falsedefine('APP_DEBUG',True);define('BIND_MODULE','Admin');// 定义后台Admin目录define('APP_PATH','./Application/');/*缓存目录设置*/define('RUNTIME_PATH','./Runtime/');// 引入ThinkPHP入口文件require './ThinkPHP/ThinkPHP.php';
Nach dem Login kopieren

好了,我们启动wamp,打开浏览器,分别访问index.php和admin.php


然后我们观察Application目录,发现出现了Admin和Home目录,还有Common和Runtime目录,Admin(后台系统目录)和Home(前台系统目录)主要就是之前的index.php和admin.php访问自动生成的

创建数据库think,创建表admin:

插入数据1,admin,admin(密码使用md5加密)

然后我们这里只完成后台的登录模块,所以Home目录不需要使用,只需Admin目录,我们在Admin下的Controller目录下新建CommonController.class.php和LoginController.php这两个文件

代码分别是:

<?php /* * 公共控制器 */ namespace Admin\Controller; use Think\Controller; class CommonController extends Controller{	 /*判断用户是否登录*/	 public function _initialize(){		 if(!isset($_SESSION[&#39;uid&#39;]) || !isset($_SESSION[&#39;username&#39;])){			 redirect(U(&#39;Login/index&#39;));		 }	 } } ?>
Nach dem Login kopieren

<?php /* * 后台登录控制器 */ namespace Admin\Controller; use Think\controller; class LoginController extends Controller{	 /*登录页视图*/	 public function index(){		 $this->display();	 }	 /*登录处理*/	 public function login(){		 if(!IS_POST) $this->error('访问页面不存在');		 $name = I('username');		 $pwd = md5(I('password'));		 $db = M('admin');		 $admin = $db->where(array('username'=>$name))->find();		 if(!$admin || $admin['password'] != $pwd){			 $this->error('账号或密码错误');		 }		 session('uid',$user['id']);		 session('username',$user['username']);		 $this->success('登录成功!', __APP__);	 } }
Nach dem Login kopieren
我们完成Admin目录下Conf中config的配置:

<?phpreturn array(     /*数据库配置*/	 &#39;DB_TYPE&#39; => 'mysql',   //数据库类型	 'DB_HOST' => '127.0.0.1',  //数据库地址	 'DB_NAME' => 'wldt',    //数据库名称	 'DB_USER' => 'root',   //用户名	 'DB_PWD'  => '',      //密码	 //'DB_PREFIX' => 'dt_',  //数据库表前缀	/*模板配置*/	'TMPL_PARSE_STRING' => array(	    '__PUBLIC__' => '/think-demo/Application/Admin/View/Public',	),	/*SESSION和COOKIE配置*/	'SESSION_PREFIX'  => 'dt_admin');
Nach dem Login kopieren


我们在Admin下的View目录下新建目录Login和Public,Login存放登录视图页面,Public存放使用的css,js和图片等资源,然后在Login目录下新建index.html,这就是登录页,我完成的这个demo中使用的js里initjs中路径做了相应的处理

登录页代码:

            <meta charset="utf-8">        <title>登录(Login)</title>        <meta name="viewport" content="width=device-width, initial-scale=1.0">        <meta name="description" content="">        <meta name="author" content="">        <!-- CSS -->        <link rel="stylesheet" href="__PUBLIC__/assets/css/reset.css">        <link rel="stylesheet" href="__PUBLIC__/assets/css/supersized.css">        <link rel="stylesheet" href="__PUBLIC__/assets/css/style.css">        <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->        <!--[if lt IE 9]>            <script src="__PUBLIC__/assets/js/html5.js"></script>        <![endif]-->                <div class="page-container">            <h1 id="登录-Login">登录(Login)</h1>            <form action="%7B:U('login')%7D" method="post">                <input type="text" name="username" class="username" placeholder="请输入您的用户名!">                <input type="password" name="password" class="password" placeholder="请输入您的用户密码!">                <button type="submit" class="submit_button">登录</button>                <div class="error"><span>+</span></div>            </form>        </div>		        <!-- Javascript -->        <script src="__PUBLIC__/assets/js/jquery-1.8.2.min.js"></script>        <script src="__PUBLIC__/assets/js/supersized.3.2.7.min.js"></script>        <script src="__PUBLIC__/assets/js/supersized-init.js"></script>        <script src="__PUBLIC__/assets/js/scripts.js"></script>    
Nach dem Login kopieren
然后我们输入地址http://localhost/think-demo/index.php/Admin/login进行访问,输入正确账户则访问正确,否则返回登录页


到此,一个小demo就完成了,整个流程比较罗嗦,实现的功能也比较简单,这个小demo我已经上传到资源列表里了,点击这里下载


版权声明:本文为博主原创文章,未经博主允许不得转载。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was sind die Unterschiede zwischen Huawei GT3 Pro und GT4? Was sind die Unterschiede zwischen Huawei GT3 Pro und GT4? Dec 29, 2023 pm 02:27 PM

Viele Benutzer werden sich bei der Auswahl von Smartwatches für die Marke Huawei entscheiden. Viele Benutzer sind neugierig auf den Unterschied zwischen Huawei GT3pro und GT4. Was sind die Unterschiede zwischen Huawei GT3pro und GT4? 1. Aussehen GT4: 46 mm und 41 mm, das Material ist Glasspiegel + Edelstahlgehäuse + hochauflösende Faserrückschale. GT3pro: 46,6 mm und 42,9 mm, das Material ist Saphirglas + Titangehäuse/Keramikgehäuse + Keramikrückschale 2. Gesundes GT4: Mit dem neuesten Huawei Truseen5.5+-Algorithmus werden die Ergebnisse genauer. GT3pro: EKG-Elektrokardiogramm sowie Blutgefäß und Sicherheit hinzugefügt

Fix: Snipping-Tool funktioniert unter Windows 11 nicht Fix: Snipping-Tool funktioniert unter Windows 11 nicht Aug 24, 2023 am 09:48 AM

Warum das Snipping-Tool unter Windows 11 nicht funktioniert Das Verständnis der Grundursache des Problems kann dabei helfen, die richtige Lösung zu finden. Hier sind die häufigsten Gründe, warum das Snipping Tool möglicherweise nicht ordnungsgemäß funktioniert: Focus Assistant ist aktiviert: Dies verhindert, dass das Snipping Tool geöffnet wird. Beschädigte Anwendung: Wenn das Snipping-Tool beim Start abstürzt, ist es möglicherweise beschädigt. Veraltete Grafiktreiber: Inkompatible Treiber können das Snipping-Tool beeinträchtigen. Störungen durch andere Anwendungen: Andere laufende Anwendungen können mit dem Snipping Tool in Konflikt geraten. Das Zertifikat ist abgelaufen: Ein Fehler während des Upgrade-Vorgangs kann zu diesem Problem führen. Diese einfache Lösung ist für die meisten Benutzer geeignet und erfordert keine besonderen technischen Kenntnisse. 1. Aktualisieren Sie Windows- und Microsoft Store-Apps

So beheben Sie den Fehler „Verbindung zum App Store nicht möglich' auf dem iPhone So beheben Sie den Fehler „Verbindung zum App Store nicht möglich' auf dem iPhone Jul 29, 2023 am 08:22 AM

Teil 1: Erste Schritte zur Fehlerbehebung Überprüfen des Apple-Systemstatus: Bevor wir uns mit komplexen Lösungen befassen, beginnen wir mit den Grundlagen. Das Problem liegt möglicherweise nicht an Ihrem Gerät; die Server von Apple sind möglicherweise ausgefallen. Besuchen Sie die Systemstatusseite von Apple, um zu sehen, ob der AppStore ordnungsgemäß funktioniert. Wenn es ein Problem gibt, können Sie nur warten, bis Apple es behebt. Überprüfen Sie Ihre Internetverbindung: Stellen Sie sicher, dass Sie über eine stabile Internetverbindung verfügen, da das Problem „Verbindung zum AppStore nicht möglich“ manchmal auf eine schlechte Verbindung zurückzuführen ist. Versuchen Sie, zwischen WLAN und mobilen Daten zu wechseln oder die Netzwerkeinstellungen zurückzusetzen (Allgemein > Zurücksetzen > Netzwerkeinstellungen zurücksetzen > Einstellungen). Aktualisieren Sie Ihre iOS-Version:

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Welche Rolle und Verwendung spielt die Springboot-Administratorüberwachung? Welche Rolle und Verwendung spielt die Springboot-Administratorüberwachung? May 25, 2023 pm 06:52 PM

Anwendbare Szenarien: 1. Der Projektumfang ist nicht sehr groß, und die Anforderungen an die Parallelität sind nicht hoch. 3. Es gibt keine dedizierten Betriebs- und Wartungskräfte regelmäßige Projekte oder Einheiten, bei denen die Aufteilung der Verantwortlichkeiten nicht ganz klar ist. Oft reicht ein System von den Anforderungen über Design, Entwicklung und Tests bis hin zur endgültigen Einführung, dem Betrieb und der Wartung. Oftmals werden 80 % der Aufgaben vom Entwicklungsteam erledigt. Daher müssen Entwickler neben der Implementierung der Systemfunktionen auch Kunden beraten, Fragen beantworten und Produktionsprobleme lösen. Stellen Sie sich vor, dass es nach dem Start einer Anwendung keine Überwachungsmaßnahmen gibt. Genau wie beim Autofahren ohne Armaturenbrett fühlt sich niemand auf der Straße so sicher. Es lohnt sich, darüber nachzudenken, wie man Einfachheit und Effizienz in Einklang bringt. 1. Springb

Sie benötigen die vom Administrator bereitgestellten Berechtigungen, um Änderungen an dieser Datei vorzunehmen. Sie benötigen die vom Administrator bereitgestellten Berechtigungen, um Änderungen an dieser Datei vorzunehmen. Jul 26, 2023 am 10:56 AM

Sie benötigen die vom Administrator bereitgestellten Berechtigungen, um Änderungen an dieser Datei vorzunehmen: 1. Nachdem Sie das Administratorkonto auf der Anmeldeoberfläche ausgewählt und das Kennwort eingegeben haben, können Sie die Datei problemlos ändern. 2. Sie können mit der rechten Maustaste auf die Datei klicken und sie auswählen „Als Administrator“-Lösung: 3. Ändern Sie die Dateiberechtigungen, klicken Sie mit der rechten Maustaste auf die Datei, wählen Sie „Eigenschaften“, klicken Sie auf die Registerkarte „Sicherheit“, dann auf die Schaltfläche „Bearbeiten“, wählen Sie Ihren Benutzernamen aus und aktivieren Sie dann „Vollzugriff“. Option 4. Verwenden Sie die Eingabeaufforderung, um das Problem zu lösen. 5. Legen Sie UA-Berechtigungen fest.

So verwenden Sie Flask-Admin zum Implementieren der Hintergrundverwaltungsschnittstelle So verwenden Sie Flask-Admin zum Implementieren der Hintergrundverwaltungsschnittstelle Aug 03, 2023 pm 11:30 PM

So verwenden Sie Flask-Admin zum Implementieren der Backend-Verwaltungsschnittstelle. Hintergrundeinführung: Mit der Entwicklung von Websites und Anwendungen wird die Backend-Verwaltungsschnittstelle immer wichtiger. Während des Entwicklungsprozesses benötigen wir oft eine praktische und schnelle Backend-Verwaltungsschnittstelle, um Daten, Benutzer und andere wichtige Informationen zu verwalten. Flask-Admin ist eine leistungsstarke und benutzerfreundliche Flask-Erweiterung, mit der wir die Hintergrundverwaltungsschnittstelle schnell implementieren können. Flask-Admin ist ein Open-Source-Projekt, das auf Flask und SQLAlchemy basiert

Ist watch4pro besser oder GT? Ist watch4pro besser oder GT? Sep 26, 2023 pm 02:45 PM

Watch4pro und GT verfügen jeweils über unterschiedliche Funktionen und Anwendungsszenarien. Wenn Sie Wert auf umfassende Funktionen, hohe Leistung und ein stilvolles Erscheinungsbild legen und bereit sind, einen höheren Preis in Kauf zu nehmen, ist Watch 4 Pro möglicherweise besser geeignet. Wenn Sie keine hohen funktionalen Ansprüche haben und mehr Wert auf Akkulaufzeit und einen angemessenen Preis legen, ist die GT-Serie möglicherweise besser geeignet. Die endgültige Wahl sollte auf der Grundlage persönlicher Bedürfnisse, Budgets und Vorlieben getroffen werden. Es wird empfohlen, vor dem Kauf Ihre eigenen Bedürfnisse sorgfältig zu prüfen und sich die Bewertungen und Vergleiche verschiedener Produkte anzusehen, um eine fundiertere Entscheidung zu treffen.

See all articles