php登录不了怎么办,php-登录页面不起作用

这篇博客讨论了一个PHP登录系统的奇怪问题,即用户首次尝试登录时,即使输入正确的用户名和密码,也不会重定向到主页。然而,当用户第二次尝试登录时,系统能够成功重定向。问题可能涉及到会话变量的设置。解决方案建议在登录页面打印会话变量以检查其状态。
摘要由CSDN通过智能技术生成

标签:php

首次打开登录页面时,即使我使用正确的用户名和密码,登录页面也不会重定向到主页.但是在第二次登录时,它已被正确重定向到主页. login.php的代码如下所示.

session_start();

$_SESSION['login_user'] = false;

?>

其余的login.php是简单的html,并将登录表单数据发送到validate.php

validate.php看起来像这样.

session_start();

$username="";

$password="";

$usernameErr="";

$passwordErr="";

$empty=false;

$_SESSION['login_user'] = false;

if(isset($_POST['submit']))

{

if(empty($_POST['username']))

{

$empty=true;

$usernameErr="Username is empty. Please try again";

}

else

{

$username=$_POST['username'];

}

if(empty($_POST['password']))

{

$empty=true;

$passwordErr="Password is empty. Please try again";

}

else

{

$password=$_POST['password'];

}

if(!$empty)

{

$servername="myxor.in.mysql";

$dbusername="myxor_in";

$dbpassword="srikanth177";

$dbname="myxor_in";

$conn=new mysqli($servername, $dbusername, $dbpassword, $dbname);

if($conn->connect_error)

{

die("Connection failed: " . $conn->connect_error);

}

$sql = "SELECT firstname,package,username,password FROM users WHERE username='$username'";

$result = $conn->query($sql);

if (($result->num_rows) > 0)

{

$row = $result->fetch_assoc();

if($username === $row['username'])

{

if($password === $row['password'])

{

$_SESSION['fname'] = $row['firstname'];

$_SESSION['pack'] = $row['package'];

//$_SESSION['login_user'] = $username;

$_SESSION['login_user'] = true;

header('Location: http://www.myxor.in/home.php');

exit;

}

else

{

$passwordErr = "Invalid Password. Please Try Again";

}

}

} else

{

$usernameErr = "Invalid Username. Please Try Again";

}

}

}

else echo "submit not set";

echo $usernameErr;

echo "
";

echo $passwordErr;

?>

为什么登录页面第一次不起作用的任何建议(请注意,当我第二次登录时,它已正确重定向到所需的home.php)

解决方法:

您应该在登录页面上打印会话变量.像这样:

var_dump($_SESSION);

这样,当您输入登录信息并且在第一次尝试时不被重定向时,您将看到是否设置了值.那是第一步.这样,您便可以更好地了解文件中需要更改的内容.

标签:php

来源: https://codeday.me/bug/20191011/1896232.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值