【发布时间】:2016-06-16 08:18:52
【问题描述】:
我正在尝试在我的网站上实施用户登录系统。我已经做了注册登录功能,现在我正在尝试使用会话来制作它,所以只有登录的用户才能访问某些页面,我的登录页面的代码如下:
<? session_start(); ?>
<div align="left">
<a href='register.php'>REGISTER <i class="fa fa- user-plus" aria-hidden="true"></i></a>
<?
include('HtmlNavSetupnohome.php');
include('sqlDeets.php')
?>
<link href="css/hawthorne_type1_color1.css" rel="stylesheet">
<link href="css/font-awesome.min.css" rel="stylesheet">
<form action="" method="POST">
<h3>USERNAME:</h3><input id="username" type="text" name="username"/>
<h3>PASSWORD:</h3><input id="password" type="password" name="password"/><br>
<input class="login" type="submit" name="submit" value="Login" />
</form>
<?
include('connect.php');
if (isset($_POST['username']) and isset($_POST['password'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$query = "SELECT * FROM user WHERE username='$username' and password='$password'";
$result = mysql_query($query) or die(mysql_error());
$count = mysql_num_rows($result);
if (isset($_POST['submit'])) {
if ($count == 1) {
$_SESSION['username'] = $username;
} else {
?>
<br>INVALID LOGIN DETAILS<br>
<?
session_destroy();
$_SESSION['username'] = null;
}
}
if (isset($_SESSION['username'])) {
?>
<script type="text/javascript">location.href = 'http://www.bradleyboothman.co/homepage.php';</script>
<?
$_SESSION['username'] = $username;
} else {
}
}
我尝试在每个要保护的页面上使用以下内容,但没有成功:
<?php
session_start();
if (!isset($_SESSION['username'])) {
// use is not logged in
} else {
// user is logged in
}
知道我做错了什么吗?任何帮助表示赞赏。
【问题讨论】:
-
您是否收到任何错误消息?您是否检查过您确实已登录?
-
您是否在另一页的开头添加了
<? session_start(); ?>? -
我建议你把
$count > 0设置为两次用户名会话? -
抱歉,您的代码几乎包含所有初学者错误:使用了已经从 PHP/7 语言中消失的遗留 mysql 扩展、对 SQL 注入开放、纯文本密码......跨度>
-
Jeez holly 抽 sql 注入!