Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk melompat selepas log masuk dalam thinkphp

Bagaimana untuk melompat selepas log masuk dalam thinkphp

PHPz
PHPzasal
2023-04-17 09:50:04754semak imbas

Dalam pembangunan laman web, log masuk adalah fungsi yang sangat penting Apabila pengguna berjaya log masuk, ia juga perlu untuk melompat ke halaman yang sesuai supaya pengguna boleh menggunakan laman web dengan lebih baik. Apabila membangun menggunakan rangka kerja ThinkPHP, bagaimana untuk melaksanakan lompatan selepas log masuk? Mari lihat lebih dekat di bawah.

Pertama, selepas pengesahan log masuk berjaya, kami perlu mengesahkan pengguna dan menulis status pengguna pada sesi.

public function login()
{
    // 获取用户输入的用户名和密码
    $username = $this->request->param('username');
    $password = $this->request->param('password');
    // 对获取到的参数进行判断和处理
    if(empty($username) || empty($password)) {
        $this->error('用户名和密码不能为空');
    }
    // 查询用户信息
    $user = Db::name('user')->where('username',$username)->find();
    if(empty($user)) {
        $this->error('用户名不存在');
    }
    // 验证密码是否正确
    if(md5($password) !== $user['password']) {
        $this->error('密码错误');
    }
    // 将用户的信息写入 session
    session('user_id',$user['id']);
    session('user_info',$user);

    // 登录成功后进行跳转
    $this->redirect('/index');
}

Dalam kod di atas, kami mula-mula mendapatkan nama pengguna dan kata laluan yang dimasukkan oleh pengguna, kemudian bertanya sama ada pengguna itu wujud, sahkan sama ada kata laluan itu betul, dan jika kedua-duanya betul, tulis maklumat pengguna kepada sesi. Seterusnya, kita boleh melompat ke halaman melalui $this->redirect().

dalam parameter
$this->redirect('/index');

/index bermaksud melompat ke kaedah indeks dalam direktori akar projek, yang merupakan halaman utama lalai. Jika kita ingin melompat ke halaman lain, seperti halaman troli beli-belah, kita hanya perlu mengubah suai parameter.

$this->redirect('/cart/index');

Kod di atas bermaksud melompat ke kaedah indeks di bawah pengawal Troli dalam direktori akar.

Selain itu, kami juga boleh melompat terus ke URL tertentu, tetapi perlu diingat bahawa laluan relatif perlu digunakan untuk melompat.

$this->redirect('/html/index.html');

Perkara lain yang perlu diambil perhatian ialah kaedah redirect() melakukan ubah hala 302 secara lalai Jika kita perlu membuat lompatan kekal, kita boleh menggunakan parameter untuk menentukannya.

$this->redirect('/index',301);

Di atas menggunakan rangka kerja ThinkPHP sebagai contoh untuk melaksanakan lompatan selepas log masuk. Dalam perkembangan sebenar, kami juga perlu membuat pengubahsuaian dan pelarasan mengikut keperluan kami sendiri Jika anda mempunyai sebarang pertanyaan, anda boleh meninggalkan mesej di ruangan komen.

Atas ialah kandungan terperinci Bagaimana untuk melompat selepas log masuk dalam thinkphp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn