Страница не перенаправляет и отображает ошибку Невозможно изменить информацию заголовка

Я погуглил тонну, но ни один из предыдущих вопросов не смог решить мою проблему. Я недавно сменил свой хостинг, и с тех пор я получаю эту ошибку, когда пользователь входит в систему, но страница, для которой настроено перенаправление по заголовку, не перенаправляет на домашнюю страницу. Тот же код работал на предыдущем хостинг-партнере и localhost.

Предупреждение: невозможно изменить информацию заголовка — заголовки уже отправлены
(вывод начался с /home/rwrdguy/public_html/header.php:31) в
/home/rwrdguy/public_html/login.php в строке 34 //HEADER.PHP

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
<title>100% CashBack on Shopping Online!</title>
<meta charset="utf-8">
<meta name="author" content="Abhishek Singh">
<meta property="og:title" content="100% CashBack on Shopping Online!">
<meta property="og:type" content="Website">
<meta property="og:url" content="http://www.rewardadda.com/">
<meta property="og:image" content="http://www.rewardadda.com/images/recharged-facebook-thumb.png">
<meta property="og:description" content="100% CashBack on Shopping Online!"><meta property="og:site_name" content="Rewardadda.com-100% CashBack on Shopping Online!"><meta name="robots" content="index, follow, archive">
<meta name="description" content="How about getting free Recharges, Gift Vouchers and Bank Transfers every time you buy something, on top of existing coupons and offers?">
<meta name="keywords" content="free recharges, India, flipkart offers, offer, shopping offers, online offers, flipkart deals, amazon deals, cashback">
<link rel="icon" type="image/png" href="images/favicon.png"/>
<link href='http://fonts.googleapis.com/css?family=Bree+Serif' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<link rel="stylesheet" type="text/css" href="footer.css">
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-66870051-1', 'auto');
ga('send', 'pageview');
</script>
</head>

//LOGIN.PHP

<?php
session_start();
$pageTitle = 'Log in';
$metaRobots = 'index, follow, archive';
$metaDescription = 'Log in page at Rewardadda';
$metaKeywords = 'recharge, cashback';
require_once('navig.php');
require_once('connect.php');
?>
<div id="wrap">
<div id="contain">

<?php

require_once('connect.php');
if (!isset($_SESSION['user_id']) && !isset($_POST['loginbtn']) && !isset($_POST['signupbtn'])) {
require_once("logsign.php");
}
else if (!isset($_SESSION['user_id']) && isset($_POST['loginbtn']) && !isset($_POST['signupbtn'])) {
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
or die('Error communicating to MySQL server.');

$ab_name = @mysqli_real_escape_string($dbc, trim($_POST['li_email']));
$ab_password = @mysqli_real_escape_string($dbc, trim($_POST['li_password']));


$logincheck = "SELECT user_id FROM userdata WHERE email='$ab_name' AND password='$ab_password'";
$eidresult = mysqli_query($dbc, $logincheck);

if(mysqli_num_rows($eidresult) == 1) {
$yoarray = mysqli_fetch_array($eidresult);
$uid = $yoarray['user_id'];
$_SESSION['user_id'] = $uid;
header('refresh: 0; url = "index.php"');
}
else {
echo "<script>alert('Email and password do not match our records. Please try again.')</script>;";
require_once("logsign.php");
}


mysqli_close($dbc);
}

else if (!isset($_SESSION['user_id']) && !isset($_POST['loginbtn']) && isset($_POST['signupbtn'])) {
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
or die('Error communicating to MySQL server.');
$selected_val = $_POST['Operator'];
$yo_name = @mysqli_real_escape_string($dbc, trim($_POST['su_name']));
$yo_email = @mysqli_real_escape_string($dbc, trim($_POST['su_email']));
$yo_password = @mysqli_real_escape_string($dbc, trim($_POST['su_password']));
$yo_refer=@mysqli_real_escape_string($dbc, trim($_POST['su_refer']));
$yo_mobile=@mysqli_real_escape_string($dbc, trim($_POST['su_mobile']));

$signcheck = "SELECT user_id FROM userdata WHERE email='$yo_email'";
$idresult = mysqli_query($dbc, $signcheck);
if(mysqli_num_rows($idresult) >= 1) {
echo "<script>alert('Email is already registered with us. Please use other email.')</script>;";
require_once("logsign.php");
}
else{


$query = "INSERT INTO userdata (email, name, password,refer,mobile,operator) ".
"VALUES ('$yo_email', '$yo_name', '$yo_password','$yo_refer','$yo_mobile','$selected_val')";
$get_uid = "SELECT user_id FROM userdata WHERE email = '$yo_email'";

mysqli_query ($dbc, $query);
$uidresult = mysqli_query($dbc, $get_uid); //Query to get id so that we can log him in below
$uidresarray = mysqli_fetch_array($uidresult);
$uid = $uidresarray['user_id'];

$_SESSION['user_id'] = $uid;


header('Location: index.php');
}
mysqli_close($dbc);
}
else {?>
<div id="damn"><h2>You are already logged in. Redirecting you to your HomePage.</h2></div>
<?php
header('refresh: 3; url = "index.php"');
}
echo '</div></div>';

?>

0

Решение

потому что, если вы покажете что-нибудь. Даже <div id="damn"><h2>You are already logged in. Redirecting you to your HomePage.</h2></div>тогда header () больше не будет работать

Что вы обычно делаете, это тест if(isset($_SESSION['user_id'])) header("Location /") в начале страницы.

Не нужно отправлять сообщение о том, что пользователь уже «бла-бла-бла», вы просто не сможете увидеть страницу входа, как только вы уже вошли в систему.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]