簡體   English   中英

僅在使用php登錄時訪問頁面

[英]access page only if logged in with php

我是PHP的新手,我只想在一個人登錄后才能訪問頁面。login2.php:

<?php

$host="hostxyz";
$dbusername="userxyz";
$dbpassword="xyz";
$db_name="dbxyz";
$tbl_name="tblxyz";

mysql_connect("$host", "$dbusername", "$dbpassword")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

$username=$_POST['username']; 
$password=$_POST['pwd'];
$encryptedpwd=sha1($password);

$username = stripslashes($username);
$encryptedpwd = stripslashes($encryptedpwd);
$username = mysql_real_escape_string($username);
$encryptedpwd = mysql_real_escape_string($encryptedpwd);
$sql="SELECT * FROM $tbl_name WHERE username='$username' and pwd='$encryptedpwd'";
$result=mysql_query($sql);

$count=mysql_num_rows($result);
if($count==1){

$_SESSION['username'] = $username;
$_SESSION['pwd'] = $encryptedpwd; 
header("location:login_success.php");
}
else {
echo "Username e/o password errata.";
}
?>

login_success.php:

<?php
session_start();
if($_SESSION['username']){
header("location:area_utenti.php");
}
?>

<html>
<body>
Login Successful
</body>
</html>

area_utenti.php(member_area.php翻譯):

<?php
    session_start();
    if(!isset($_SESSION['username'])) {
        header("location:dologin.html");
    }
?>
<html>
    <head>
        <title>Area Utenti</title>
    </head>
    <body>
        <p>Sei loggato, bravoh!</p>
    </body>
</html>

dologin.html只是一個頁面,如果未注冊/未登錄的用戶嘗試訪問會員區,則該頁面將被重定向。 問題是登錄后,我應該重定向到area_utenti.php,但是area_utenti.php會將我重定向到dologin.html。 我做錯了什么? 對不起,英語不好。

PS:我嘗試在StackOverflow上搜索解決方案,並嘗試應用它們,但是它們不起作用。

您忘記了使用其中一個腳本啟動會話,也許就是這個問題,可能值得檢查一下:

<?php
session_start();
$host="hostxyz";
$dbusername="userxyz";
$dbpassword="xyz";
$db_name="dbxyz";
$tbl_name="tblxyz";
//...rest of your code...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM