От страницы входа Я захватывая значения пользователя и пароль:PHP Не удалось установить сеанс переменной
<?php
session_start();
$error='';
$rows = 0;
if (isset($_POST['submit'])) {
$username=$_POST['username'];
$password=$_POST['password'];
$mysqli = new mysqli("localhost","xxxxx","xxxxx","xxxxxxx");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$username = stripslashes($username);
$password = stripslashes($password);
$username = $mysqli->real_escape_string($username);
$password = $mysqli->real_escape_string($password);
$query = "select count(*) from login where password='$password' AND username='$username'";
if ($stmt = $mysqli->prepare($query)) {
$stmt->execute();
$stmt->store_result();
$rows = $stmt->num_rows;
$stmt->close();
}
}
$mysqli->close();
if ($rows == 1) {
$_SESSION['login_user']=$username;
header("location: profile.php");
} else {
header("location: login.php");
$error = "Username or Password is invalid";
}
?>
Мой profile.php сценарий является то, как показано ниже:
<?php
include('session.php');
?>
<!DOCTYPE html>
<html>
<head>
<title>Your Home Page</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="profile">
<b id="welcome">Welcome : <i><?php echo $login_session; ?></i></b>
<b id="logout"><a href="logout.php">Log Out</a></b>
</div>
</body>
</html>
И сессии. PHP
<?php
if(!isset($_SESSION['login_user'])){
header('Location: login.php');
}
?>
Мой поток код подобен, когда форма Войти представлен исходный код validate_login.php проверит детали из пользователь. Если данные верны, страница profile.php будет отображаться или вернуться на страницу входа в систему.
У меня есть 3 трудности;
- Как отлаживать скрипты PHP?
- Почему мой код снова возвращается на страницу входа в систему - я проверял жесткую кодировку неправильной неопределенной переменной (форсирование дампа) - я обнаружил, что строка найдена, поскольку она входит в условие if, которое определяет переменную сеанса [if ($ rows == 1)]
- Есть ли другой способ проверки сеанса - в основном только зарегистрированный пользователь должен видеть дальнейшие страницы?
Вы также должны 'session_start()' в 'session.php' – naththedeveloper
Спасибо, что решает мою главную проблему ..но, пожалуйста, дайте мне знать, как мне отлаживать скрипт PHP и есть ли другой лучший способ проверки зарегистрированного пользователя. – Prakash
«Как отлаживать PHP» слишком расплывчато из-за вопроса и это только то, чему вы можете научиться, языка или чтения, для этого нет «правильного» ответа. Установите такие программы, как [Xdebug] (http://xdebug.org/) и используйте [надлежащую IDE] (https://www.google.co.uk/?q=IDE+php). – naththedeveloper