yii中的登录如何实现
1、创建数据表shop_admin
CREATE TABLE `shop_admin` ( `adminid` int(10) UNSIGNED NOT NULL COMMENT '主键ID', `adminuser` varchar(32) NOT NULL DEFAULT '' COMMENT '管理员账号', `adminpass` char(32) NOT NULL DEFAULT '' COMMENT '管理员密码', `adminemail` varchar(50) NOT NULL DEFAULT '' COMMENT '管理员邮箱', `logintime` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '登陆时间', `loginip` bigint(20) NOT NULL DEFAULT '0' COMMENT '登陆IP', `createtime` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '创建时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2、登陆页面
<?php use yii\bootstrap\ActiveForm; use yii\helpers\Html; $form = ActiveForm::begin([ 'id' => 'abc-form', 'options' => ['class' => 'form-horizontal'], ])?> <?= $form->field($model, 'adminuser')->textInput(['placeholder' => "用户名"])->label('账号') ?> <?= $form->field($model, 'adminpass')->passwordInput()->label('密码') ?> <?= Html::submitButton('提交') ?> <?php ActiveForm::end() ?>
3、控制器
相关文章教程推荐:yii教程
<?php namespace app\controllers; use yii\web\Controller; use app\models\Admin; use Yii; class IndexController extends Controller { public function actionIndex() { // 不使用布局 $this->layout = false; $model = new Admin; // 是否是post提交 if (Yii::$app->request->isPost) { // 获得post提交参数 $post = Yii::$app->request->post(); if($model->login($post)){ return "登陆成功"; } else { return "登陆失败"; } } else { return $this->render("index", ['model' => $model]); } } }
4、模型
<?php namespace app\models; use yii\db\ActiveRecord; use Yii; class Admin extends ActiveRecord { public static function tableName() { return "{{%admin}}"; } public function rules() { return [ ['adminuser', 'required'], ['adminpass', 'required'], // 验证密码是否正确 ['adminpass', 'validatePass'] ]; } public function validatePass() { if (!$this->hasErrors()) { // 判断用户名密码是否正确 $data = self::find() ->where(['adminuser' => $this->adminuser]) ->andwhere(['adminpass' => md5($this->adminpass)]) ->one(); if (is_null($data)) { $this->addError('adminpass', 'adminuser or adminpass error'); } } } public function login($data) { if($this->load($data) && $this->validate()) { // 登陆信息写入session $session = Yii::$app->session; $session->open(); $session->set('adminuser', $this->adminuser); // 更新登陆时间和IP $this->updateAll(['logintime' => time(), 'loginip' => ip2long(Yii::$app->request->userIP)], ['adminuser' => $this->adminuser]); return true; } return false; } }
更多yii编程入门教程,请关注PHP中文网。
Atas ialah kandungan terperinci yii中的登录如何实现. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Yiiremainspopularbutislessfavoredthanlaravel, withabout14kgithubstars.itexcelsinperformanceAndactiverecord, buthasasteperlearningcurveandasmallerecosystem.it'sidealfordevelopersprioritizingefficyoverovasystem.

Yii adalah rangka kerja PHP berprestasi tinggi yang unik dalam seni bina komponennya, ORM yang kuat dan keselamatan yang sangat baik. 1. Senibina berasaskan komponen membolehkan pemaju untuk memasang fungsi secara fleksibel. 2. ORM yang berkuasa memudahkan operasi data. 3. Build-in Multiple Security Functions Untuk memastikan keselamatan aplikasi.

Rangka kerja YII mengamalkan seni bina MVC dan meningkatkan fleksibiliti dan skalabilitasnya melalui komponen, modul, dan lain -lain. 1) Mod MVC membahagikan logik aplikasi ke dalam model, pandangan dan pengawal. 2) Pelaksanaan MVC YII menggunakan pemprosesan permintaan penghalusan tindakan. 3) YII menyokong pembangunan modular dan meningkatkan organisasi dan pengurusan kod. 4) Gunakan pengoptimuman pertanyaan cache dan pangkalan data untuk meningkatkan prestasi.

Strategi untuk meningkatkan prestasi aplikasi YII2.0 termasuk: 1. Pengoptimuman pertanyaan pangkalan data, menggunakan QueryBuilder dan Activerecord untuk memilih bidang tertentu dan membatasi set hasil; 2. Strategi caching, penggunaan data rasional, pertanyaan dan cache halaman; 3. Pengoptimuman peringkat kod, mengurangkan penciptaan objek dan menggunakan algoritma yang cekap. Melalui kaedah ini, prestasi aplikasi Yii2.0 dapat ditingkatkan dengan ketara.

Membangunkan API RESTful dalam rangka Yii boleh dicapai melalui langkah -langkah berikut: Menentukan pengawal: Gunakan Yii \ REST \ ActiveController untuk menentukan pengawal sumber, seperti usercontroller. Konfigurasikan Pengesahan: Pastikan keselamatan API dengan menambahkan mekanisme pengesahan HTTPBearer. Melaksanakan paging dan sorting: Gunakan Yii \ Data \ ActiveDataprovider untuk mengendalikan logik perniagaan yang kompleks. Pengendalian Ralat: Konfigurasi Yii \ Web \ errorHandler untuk menyesuaikan respons ralat, seperti pengendalian apabila pengesahan gagal. Pengoptimuman Prestasi: Gunakan mekanisme caching YII untuk mengoptimumkan sumber yang sering diakses dan meningkatkan prestasi API.

Dalam rangka Yii, komponen adalah objek yang boleh diguna semula, dan sambungan adalah plugin yang ditambahkan melalui komposer. 1. Komponen diterapkan melalui fail atau kod konfigurasi, dan gunakan bekas suntikan ketergantungan untuk meningkatkan fleksibiliti dan kesesuaian. 2. Kembangkan pengurusan melalui komposer untuk meningkatkan fungsi aplikasi dengan cepat. Menggunakan alat ini dapat meningkatkan kecekapan pembangunan dan prestasi aplikasi.

Theming dan menggoda rangka kerja YII mencapai gaya laman web dan penjanaan kandungan melalui direktori tema dan pandangan dan susun atur fail: 1. Theming menguruskan gaya dan susun atur laman web dengan menetapkan direktori tema, 2.

Apabila bersiap untuk temu bual dengan Rangka Kerja YII, anda perlu mengetahui perkara pengetahuan utama berikut: 1. Senibina MVC: Memahami karya kolaboratif model, pandangan dan pengawal. 2. Activerecord: Menguasai penggunaan alat ORM dan memudahkan operasi pangkalan data. 3. Widget dan pembantu: biasa dengan komponen terbina dalam dan fungsi penolong, dan dengan cepat membina antara muka pengguna. Menguasai konsep teras dan amalan terbaik ini akan membantu anda menonjol dalam wawancara.


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

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

Dreamweaver Mac版
Alat pembangunan web visual

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.