直到现在我在我的网站上工作。此网站上的用户必须先登录才能访问该内容。但我在PHP中进行用户会话时遇到问题。我使用sql server作为我的数据库。 我们来看看吧。
登录页面的代码
<form name="login" action="cek_login.php" method="POST" onSubmit="return validasi()">
<div class=log>My Id</div><div class=log><input type="text" name="username"></div>
<div class=log>Password</div><div class=log><input type="password" name="sandi"></div>
<div class=log><input id="tombol" type="submit" value="Login" ></div>
</form>
我的cek_login.php代码
<?php
session_start();
include "config/koneksi.php";
$login=mssql_query("SELECT * FROM tblMstUser
WHERE LoginID='$_POST[username]'
AND PasswordPHP='$_POST[sandi]'");
$ketemu=mssql_num_rows($login);
$r=mssql_fetch_array($login);
// Apabila username dan password ditemukan
if ($ketemu > 0){
session_register("LoginID");
session_register("PasswordPHP");
$_SESSION[LoginID] = $r[LoginID];
$_SESSION[PasswordPHP] = $r[PasswordPHP];
header('location:home.php');
}
else{
echo "<link href=../config/adminstyle.css rel=stylesheet type=text/css>";
echo "<center><strong>LOGIN GAGAL!</strong> <br>
Username atau Password Anda tidak benar.<br>
Atau account Anda Tidak Punya Hak Akses Untuk Halaman ini.<br>";
echo "<a href=index.php><b>ULANGI LAGI</b></a></center>";
}
?>
我的主页代码
<?php
include('config/koneksi.php');//connect to database
include('cek-login.php');//session user to make autorithy that user cann't acces this before loged-in
?>
<div id="menu" style="height:190px;width:115px;float:left;">
<b>Menu</b><br>
<br> </br>
<li><a href="BudgetAprovalByTop_List/view.php">Budget Aproval<br></li>
<li><a href="PPBAprovalByTop_List/view.php">PPB Aproval</a><br></li>
<li><a href="logout.php">LOG OUT</a></li>
</div>
cek-login.php代码
session_start();
//if session doesn't make, or session username is empty
if (!isset($_SESSION['username']) || empty($_SESSION['username'])) {
//redirect to login page
header('location:index.php');
}
?>
用户登录并成功后,但用户无法访问主页。我上面的会话代码中的C'z(cek-login.php)读取空用户名或者没有重定向再次登录页面
答案 0 :(得分:0)
session_register()=自PHP 5.3.0开始,此函数已被弃用,自PHP 5.4.0起已被删除。
尝试以下方法......
$_SESSION['LoginID'] = $r['LoginID'];
$_SESSION['PasswordPHP'] = $r['PasswordPHP'];