Heim > Artikel > Backend-Entwicklung > 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['submit'])){ exit("非法登录"); } $name=trim($_POST['username']); //echo $name; $pwd=md5(trim($_POST['pwd'])); $pdo=new PDO("mysql:dbname=shixun1;host=127.0.0.1","root","123456"); if(preg_match('/^1[3,5,8]\d{9}$/',$name)) { $sql=$pdo->query("select phone,pwd from user where phone='$name'"); }elseif(preg_match('/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/',$name)){ $sql=$pdo->query("select email,pwd from user where email='$name'"); }else{ $sql=$pdo->query("select name,pwd from user where name='$name'"); } //$sql=$pdo->query("select * from user where name='$name'"); $res=$sql->fetch(PDO::FETCH_ASSOC); if($res){ if($res['pwd']==$pwd){ ini_set("session.save_handler", "memcache"); ini_set("session.save_path", "tcp://127.0.0.1:11211"); session_start(); $_SESSION['username'] = $name; $_SESSION['password'] = $pwd; echo "<script>alert('登录成功');location.href='success.php'</script>"; }else{ echo "<script>alert('密码错误');location.href='login.html'</script>"; } }else{ echo "<script>alert('用户名错误');location.href='login.html'</script>"; } ?>
b) checklogin.php
<?php if(!empty($_SESSION['username'])){ // 不存在session用户id,退出 echo "用户未登录,前往登录页面登录"; header("Location: login.php"); exit; } ?>
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['login_session'] !== "islogin"){ header("Location: login.php"); }
[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('wrong');</script>"; }
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!