当前位置:Gxlcms > PHP教程 > 一下程序原本可以登录,为啥我加了自动登录部分(前面1-15行),系统检测不到用户资料后不显示登录界面出来,请帮忙看看,多谢了

一下程序原本可以登录,为啥我加了自动登录部分(前面1-15行),系统检测不到用户资料后不显示登录界面出来,请帮忙看看,多谢了

时间:2021-07-01 10:21:17 帮助过:28人阅读

include ('connect.php');
include ('loginchg.php');
//在登录前,先判断是否已经选择自动登录
$query="select * from netoa.users where Urname='{$_session['Username']}' and urPassword='{$_session['Password']}'";
// oci_free_statement($stmt);
$stmt=oci_parse($conn,$query);
$result= oci_execute($stmt);
if ($ruselt)
{
//如果session会话变量名与密码匹配,则自动登录
header('Location: http://localhost/index.php');
exit;
}
?>




用户登陆











回复讨论(解决方案)

调试一下,看是不是进入if里面了。

include ('connect.php');
include ('loginchg.php');
//在登录前,先判断是否已经选择自动登录
$query="select * from netoa.users where Urname='{$_session['Username']}' and urPassword='{$_session['Password']}'";
// oci_free_statement($stmt);
$stmt=oci_parse($conn,$query);
$result= oci_execute($stmt);
if ($ruselt)
{
//如果session会话变量名与密码匹配,则自动登录
header('Location: http://localhost/index.php');
exit;
}
这段是我加上去的,16行之后是另外同事写的,本来可以登录,要我加上自动登录部分,我加上后界面都不显示了,刚接触php,很多还不懂,请多多指教,谢谢。
调试了,就是到if里面出不来,我看不出原因。
判断没有找到用户,不是要跳出来,执行下面语句吗?

打开php错误提示看看
php.ini 中 display_errors=On 然后重启apache再试试

display_errors=On 已经是这样的,之前设置过了,谢谢啊

$result= oci_execute($stmt);
if ($ruselt)

两个地方的变量名不一致,根本就不应该进到if里面去的,因为这个$ruselt没有被定义啊

$result= oci_execute($stmt);
后只要不出现语法错,无论是否查询到结果。$result 都不会为假

bool oci_execute ( resource stmt [, int mode] )


oci_execute() 执行一条之前被解析过的语句(见 oci_parse())。可选参数 mode 允许定义执行模式(默认是 OCI_COMMIT_ON_SUCCESS)。如果不需要将语句自动提交,则需要把 mode 设为 OCI_DEFAULT。

用 OCI_DEFAULT 模式时,将建立一个事务。事务会在关闭连接或脚本结束时(看哪个先)自动回卷。需要明确调用 oci_commit() 来提交事务,或者 oci_rollback() 中止事务。

如果成功则返回 TRUE,失败则返回 FALSE。

多谢各位了。

人气教程排行