Страница входа в базу данных sql и пустая страница

0

У меня есть пользователь таблицы пользователя 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>&nbsp;</td>
<td>&nbsp;</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>
  • 0
    Я не уверен, почему вы используете session_register вместо $ _SESSION [''], также вы пропускаете session_start на своей странице checklogin.php.
  • 1
    session_is_registered устарел с PHP 5.3.0 и удален в PHP 5.4.0.
Показать ещё 2 комментария
Теги:

3 ответа

0

Если ваш запрос работает нормально и получает результат по login_success.php данным входа, вам просто нужно переименовать имя файла login_success.php в LoginSuccess.php.

В данный момент

header("location:login_success.php"); 

Переименуйте

header("location:LoginSuccess.php");

Попробуйте это, Лучшая удача

0
    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!
0

Эта функция была DEPRECATED с PHP 5.3.0 и удалена с PHP 5.4.0, проверьте свою версию PHP.

Убедитесь, что у вас есть session_start(), поскольку только удаление session_register() и использование задания $ _SESSION не будут работать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню