php中如何用session判断用户是否以登陆

php中如何用session判断用户是否以登陆,第1张

在用户的登录出设置session,你得想通这个逻辑。 当用户提交信息与从数据库里查询的信息比对成功,下一步就设置个session来标记用户登录成功。在其他页面就可以通过判断设置的session来获取是否登录的信息了。

无论你用什么语言,思路都是一样的,只是实现的方法不一样,首先你要建立连接,要设置connection,然后要设置Query的connection(可能语言不同这个叫法不一样,但是都是用来查询数据库的),在query里写sql语句。判断的思路很简单分一下几步:

第一步 判断用户名密码的框是否有为空的,只要有一个为空就提示请输入用户名和密码

第二步 都不为空,将文本框中的用户名到数据库中查询,如果查询不到就提示用户名不存在

第三步 如果用户名存在,那么取出返回结果中的密码字段的值,判断密码是否与输入的密码一样,如果一样那么成功登录,不一样说明密码输入错误

这个做法有很多种,给你举个例子,当然第一步都是一样的,往后校验就有很多种方式了。

1登录界面输入用户名,密码,这个可以直接从界面上得到,并赋值给变量。

2根据界面输入的用户名,到后台查询出后台表中的这个用户名对应的密码,赋值给另一个变量。

3对比两个密码的变量是否相同,如果不同,那么密码错,登录不成功,否则登录成功。

举例代码:

string ls_user, ls_pwd, ls_pwd_db

ls_user = sle_usertext //获取界面上用户输入的用户名

ls_pwd = sle_pwdtext //获取用户输入的密码

select pwd

into :ls_pwd_db

from 用户表

where user_id(用户名) = :ls_user;

//这里用户表主键肯定是登录账号,登录账号肯定是不重复的,所以以上语句肯定会得到一个结果

if isnull(ls_pwd_db) then

//密码返回为空,如果密码字段不为空,那么只能是上述语句没有返回值,那么可能是用户名输入错误,此处做相应的处理

return

end if

if ls_pwd_db = ls_pwd then

//密码一致,登录成功,打开主界面

open(w_main)

close(parent)//关闭当前登录界面

else

//密码不一致,输入错误处理

messagebox("","密码输入错误")

end if

//说明 你要先建立一个access的数据库文件 名称是yhmmdb

//数据表 zl里面有usename即用户名字段 和 password即密码字段

//其中的sql语句改一下就可以了 参照2楼

//以下是在控制台中简单测试

using System;

using SystemCollectionsGeneric;

using SystemLinq;

using SystemText;

using SystemDataOleDb;

using SystemWeb;

namespace ConsoleApplication1

{

class Program

{

//控制台测试连接Access数据库

//2010 - 6 - 1

static void Main(string[] args)

{

OleDbConnection conn = null;

OleDbDataReader reader = null;

try

{

conn = new OleDbConnection("Provider=MicrosoftJetOLEDB40;Data Source=yhmmdb ;");

connOpen();

string name = "lee";

OleDbCommand cmd = new OleDbCommand("Select username FROM zl where username= '" + name + "' ", conn);

reader = cmdExecuteReader();

if (readerRead())

{

ConsoleWriteLine("读取成功");

}

else

{

ConsoleWriteLine("读取失败");

}

}

finally

{

if (reader != null) readerClose();

if (conn != null) connClose();

}

}

}

}

private bool CheckUserID(String UserID,String Password)

{

String sql="select password from users where userid=@userid";

SqlDataAdapter da=new SqlDataAdapter(sql,new SqlConnection(connString));

daSelectCommandParametersAddWithValue("@userid",UserID);

DataTable dt=new DataTable();

daFill(dt);

if(dt!=null&&dtRowsCount>0)

{

if(PasswordEquals(dtRows[0]["password"]))//这里未考虑密码加密的情况,如果加密了,需要先处理把输入的Password做加密后再比较

{

return true;//表示输入的账号和密码与数据库中存储的相同

}

return false;//表示数据库中存储有该账号,但密码不同

}

return false;//表示数据库中未查到存有该账号的记录

}

<php

if(isset($_POST["submit"]) && $_POST["submit"] == "登陆")

{

$user = $_POST["username"];

$psw = $_POST["password"];

if($user == "" || $psw == "")

{

echo "<script>alert('请输入用户名或密码!'); historygo(-1);</script>";

}

else

{

mysql_connect("localhost","root","");

mysql_select_db("vt");

mysql_query("set names 'gbk'");

$sql = "select username,password from user where username = '$_POST[username]' and password = '$_POST[password]'";

$result = mysql_query($sql);

$num = mysql_num_rows($result);

if($num)

{

$row = mysql_fetch_array($result); //将数据以索引方式储存在数组中

header("location:QAphp");

echo $row[0];

}

else

{

echo "<script>alert('用户名或密码不正确!');historygo(-1);</script>";

}

}

}

else

{

echo "<script>alert('提交未成功!'); historygo(-1);</script>";

}

>

这里提供个参考

关键是sql语句,如果你用jdbc+dao的话就是

select count(当前表的id名比如id) from user where userid= 接收的用户名 and password=接收的密码

然后取得值看该值是否大于0,如果大于0返回一个true值或者直接返回该值,然后判断只要大于0就表示登录成功,和数据库中一样。

你可以通过request跳转,如果登录成功就跳转到登录成功界面,并把你的登录信息保存到session中。否则就直接重定向到登录界面让用户重新登录。

扩展资料

程序功能

创建数据库

CREATE DATABASE database-name

删除数据库

drop database dbname

创建新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],)

删除新表

drop table tabname

增加一个列

Alter table tabname add column col type

添加主键

Alter table tabname add primary key(col)

删除主键

Alter table tabname drop primary key(col)

创建索引

create [unique] index idxname on tabname(col…)

删除索引

drop index idxname

创建视图

create view viewname as select statement

删除视图

drop view viewname

参考资料来源:百度百科-sql语句

以上就是关于php中如何用session判断用户是否以登陆全部的内容,包括:php中如何用session判断用户是否以登陆、在登录页面中连接数据库,并且判断用户名和密码是否合法,并显示登陆成功的结果。、pb调用数据库,进行登陆,判断用户名和密码的语句格式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9474935.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存