Heim > Backend-Entwicklung > PHP-Problem > PHP-Benutzer können ohne Anmeldung nicht auf die Seite zugreifen

PHP-Benutzer können ohne Anmeldung nicht auf die Seite zugreifen

angryTom
Freigeben: 2023-02-28 07:26:01
Original
3648 Leute haben es durchsucht

PHP-Benutzer können ohne Anmeldung nicht auf die Seite zugreifen

PHP-Benutzer können ohne Anmeldung nicht auf die Seite zugreifen

Unabhängig davon, welche Seitenlinkadresse Sie vor der Anmeldung eingeben , Sie werden aufgefordert, sich zuerst anzumelden. Nach erfolgreicher Anmeldung kann auf jede Seite zugegriffen werden. Wir können eine solche Funktion verwenden.

1. Sitzung

a) login.php

<?php
header("content-type:text/html;charset=utf-8");
if(!isset($_POST[&#39;submit&#39;])){
exit("非法登录");
}
$name=trim($_POST[&#39;username&#39;]);
//echo $name;
$pwd=md5(trim($_POST[&#39;pwd&#39;]));
$pdo=new PDO("mysql:dbname=shixun1;host=127.0.0.1","root","123456");
 
if(preg_match(&#39;/^1[3,5,8]\d{9}$/&#39;,$name)) {
$sql=$pdo->query("select phone,pwd from user where phone=&#39;$name&#39;");
}elseif(preg_match(&#39;/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/&#39;,$name)){
$sql=$pdo->query("select email,pwd from user where email=&#39;$name&#39;");
}else{
$sql=$pdo->query("select name,pwd from user where name=&#39;$name&#39;");
}
//$sql=$pdo->query("select * from user where name=&#39;$name&#39;");
$res=$sql->fetch(PDO::FETCH_ASSOC);
if($res){
if($res[&#39;pwd&#39;]==$pwd){
ini_set("session.save_handler", "memcache");
ini_set("session.save_path", "tcp://127.0.0.1:11211"); 
session_start();
$_SESSION[&#39;username&#39;] = $name;
$_SESSION[&#39;password&#39;] = $pwd;
echo "<script>alert(&#39;登录成功&#39;);location.href=&#39;success.php&#39;</script>";
}else{
echo "<script>alert(&#39;密码错误&#39;);location.href=&#39;login.html&#39;</script>";
}
}else{
echo "<script>alert(&#39;用户名错误&#39;);location.href=&#39;login.html&#39;</script>";
}
?>
Nach dem Login kopieren

b) checklogin.php

<?php
if(!empty($_SESSION[&#39;username&#39;])){
// 不存在session用户id,退出
echo "用户未登录,前往登录页面登录";
header("Location: login.php");
exit;
}
?>
Nach dem Login kopieren

Each This Die Datei muss am Anfang der Seite geladen werden, sodass Sie sich anmelden müssen, um darauf zuzugreifen

2. Cookies

werden mit Cookies erstellt. Die Idee ist, dies zu überprüfen Das Cookie, wenn der Cookie-Datensatz lautet: Nach der Anmeldung springt es nicht, andernfalls springt es zur Anmeldeschnittstelle:

[Dies sind die Informationen, die auf jeder Seite enthalten sein müssen]

<?php
namespace PenguinStudio/PenguinCode/STDCode;
if($_COOKIE[&#39;login_session&#39;] !== "islogin"){
    header("Location: login.php");
}
Nach dem Login kopieren

[Dies sind die Informationen auf der Anmeldeschnittstelle]

<?php
namespace PenguinStudio/PenguinCode/STDCode;
if(.../* 判断登陆正确 */){
    setcookie("login_session","islogin", time()+3600*24);//一天过期的cookie
}
else{
    echo "<script>alert(&#39;wrong&#39;);</script>";
}
Nach dem Login kopieren

Weitere PHP-bezogene Kenntnisse finden Sie auf der PHP-Chinese-Website!

Das obige ist der detaillierte Inhalt vonPHP-Benutzer können ohne Anmeldung nicht auf die Seite zugreifen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage