php登录注册系统数据库,PHP注册登录

php注册和登录用的是一个数据库吗

是的,注册和登陆用的是一个数据库。相当于你在一个保险柜放一个东西,在别的保险柜是拿不到的。(中大型项目除外)

创新互联长期为上1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为香洲企业提供专业的网站建设、成都网站设计香洲网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。

php登录页面完整代码连接数据库

创建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;//关闭数据库

PHP登陆注册页在本地测试时,出现连接数据库失败的情况怎么办?

1、检查环境正常

使用mysql -u root -p 可以进入MySQL操作界面

直接使用/usr/local/php5/bin/php /web/test.php执行可以连上数据库

2、打开hosts加入

复制代码代码如下:127.0.0.1 qttc

使用qttc当主机连接也正常,唯独就不认localhost。

3、localhost连接方式不同导致

为了了解PHP连接数据库时,主机填写localhost与其它的区别阅读了大量资料,最后得知:

当主机填写为localhost时mysql会采用 unix domain socket连接

当主机填写为127.0.0.1时mysql会采用tcp方式连接

这是linux套接字网络的特性,win平台不会有这个问题

4、解决方法

在my.cnf的[mysql]区段里添加

复制代码代码如下:

protocol=tcp

保存重启MySQL,问题解决!


网站题目:php登录注册系统数据库,PHP注册登录
转载来源:http://myzitong.com/article/hdddso.html