0

今まで私は自分のウェブサイトで働いています。このWebサイトのユーザーは、コンテンツにアクセスする前にログインする必要があります。しかし、PHPでユーザーセッションを作成するのに問題があります。データベースとしてSQLサーバーを使用しています。ぜひチェックしてみてください。

ログインページのコード

<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>&nbsp;</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');
}
?>

ユーザーがログインして成功した後、ユーザーはホームページにアクセスできません。上記のセッションコード(cek-login.php)のC'zは、空のユーザー名を読み取るか、ログインページに再度リダイレクトしないようにします

4

1 に答える 1

0

session_register() = この関数は PHP 5.3.0 で非推奨となり、PHP 5.4.0 で削除されました。

次のことを試してください...

$_SESSION['LoginID']  = $r['LoginID'];
$_SESSION['PasswordPHP'] = $r['PasswordPHP'];
于 2013-03-11T03:37:20.040 に答える