我的登录页面有问题, 如果用户已登录,则用户可以在其他浏览器上使用相同的用户名再次登录
登录页面
require("config/config.default.php");
require("config/config.function.php");
require("config/functions.crud.php");
(isset($_SESSION['id_siswa'])) ? $id_siswa = $_SESSION['id_siswa'] : $id_siswa = 0;
($id_siswa<>0) ? jump("$homeurl/login.php"):null;
$siswa = mysql_fetch_array(mysql_query("SELECT * FROM siswa WHERE id_siswa='$id_siswa'"));
if(isset($_POST['submit'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$siswaQ = mysql_query("SELECT * FROM siswa WHERE username='$username'");
if(mysql_num_rows($siswaQ)==0) {
$info = info('Siswa tidak terdaftar!','NO');
} else {
$siswa = mysql_fetch_array($siswaQ);
if($password<>$siswa['password']) {
$info = info('Password salah!','NO');
} else {
$_SESSION['id_siswa'] = $siswa['id_siswa'];
mysql_query("INSERT INTO log (id_siswa,type,text,date) VALUES ('$siswa[id_siswa]','login','masuk','$tanggal $waktu')");
jump($homeurl);
}
}
}
数据库表siswa
CREATE TABLE `siswa` (
`id_siswa` int(11) NOT NULL,
`id_kelas` int(11) NOT NULL,
`nis` varchar(30) NOT NULL,
`no_peserta` varchar(30) NOT NULL,
`nama` varchar(50) NOT NULL,
`paket` varchar(1) NOT NULL,
`username` varchar(50) NOT NULL,
`password` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
数据库会话
CREATE TABLE `session` (
`id` int(11) NOT NULL,
`session_time` varchar(10) NOT NULL,
`session_hash` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
我已经厌倦了在Google上尝试使用参考文献。 请帮助
答案 0 :(得分:0)
我将使用您的数据库会话来存储时间,会话哈希,用户ID和IP地址。 每次页面加载时,我都会: