ОК, поэтому я получаю пользователей для входа в систему, а затем «в случае успеха» я перенаправляю их на index.php, где я хотел бы отображать некоторую информацию из базы данных.Сессии В PHP не работает
мои пользователи подтверждены, и я могу войти в систему, но я думаю, что у меня проблемы с сеансом.
Сеанс имени пользователя не отображает информацию, когда я вызываю его на странице index.php.
Я новичок в php и изучаю, когда я иду. Последние два дня я просматривал этот сайт для ответов на мою проблему, но не могу найти ничего, что действительно работает.
Вот код
checklogin.php
<?php
session_start();
ob_start();
include_once 'config.php';
// Connect to server and select databse.
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$db = new PDO('mysql:host='.$host.';dbname='.$db_name.';charset=utf8', $username, $password);
}
catch(Exception $e)
{
die('Error : ' . $e->getMessage());
}
// Define $myusername and $mypassword
$myusername = $_POST['myusername'];
$mypassword = $_POST['mypassword'];
// To protect MySQL injection
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$stmt = $db->query("SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'");
// rowCount() is counting table row
$count = $stmt->rowCount();
// If result matched $myusername and $mypassword, table row must be 1 row
if($count == 1){
// Register $myusername, $mypassword and print "true"
echo "true";
$_SESSION['username'] = 'myusername';
$_SESSION['password'] = 'mypassword';
}
else {
//return the error message
echo "<div class=\"alert alert-danger alert-dismissable\"><button type=\"button\" class=\"close\" data-dismiss=\"alert\" aria-hidden=\"true\">×</button>Wrong Username or Password</div>";
}
ob_end_flush();
?>
index.php
<?php
session_start();
if(!isset($_SESSION['username'])){
header("location:main_login.php");
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Login</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap -->
<link href="css/bootstrap.css" rel="stylesheet" media="screen">
<link href="css/main.css" rel="stylesheet" media="screen">
</head>
<body>
<div class="container">
<div class="form-signin">
<div class="alert alert-success">You have been <strong>successfully</strong> logged in <?php echo $_SESSION['username']; ?>.</div>
<a href="logout.php" class="btn btn-default btn-lg btn-block">Logout</a> </div>
</div>
<!-- /container -->
</body>
</html>
Я был бы очень признателен за любую помощь или ссылки на статьи, которые могут помочь.
Благодаря
Шон
Ваша сессия включена? проверьте с помощью phpinfo(); –
привет, вот что должен сказать мой phpinfo() - http://prntscr.com/e2n4bn –
, так что да, я бы сказал, что он включен –