<?php
session_start();
include('head1.php');
if (isset($_SESSION['user_id'])! = "") {
header("Location: index.php");
exit();
}
//check if form is submitted
$con=mysqli_connect('localhost','root','','rating_system');
if (isset($_POST['login'])) {
$email = mysqli_real_escape_string($con, $_POST['email']);
$password = mysqli_real_escape_string($con, $_POST['password']);
$query = "select * from tbl_users where email ='$email' and
password='$password'";
$result=mysqli_query($con,$query);
if ($row = mysqli_fetch_array($result)) {
$_SESSION['user_id'] = $row['user_id'];
$_SESSION['username'] = $row['username'];
header("Location:afterlogin.php");
} else {
$errormsg = "Incorrect Email or Password!!!";
}
}
Этот код хорошо работает на localhost, но не на веб-сайте хостинга, на котором он находится. мне нужно вручную ввести afterlogin.php в браузере, чтобы перейти на эту страницу
addob_start(); в ваш php-код
Скорее всего, вы выплюнули какие-то данные клиенту, в результате чего header() фактически не будет отправлен. Вы можете легко это выяснить, просмотрев результат, который вы получаете в консоли вашего браузера.
@dean, ваше решение сработало ... Спасибо
isset($_SESSION['user_id'])! = "" - неверный код. Должен быть isset($_SESSION['user_id']) или $_SESSION['user_id'] ! = ""





Ваш локальный хост, вероятно, имеет кеширование вывода на