前台表单代码:
<form action="ll.php" method="post">
<p class="name1">用户:<input type="text" name="uname" maxlength="10" id="name"></p>
<p class="passwd1">密码:<input type="password" name="passwd" maxlength="16" id="pw"></p>
<p class="suu"><input class="su" value="登   录" type="submit" /></p>
</form>
后台操作数据库代码:
<?php
$server="localhost";#本地数据库
$bd_user="root";#数据库用户名
$bd_psw="root";#数据库密码
$ss=mysql_connect($server,$bd_user,$bd_psw);#声明连接
mysql_select_db("mywebsite");#使用数据库
#未提交POST之前,是没有定义 $_POST['uname']的,可以填加个判断
if(isset($_POST['uname']) && isset($_POST['passwd']))
{
$uname=$_POST['uname'];
$passwd=$_POST['passwd'];
#htmlspecialchars函数把预定义的字符转换为 HTML 实体,用来抑制一些简单的xss
$uname=htmlspecialchars($uname);
$passwd=htmlspecialchars($passwd);
#mysql_real_escape_string 将string 中的特殊字符转义,用来抑制一些简单的sql注入
$uname=mysql_real_escape_string($uname);
$passwd=mysql_real_escape_string($passwd);
#定义sql语句
$sql="SELECT username, password FROM users WHERE username='$uname' and password='$passwd' LIMIT 0,1";
#这里执行一条 MySQL 查询
$result=mysql_query($sql);
#这里函数从结果集中取得一行作为关联数组,简而言之就是把数据库里查到的内容打包发回来
$row = mysql_fetch_array($result);
}
#判断一下是否是post传参
if($_SERVER['REQUEST_METHOD']=='POST'){
#如果真的能够从数据库中查到内容则继续往下执行
if($row){
#这里又声明了一条查询语句,因为我的意图是,如果用户登录成功了,那就应该在页面上打印出他的身份是管理员还是用户
$result2 = mysql_query("select id from users where username = '$uname'");
#while循环,如果mysql_fetch_array查询到的数据并把数据赋值给$row1为真,则继续执行
while($row1 = mysql_fetch_array($result2))
{
#这里变量row1[]括号里的id是指的我数据库里的字段名id,意为抽取字段名为id的数据
$id2 = $row1['id'];
}
#如果查询到该用户身份是admin,则打印admin
if($id2 == "admin"){
echo '<font class="up" size="9.5" color="#FF6A6A">';
echo "admin";
echo '</font>';
}
#如果该用户只是普通user,则打印user
else if($id2 == "user"){
echo '<font class="up" size="9.5" color="#FF6A6A">';
echo "user";
echo '</font>';
}
}
else{
如果该用户实际上不存在,则显示error
echo '<font class="up" size="9.5" color="#FF6A6A">';
echo "error";
echo '</font>';
}
}
?>