PHP用户指南,教你用PHP写MySQL数据库用户认证连串

By admin in 编程 on 2019年7月30日

}  
?> 

else{
$row=mysql_fetch_array($result);
$id=$row[0];
$query=”
update usertbl
set lastlogin=$today
where id=$id”;
$result=mysql_query($query);
SetCookie(“usercookie”, “欢迎你,$name”);
/*此地运用了cookie,以有助于之后的页面认证。
但自个儿未支付完这一块。希望有爱好的心上人指正*/
echo 登陆成功
;
echo 请进!
;
}

mysql> create table info (FirstName varchar(20), LastName
varchar(40),  
email varchar(40), count varchar(3));  
Query OK, 0 rows affected (0.05 sec)

您恐怕感兴趣的稿子:

  • 经过PHP修改Linux或Unix口令的艺术分享
  • ThinkPHP权限认证Auth实例详解
  • PHP中对用户地方注脚完结二种艺术
  • PHP达成用户认证及保管完全源码
  • PHP防注入安全代码
  • 明白php
    Hash函数,巩固密码安全
  • php.ini
    启用disable_functions升高安全
  • php中平安情势safe_mode配置教程
  • PHP开垦不能够违反的安全规则过滤用户输入
  • php集成动态口令认证

用户认证的规律很简单:首先必要用户在页面上填入用户名和密码,当然没挂号的用户要求先挂号。然后调用数据库寻觅是不是有对应的用户。假使有就鲜明,未有则提醒用户先注册。使用PHP来成功那全部极粗略,但要求重申的是只要想在此后的页面中都能承认用户地点,使用PHP3笔者只能想出利用cookie的方式。要想行使session,就不得不等待PHP4正式版的颁布了!

$CookieString=$FirstName.’&’.$LastName.’&’.$email.’&’.$count;  
SetCookie (“Example”,$CookieString, time()+3600); //设一新的cookie  

其三步当然是加强登记的页面,也相当的少讲了。 
第四步是挂号后的身价确认和输入数据库。 
register.php: 

$query=”
select id
from usertbl
where name=$name and password=$password
/*从数据库中搜寻和登陆用户相应的资料*/
“;
$result=mysql_query($query);
$numrows=mysql_num_rows($result);

