重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
创建conn.php,连接数据库。
创新互联公司专注于沙湾网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供沙湾营销型网站建设,沙湾网站制作、沙湾网页设计、沙湾网站官网定制、小程序开发服务,打造沙湾网络公司原创品牌,更为您提供沙湾网站排名全网营销落地服务。
$dns = 'mysql:host=127.0.0.1;dbname=test';
$username = 'root';
$password = 'root';
// 1.连接数据库,创建PDO对象
$pdo = new PDO($dns,$username,$password);
创建login.html,登陆页面。
用户名
密 码
创建login.php,验证账号密码。
header("Content-Type: text/html; charset=utf8");
if(!isset($_POST["submit"])){
exit("错误执行");
}//检测是否有submit操作
include('conn.php');//链接数据库
$name = $_POST['name'];//post获得用户名表单值
$pwd = sha1($_POST['password']);//post获得用户密码单值
if ($name $pwd){//如果用户名和密码都不为空
$sql = "select * from user where username = '$name' and password='$pwd'";//检测数据库是否有对应的username和password的sql
$stmt = $pdo-prepare($sql);
$stmt-execute();
if($stmt-fetch(PDO::FETCH_BOUND)){//0 false 1 true
header("refresh:0;url=welcome.html");//如果成功跳转至welcome.html页面
exit;
}else{
echo "用户名或密码错误";
echo "
setTimeout(function(){window.location.href='login.html';},1000);
";//如果错误使用js 1秒后跳转到登录页面重试;
}
}else{//如果用户名或密码有空
echo "表单填写不完整";
echo "
setTimeout(function(){window.location.href='login.html';},1000);
";
//如果错误使用js 1秒后跳转到登录页面重试;
}
$pdo = null;
创建signup.html,注册页面
用户名:
密 码:
创建signup.php
header("Content-Type: text/html; charset=utf8");
if(!isset($_POST['submit'])){
exit("错误执行");
}//判断是否有submit操作
$name=$_POST['name'];//post获取表单里的name
$pwd = sha1($_POST['password']);//post获取表单里的password
include('conn.php');//链接数据库
$sql="insert into user(id,username,password) values (null,'$name','$pwd')";//向数据库插入表单传来的值的sql
$stmt = $pdo-prepare($sql);
$stmt-execute();
$stmt-fetch(PDO::FETCH_BOUND);
if (!$stmt){
die('Error: ' . $stmt-getMessage());//如果sql执行失败输出错误
}else{
echo "注册成功";//成功输出注册成功
}
$pdo = null;//关闭数据库
$conn = mysql_connect("localhost","root","");
mysql_select_db("homework", $conn);
mysql_query("SET NAMES 'UTF8'",$conn);
$username=$_POST['user_email'];
$password=$_POST['password'];
$sql = "select * from user where username='$username' and password='$password'";
$Result = mysql_query($sql, $conn);
$onerow = mysql_fetch_array($Result);
if ( $onerow )
echo "正确";
else
echo "错误";
if($_POST[id]=='$a') $a 不能用单引号括起来,要么用双引号,要不不用,单引号扩住的话,它不会编译,只会把它堪称是字符串 $a 来看待。我说一个问题哦,仅仅是我自己理解的,你在页面传输的时候接受 id ($_POST[id]==)的值,而你又要和$a(用户名$lr[luser]; )比较( _POST[id]=='$a' ),你的用户民 是字符串,而id是数字类型的,怎么能相等...
一、sql 语句就有问题了。既然向PHP端传入参数name和password,那么$sql 就得做出更改了。
$sql = "select * from admin where name='".$name."' and password='".md5($password)."'";
二、函数mysqli_fetch_assoc() 函数从结果集中取得一行作为关联数组。while只针对二维数组来循环操作的,所以$row=mysqli_fetch_assoc($result);即可。
所以整体代码更改如下:
$sql="";
if (!isset($_POST) || empty($_POST)) {
} else {
//关联数据库接受信息
$name = $_POST['name'];
$password = $_POST['password'];
$sql = "select * from admin where name='".$name."' and password='".md5($password)."'";
if ( $result=mysqli_query($con,$sql) )
{
$row = mysqli_fetch_assoc($result);
mysqli_free_result($result);// 释放结果集
if($row){
header("Location:empManage.php");
exit();
}else{
header("Location:login.php?errno=1");
exit();
}
}else{
echo("错误描述: " . mysqli_error($con));
}
mysqli_close($conn);
}