ThinkPHP使用入门范例
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 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';
此时我们知道,一个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 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';
好了,我们启动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['uid']) || !isset($_SESSION['username'])){ redirect(U('Login/index')); } } } ?>
<?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__); } }
<?phpreturn array( /*数据库配置*/ 'DB_TYPE' => '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');
我们在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>
到此,一个小demo就完成了,整个流程比较罗嗦,实现的功能也比较简单,这个小demo我已经上传到资源列表里了,点击这里下载
版权声明:本文为博主原创文章,未经博主允许不得转载。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Ramai pengguna akan memilih jenama Huawei apabila memilih jam tangan pintar Antaranya, Huawei GT3pro dan GT4 adalah pilihan yang sangat popular. Apakah perbezaan antara Huawei GT3pro dan GT4? 1. Rupa GT4: 46mm dan 41mm, bahan cermin kaca + badan keluli tahan karat + cangkang belakang gentian resolusi tinggi. GT3pro: 46.6mm dan 42.9mm, bahannya ialah kaca nilam + badan titanium/badan seramik + cangkerang belakang seramik 2. GT4 yang sihat: Menggunakan algoritma Huawei Truseen5.5+ terkini, hasilnya akan lebih tepat. GT3pro: Penambahan elektrokardiogram ECG dan saluran darah serta keselamatan

Mengapa Alat Snipping Tidak Berfungsi pada Windows 11 Memahami punca masalah boleh membantu mencari penyelesaian yang betul. Berikut ialah sebab utama Alat Snipping mungkin tidak berfungsi dengan betul: Focus Assistant dihidupkan: Ini menghalang Snipping Tool daripada dibuka. Aplikasi rosak: Jika alat snipping ranap semasa pelancaran, ia mungkin rosak. Pemacu grafik lapuk: Pemacu yang tidak serasi mungkin mengganggu alat snipping. Gangguan daripada aplikasi lain: Aplikasi lain yang sedang berjalan mungkin bercanggah dengan Alat Snipping. Sijil telah tamat tempoh: Ralat semasa proses naik taraf boleh menyebabkan penyelesaian mudah ini sesuai untuk kebanyakan pengguna dan tidak memerlukan sebarang pengetahuan teknikal khusus. 1. Kemas kini apl Windows dan Microsoft Store

Bahagian 1: Langkah Penyelesaian Masalah Awal Menyemak Status Sistem Apple: Sebelum menyelidiki penyelesaian yang rumit, mari kita mulakan dengan asas. Masalahnya mungkin tidak terletak pada peranti anda; Lawati halaman Status Sistem Apple untuk melihat sama ada AppStore berfungsi dengan betul. Jika terdapat masalah, anda hanya boleh menunggu Apple membetulkannya. Semak sambungan Internet anda: Pastikan anda mempunyai sambungan internet yang stabil kerana isu "Tidak dapat menyambung ke AppStore" kadangkala boleh dikaitkan dengan sambungan yang lemah. Cuba tukar antara Wi-Fi dan data mudah alih atau tetapkan semula tetapan rangkaian (Umum > Tetapkan Semula > Tetapkan Semula Tetapan Rangkaian > Tetapan). Kemas kini versi iOS anda:

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

Senario yang boleh digunakan: 1. Skala projek tidak besar 2. Bilangan pengguna tidak terlalu besar, dan keperluan bersamaan tidak kuat 3. Tiada daya operasi dan penyelenggaraan yang khusus projek biasa, atau unit di mana pembahagian tanggungjawab tidak begitu jelas. Selalunya sistem pergi daripada keperluan kepada reka bentuk, pembangunan, ujian kepada pelancaran akhir, operasi dan penyelenggaraan. Selalunya 80% daripada tugasan diselesaikan oleh pasukan pembangunan. Oleh itu, selain melaksanakan fungsi sistem, pembangun juga mesti menyediakan pelanggan dengan perundingan dan menjawab soalan dan menyelesaikan masalah pengeluaran. Cuba bayangkan, selepas sesuatu aplikasi dilancarkan, tiada langkah pemantauan. Sama seperti memandu kereta tanpa sebarang papan pemuka, tiada siapa yang berasa selamat di jalan raya seperti ini. Cara mengimbangi kesederhanaan dan kecekapan adalah sesuatu yang patut difikirkan. 1. Springb

Anda memerlukan kebenaran yang diberikan oleh pentadbir untuk membuat perubahan pada fail ini Penyelesaian: 1. Selepas memilih akaun pentadbir pada antara muka log masuk dan memasukkan kata laluan, anda boleh mengubah suai fail dengan lancar 2. Anda boleh klik kanan fail dan pilih Kaedah "Sebagai Pentadbir" "Jalankan sebagai" 3. Ubah suai kebenaran fail, klik kanan fail, pilih "Properties", klik tab "Security", kemudian klik butang "Edit", pilih nama pengguna anda, dan kemudian semak Pilihan "Kawalan Penuh" ; 4. Gunakan prompt arahan untuk menyelesaikan masalah 5. Tetapkan kebenaran UA.

Cara menggunakan Flask-Admin untuk melaksanakan antara muka pengurusan bahagian belakang Pengenalan latar belakang: Dengan pembangunan tapak web dan aplikasi, antara muka pengurusan bahagian belakang menjadi semakin penting. Semasa proses pembangunan, kami sering memerlukan antara muka pengurusan bahagian belakang yang mudah dan pantas untuk mengurus data, pengguna dan maklumat penting lain. Flask-Admin ialah sambungan Flask yang berkuasa dan mudah digunakan yang boleh membantu kami melaksanakan antara muka pengurusan latar belakang dengan cepat. Flask-Admin ialah projek sumber terbuka berdasarkan Flask dan SQLAlchemy

Watch4pro dan gt masing-masing mempunyai ciri yang berbeza dan senario yang berkenaan Jika anda menumpukan pada fungsi yang komprehensif, prestasi tinggi dan penampilan yang bergaya, dan sanggup menanggung harga yang lebih tinggi, maka Watch 4 Pro mungkin lebih sesuai. Jika anda tidak mempunyai keperluan fungsi yang tinggi dan memberi lebih perhatian kepada hayat bateri dan harga yang berpatutan, maka siri GT mungkin lebih sesuai. Pilihan terakhir harus diputuskan berdasarkan keperluan peribadi, belanjawan dan keutamaan Adalah disyorkan untuk mempertimbangkan dengan teliti keperluan anda sendiri sebelum membeli dan merujuk kepada ulasan dan perbandingan pelbagai produk untuk membuat pilihan yang lebih termaklum.