在具备的新闻被交给后调用另一php文件分析这个消息
##############################reg1.php####################################
<?  
if ($FirstName and $LastName and $email)  
{  
mysql_connect() or die (“Problem connecting to DataBase”);  
$query=”select * from info where FirstName=’$FirstName’ and  
LastName=’$LastName’ and email=’$email'”;  
编程,$result = mysql_db_query(“users”, $query);  

这两日受朋友的嘱托,要作者帮她写一个利用MySQL数据库的用户认证种类。小编当然倒霉推脱的,只得消耗了一晚上的苏息时间,写了个非常粗大略的PHP程序。 
用户认证的规律很简单:首先需求用户在页面上填入用户名和密码,当然没注册的用户需求先挂号。然后调用数据库寻找是还是不是有相应的用户。假使有就承认,未有则提示用户先注册。使用PHP来变成那总体极粗略,但供给小心的是一旦想在今后的页面中都能认可用户身份,使用PHP3小编不得不想出利用cookie的不二诀窍。要想使用session,就只能等待PHP4正式版的揭露了! 
第一步是做多少个登入的页面,这儿就相当少讲了。笔者只做了个极轻松的,大家能够做得美貌点。 
第二步最首先登场陆后的认可程序的设计。 
login.php: 

其次步发轫登入后的明确程序的陈设。

PHP用户指南-cookies部分

create table usertbl  
(  
ID int auto_increment primary key,  
Name varchar(30),  
Password varchar(20),  
Lastlogin varchar(20)  
); 

if($numrows==0){
/*证实是还是不是能寻找一致资料的用户,无法则未注册*/
echo 违规用户
;
echo 请注册先
;
echo 重试
;
}

$r=mysql_fetch_array($result);  
$count=$r[“count”];  

echo 重试 

??login.php:?
mysql_connect(“localhost”,”user”,”password”)
/*老是数据库,用户名和密码自行修改*/
or die(“无法连接数据库,请重试”);

if (isset($count)) {  
$count++;  
$CookieString=$FirstName.’&’.$LastName.’&’.$email.’&’.$count;  
SetCookie (“Example”,$CookieString, time()+3600);  
echo “<p>user $FirstName $LastName already exists. Using the
existing  
info.</p>”;  
echo “<p><a href=”index.php”>Back to Main
Page</a>”;  
} else {  
$count = ‘1’; //new visitor – set counter to 1.  
$query = “insert into info values  
(‘$FirstName’,’$LastName’,’$email’,’$count’)”;  
$result = mysql_db_query(“users”, $query);  
$CookieString=$FirstName.’&’.$LastName.’&’.$email.’&’.$count;  
SetCookie (“Example”,$CookieString, time()+3600);  
echo “Thank you for registering.<br>”;  
这段程序做了几件专门的工作:它检查数据库是或不是有诸有此类八个用户(若无,约等于说,那一个cookie已被剔除),如若有,它内定旧的新闻,并用当下的音讯建一新的cookie,假使一致用户并未有数据库登陆,新建一数据库登陆,并建一新的cookie.
先是,大家从数据库中取回用户登入详细资料
mysql_connect() or die (“Problem connecting to DataBase”);  
$query=”select * from info where FirstName=’$FirstName’ and  
LastName=’$LastName’ and email=’$email'”;  
$result = mysql_db_query(“users”, $query);  
$r=mysql_fetch_array($result);  
$count=$r[“count”];

复制代码 代码如下:

那二日受朋友的信托,要自己帮她写二个用到MySQL数据库的用户认证体系。小编当然倒霉推脱的,只得消耗了一晚间的休息时间,写了个很简短的PHP程序。

mysql> use users;  
Database changed  

echo 请注册先 

先是步是做四个登入的页面,那儿就十分的少讲了。笔者只做了个极简单的,大家能够做得赏心悦目点。

mysql> create database users;  
Query OK, 1 row affected (0.06 sec)  

if(!$usercookie)  
{header(“非法用户”);  
}  
?>  
welcome.php:  
require(“cookie.php”); /*调用cookie.php*/  
?>  
echo $usercookie;  
?> 

mysql_select_db(“userinfo”)
or die(“不也许取舍数据库,请重试”);
$today=date(“Y-m-d H:i:s”);

} //End Existing cookie instructions  

复制代码 代码如下:

cookies和php

PHP中用cookies是拾壹分轻易的。能够运用setcookie函数设置二个cookie。cookie是
HTTP标头的一片段,
因而设置cookie效率必须在其余内容送到浏览器此前。这种范围与header()函数一样。任何从客户端传来的cookie将机关地转化成叁个PHP变量。PHP获得音讯头并深入分析,
提取cookie名并化作变量。因而,假诺你设置cookie如setcookie(“mycookie”,”wang”);php将自动发出多个名字为$mycookie,值为”wang”的变量.

复制代码 代码如下:

先让大家复习一下setcookie函数语法:
setcookie(string CookieName, string CookieValue, int CookieExpireTime,
path, domain, int secure);
PATH:表示web服务器上的目录,默以为被调用页面所在目录
DOMAIN:cookie能够利用的域名,默以为被调用页面包车型大巴域名。那么些域名必须含有三个”.”,所以若是你钦赐你的一级域名,你无法不用”.mydomain.com”
SECURE:借使设为”1″,表示cookie只好被用户的浏览器以为是安全的服务器所铭记

mysql_connect(“localhost”,”user”,”password”) /*请修改用户名和密码*/  
or die(“无法连接数据库,请重试”);  
mysql_select_db(“userinfo”)  
or die(“无法选拔数据库,请重试”);  
$query=”select id from usertbl where name=$name\”; 
 /*从数据库中找找一样名字的用户资料*/  
$result=mysql_query($query);  
$numrows=mysql_num_rows($result);  
if($numrows!=0) /*找到了自然就是有人先挂号了同一的名字*/  
{echo 已有人登记此名,请重新选择名字!;}  
else  
{$query=”insert into usertbl values(0,$name,$password,\)”; 
 /*找不到同一的就输入新的用户资料*/  
mysql_query($query);  
echo 注册成功;  
echo 请登录!;}  
?> 

echo” <html>  
<title>wang example</title>  
</head>  
<body>  
<p>Hello $FirstName $LastName, this is your visit number:
$count</p>  
<p>Your email address is: $email</p>  
<body>  
<html>”;  

到此刻便形成了一个很简短的用户认证系统,当然借令你要运用它还得建好数据库。上面是自己的数据库表的组织,库的名字是userinfo。 

好,今后有了符合需求的表,大家可以建一个php页面临照数据库检查cookies.

复制代码 代码如下:

<body bgcolor=#ffffff>  
<h1>Registering the site</h1>  

}  
else{  
$row=mysql_fetch_array($result);  
$id=$row[0];  
$query=”  
update usertbl  
set lastlogin=$today  
where id=$id”;  
$result=mysql_query($query);  
SetCookie(“usercookie”, “欢迎你,$name”); 
 /*这里运用了cookie,以有益之后的页面认证。 
但自癸卯支付完这一块。希望有意思味的爱侣指正*/  
echo 登入成功 

<form method=”post” action=”reg1.php”>  
<table width=90% align=center>  
<tr><td>User Name:</td><td><input type=text
name=’FirstName’ size=20  
maxlength=20></td></tr>  
<tr><td>Last Name:</td><td><input type=text
name=’LastName’ size=40  
maxlength=40></td></tr>  
<tr><td>email addrress:</td><td><input
type=text name=’email’ size=40  
maxlength=40></td></tr>  
<tr><td></td><td><input type=submit
value=”Click to Register”></td></tr>  
</table>  
</form>  
</body>  
</html>  

echo 请进! 

if (isset($count)) {  
$CookieString=$FirstName.’&’.$LastName.’&’.$email.’&’.$count;  
SetCookie (“Example”,$CookieString, time()+3600);  
echo “<p>user $FirstName $LastName already exists. Using the
existing  
info.</p>”;  
echo “<p><a href=”index.php”>Back to Main
Page</a>”;  
} else {  
$count = ‘1’;  
$query = “insert into info values  
(‘$FirstName’,’$LastName’,’$email’,’$count’)”;  
$result = mysql_db_query(“users”, $query);  
$CookieString=$FirstName.’&’.$LastName.’&’.$email.’&’.$count;  
SetCookie (“Example”,$CookieString, time()+3600);  
echo “Thank you for registering.<br>”;  
}  

下一步是cookie的应用,笔者原准备动用cookie来使每一页都能分辨用户身份,但鉴于其余页面还没做好,不知情需求用到何以材质。于是就唯有贰个很简单的运用,这里运用了php的援引: 

} else { echo “Sorry, some information is missing. Please go back and
add all  
the information”; }  
?>  
率先检查有着的消息是不是按须要填写,若无,再次来到重新输入
<?  
if ($FirstName and $LastName and $email)  
{  
…  
} else { echo “Sorry, some information is missing. Please go back and
add all  
the information”; }  
?>
若果全体信息填好,将实践上面:

