У меня есть пользователь таблицы пользователя USER ISA admin user ISA
Регистрация в таблице пользователя отлично работает... Я пытаюсь создать страницу входа, которая создает сеанс. Когда я отправляю имя пользователя и пароль, я получаю белый экран. Мои 3 файла ниже, cananyone видит какие-либо ошибки относительно того, почему это не позволит войти? Просто получить пустую страницу?
login.php
<table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<form name="form1" method="post" action="checklogin.php">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td colspan="3"><strong>Member Login </strong></td>
</tr>
<tr>
<td width="78">Username</td>
<td width="6">:</td>
<td width="294"><input name="username" type="text" id="username"></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input name="password" type="text" id="password"></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><input type="submit" name="Submit" value="Login"></td>
</tr>
</table>
</td>
</form>
</tr>
</table>
Checklogin.php
<?php
$host="localhost";
$username="root";
$password="";
$db_name="membersappdb";
$tbl_name="users";
$conn = mysqli_connect("localhost", "root", "", "membersappdb") or die(mysqli_error($conn));
echo "Connected to database";
$username=$_POST['username'];
$password=$_POST['password'];
$sql="SELECT * FROM users WHERE username='$username' and password='$password'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1){
session_register("username");
session_register("password");
header("location:login_success.php");
}
else {
echo "Wrong Username or Password";
}
?>
LoginSucess
<?php
session_start();
if(!session_is_registered(username)){
header("location:login.php");
}
?>
<html>
<body>
Login Successful
</body>
</html>
Если ваш запрос работает нормально и получает результат по login_success.php
данным входа, вам просто нужно переименовать имя файла login_success.php
в LoginSuccess.php
.
В данный момент
header("location:login_success.php");
Переименуйте
header("location:LoginSuccess.php");
Попробуйте это, Лучшая удача
session_register() is deprecated in and after PHP 5.3 .
Instead use $_SESSION['var'] = "value" to set variables.
In Checklogin.php change
session_register("username") to $_SESSIOn['username'] = $username
and
session_register("password") to $_SESSIOn['password'] = $password .
In LoginSucess.php change
if(!session_is_registered(username)){
header("location:login.php");
}
to
if(!$_SESSION['username']){
header("location:login.php");
}
Cheers!
Эта функция была DEPRECATED с PHP 5.3.0 и удалена с PHP 5.4.0, проверьте свою версию PHP.
Убедитесь, что у вас есть session_start(), поскольку только удаление session_register() и использование задания $ _SESSION не будут работать.