服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: #
当前位置: 主页 > php教程 > php教程 >

用 php及SQL实现简单的注册及登录效果

时间:2016-06-01 19:18来源:未知 作者:最模板 点击:
一. 注册功能 1. HTML(register.html) !DOCTYPE htmlhtml head meta charset=UTF-8 titleRegister/title /head body form action=registerHandler.php method=post 注册用户:input type=text name=user/br 注册密码:input type=text nam

一. 注册功能

1. HTML(register.html)

<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <title>Register</title>
 </head>
 <body>
  <form action="registerHandler.php" method="post">
   注册用户:<input type="text" name="user"/><br>
   注册密码:<input type="text" name="pass"/><br>
   <input type="submit" value="注册"/>
  </form>
 </body>
</html>

2. php(registerHandler.php)

首先应进行数据库的创建,下面代码在创建完成后删除即可,否则反复创建,会反复提示创建失败,影像使用效果。

<?php
 $result = mysql_query("create database `sqlTest` character set 'utf8' collate 'utf8_general_ci' ");
 if ($result) echo "创建成功";
 else echo "创建失败" . $result;
?>
<?php
 header("Content-type:text/html;charset=utf-8");
 $user = $_POST["user"];
 $pass = $_POST["pass"];
 $link = mysql_connect("localhost", "root");
 // 先选择了这个数据库进行操作
 mysql_select_db("N_&_P", $link);
 // 创建表
 $result = mysql_query("create table if not exists `N_&_P` (username  varchar(255) primary key, password text) default charset=utf8", $link);
 mysql_query("set names utf8", $link);
 if ($result) {
  echo "成功";
  $r = mysql_query("insert into `N_&_P` values ('{$user}', '{$pass}')");
  if ($r) echo "成功" . "<hr>";
  else echo "失败" . "<hr>";
 }
?>

通过以上代码,多次输入可在表单 N_&_Q 中创建如图的数据
待登录时可做验证使用

二. 登录功能

1. HTML(login.html)

<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <title>Register</title>
 </head>
 <body>
  <form action="loginHandler.php" method="post">
   登录用户:<input type="text" name="user"/><br>
   登录密码:<input type="text" name="pass"/><br>
   <input type="submit" value="登录"/>
  </form>
 </body>
</html>

2. php(loginHandler.php)

<?php
 header("Content-type:text/html;charset=utf-8");
 $user = $_POST["user"];
 $pass = $_POST["pass"];
 $link = mysql_connect("localhost", "root");
 mysql_select_db("N_&_P", $link);
 $re = mysql_query("select * from `N_&_P` where username = '{$user}' and password = '{$pass}'");
 $obj = mysql_fetch_object($re);
 if ($obj) echo "登录成功了!";
 else echo "登录失败了!";
?>

三. 代码解释

在这里放一整段 php 与 SQL 协同对数据库操作的代码,包含用到的代码解释。与上文无直接关系。

<?php
header("Content-type:text/html;charset=utf-8");
// 数据库操作
// 1. 打开数据库,进行数据库链接
// 参数1: 数据库的位置:localhost
// 参数2:默认的用户名:root 还有密码,因为是默认的,所以没有密码
$link = mysql_connect("localhost", "root");
//
// 2. 创建数据库
// 使用 SQL 语句,进行创建数据库sqlTest,并且选取了不能出现乱码的字符集
// 只有第一次创建是成功的,再刷新就是失败的,因为已经有重名数据库了
// 已经创建完了,就给注了,不然来会提示创建失败也是很烦人的
//$result = mysql_query("create database `sqlTest` character set 'utf8' collate 'utf8_general_ci' ");
//if ($result) {
// echo "创建成功";
//} else {
// echo "创建失败" . $result;
//}
//
//
// 选择数据库
// 不填也可以,语句会选最近的进行选择,但是不推荐
mysql_select_db("sqlTest", $link);
// 创建表 text不可以设置为主键
// 在数据库中,执行 sql 语句,创建表
$result = mysql_query("create table if not exists `AAA` (id integer primary key,name text) default charset=utf8", $link);
// 将所有列和内容的字符集设置为 utf8
mysql_query("set names utf8", $link);
if ($result) {
 echo "成功";
 $r = mysql_query("insert into `AAA` values (1, 'aa')");
 if ($r) {
  echo "成功" . "<hr>";
 } else {
  echo "失败" . "<hr>";
 }
 // 查询语句(select)
 $re = mysql_query("select * from `AAA`");
 // mysql_fetch_object($result); // 每次都从结果中取出一条数据(对象的形式)
 // mysql_fetch_array($result); // 以数组的形式(索引和关联)
 while ($obj = mysql_fetch_object($re)) {
  // 每次取出一个对象
  var_dump($obj);
  echo '<hr>';
 }
} else {
 echo "失败";
}

// 如果要让文本类型当主键,必须要指定文本的长度
// 推荐适用类型:vasrchar
// sql 举例:
// create table xxx(username varchar(255) primary key);
?>

(责任编辑:最模板)
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容