mysql_connect(“localhost”,”user”,”password”)  
/*连续数据库,用户名和密码自行修改*/  
or die(“不能连接数据库,请重试”);  
mysql_select_db(“userinfo”)  
or die(“无法选择数据库,请重试”);  
$today=date(“Y-m-d H:i:s”);  
$query=”  
select id  
from usertbl  
where name=$name and password=$password  
/*从数据库中找找和登入用户相应的素材*/  
“;  
$result=mysql_query($query);  
$numrows=mysql_num_rows($result);  
if($numrows==0){  
/*证实是还是不是能寻觅一样资料的用户,不可能则未注册*/  
echo 违规用户 

else { //Begin inctructions for no Cookie  
echo “<html>  
<head>  
<Title>Rafi’s Cookie example</title>  
</head>  
<body>  
<a href=”reg.php”>Click Here for Site Registration</a>  
</body>  
</html>”;  
} //End No Cookie instructions  
?>

什么是cookies及作用?  
cookies是由web服务器发生的同期存在客户端的有的音信。它嵌在html音信中,由劳动器端钦定,在客户端及服务器端间传递音信
。它一般用于:用户网页性子化,计数器,积累被浏览站点的音信等。

   
<html>  
<head><title>Registering the Site</title>  
</head>  

mysql_connect() or die (“Problem connecting to DataBase”);  
$query=”select * from info where FirstName=’$FirstName’ and  
LastName=’$LastName’ and email=’$email'”;  
$result = mysql_db_query(“users”, $query);  

上面reg.php轻便列出到注册页面包车型大巴链接
#############################reg.php#############################

$r=mysql_fetch_array($result);  
$count=$r[“count”];  

我们想检查是否叁个被钦定名字的cookie在html尾部分传送,记住,php能转变可甄其他cookie为相应的变量,所以大家能检查一个名称为”Example”
的变量:
<? if (isset($Example)) { //Begin instructions for existing
Cookie  
…  
} else {  
…  
}
如果那么些cookie存在,大家将计数器加一,并打字与印刷用户信息,借使那几个cookie不设有,大家建议用户先挂号
尽管cookie存在,我们试行上边步骤:
<? if (isset($Example)) { //Begin instructions for existing
Cookie  
$info = explode(“&”, $Example); //split the string to variables  
$FirstName=$info[0];  
$LastName=$info[1];  
$email=$info[2];  
$count=$info[3];  
$count++;  

} //End Existing cookie instructions
上边的次序有3个关键部分:首先获得cookie值,用explode函数分成区别的变量,扩大计数器,并设一新cookie.接着用html语句输出用户音信。最后,用新的计数器值更新数据库。
借使那几个cookie不存,上边包车型客车次第将被实行:

if (isset($count)) {  
…  
} else {  
…  
}  
计数器扩大并新建一cookie
$count++; //increase counter  
$CookieString=$FirstName.’&’.$LastName.’&’.$email.’&’.$count;  
SetCookie (“Example”,$CookieString, time()+3600);  
echo “<p>user $FirstName $LastName already exists. Using the
existing info.</p>”;  
echo “<p><a href=”index.php”>Back to Main Page</a>”;
假定未有一用户计数器,在mysql中加一记录,并设一cookie
瞩目:在其他时候,setcookie放在输送任何资料到浏览器以前,不然获得错误新闻

########################index.php##################################
<? if (isset($Example)) { //Begin instructions for existing
Cookie  
$info = explode(“&”, $Example);  
$FirstName=$info[0];  
$LastName=$info[1];  
$email=$info[2];  
$count=$info[3];  
$count++;  

在意:假使你用的是多少个远道mysql服务器或unix服务器,你使用下边语句
mysql_connect (“server”,”username”,”password”) or die (“Problem
connecting to DataBase”);  

在那课教程大家将学习如何利用 PHP
管理cookies,笔者将试着使专门的职业尽大概轻便地去解释cookies的某些实际上采取。

$CookieString=$FirstName.’&’.$LastName.’&’.$email.’&’.$count;  
SetCookie (“Example”,$CookieString, time()+3600); //setting a new
cookie  

您只怕感兴趣的小说:

  • php完结的库克ies操作类实例
  • php设置session值和cookies的学习示例
  • PHP
    CU奇骏L获取cookies模拟登入的措施
  • 怎样利用php与jquery设置和读取cookies
  • 深入分析php通过cookies获取远程网页的钦点代码
  • php
    cookies中删除的貌似赋值方法
  • php中用数组的秘技设置cookies
  • php读取javascript设置的cookies的代码
  • PHP中cookies使用指南
  • php利用cookies实现购物车的不二秘技

应用:
对于三个索要注册的站点,将自动识别用户的身价,并发送给它音信,假使是素不相识人,将报告她请先登记。大家按上面给出的音讯创制一个小型数
据库:名字(first name),姓(last name),email地址(email
address),计数器(visit counter).
按下边步骤建表:

mysql_connect() or die (“Problem connecting to DataBase”); //update
DB  
$query = “update info set count=$count where FirstName=’$FirstName’
and  
LastName=’$LastName’ and email=’$email'”;  
$result = mysql_db_query(“users”, $query) or die (“Problems ….
“);  

mysql_connect() or die (“Problem connecting to DataBase”); //update
DB  
$query = “update info set count=$count where FirstName=’$FirstName’
and  
LastName=’$LastName’ and email=’$email'”;  
$result = mysql_db_query(“users”, $query) or die (“Problems ….
“);  

#####################################################
—advance翻译,有不恰之处,请qianjinok@china.com——-

else { //Begin inctructions for no Cookie  
echo “<html>  
<head>  
<Title>Rafi’s Cookie example</title>  
</head>  
<body>  
<a href=”reg.php”>Click Here for Site Registration</a>  
</body>  
</html>”;  
} //End No Cookie instructions  

如今检查是不是有一计数器为那用户,利用isset()函数

echo” <html>  
<title>wang example</title>  
</head>  
<body>  
<p>Hello $FirstName $LastName, this is your visit number:
$count</p>  
<p>Your email address is: $email</p>  
<body>  
<html>”;  

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 澳门新葡亰官网app 版权所有