Я работаю над новым проектом www.merapalwal.com
. Я создал панель входа пользователя для этого проекта, где пользователь может войти с идентификатором и паролем электронной почты. Все работает нормально, пользователь создан и обновлен правильно. Я использовал форму входа в заголовок, которая включена во все остальные страницы.Ошибка sesstion_start на индексной странице
Я создал два DB файлы, дб-User.php (для БД конфигурации) и DB-sess.php (для БД конфигурации с session_start). Но если я использую DB-sess.php на форме входа в заголовочном-top.php, он дает мне ошибку:
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/mypalwal/public_html/index.php:16) in /home/mypalwal/public_html/includes/db-sess.php on line 3
Когда я использую дб-User.php, это позволяет пользователю войти, но не показывает имя пользователя после приветствия, пожалуйста, сообщите мне код, как в:
header.php:
<?php
ini_set('session.bug_compat_42',0);
ini_set('session.bug_compat_warn',0);
include('includes/db-sess.php');
$error = '';
$form = $_POST['login'];
$lemail = $_POST['lemail'];
$pass = $_POST['pass'];
$_SESSION['lemail'] = $_POST['lemail'];
if(isset($form)) {
if(isset($lemail) && isset($pass) && $lemail !== '' && $pass !== '') {
$sql = mysql_query("SELECT * FROM `userdata` WHERE email='$lemail' and pass='$pass' and type='Normal User';");
if(mysql_num_rows($sql) != 0) { //success
$_SESSION['logged-in'] = true;
print "<script type=\"text/javascript\">";
print "window.location.href = \"users/index.php\"";
print "</script>";
exit;
}
else { $error = "Login Detail Incorrect"; }
} else { $error = 'Login Detail Missing';}
}
?>
дб-user.php:
<?php
$dbhost = 'localhost';
$dbuser = '######';
$dbpass = '######';
$db = '#######';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($db);
?>
Если я использую приведенный выше код для БД конфигурации, это позволяет логин и перенаправляет на следующую страницу, но не показывает данные пользователя, но когда я использую DB-СЭСС. php, в котором есть session_start
, в форме входа в систему можно войти и показать имя пользователя.
Если я использую DB-sess.php, он показывает ошибку на index.php страница:
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/mypalwal/public_html/index.php:16) in /home/mypalwal/public_html/includes/db-sess.php on line 3
это поможет, если вы указали свой код db-sess.php – Jim
возможный дубликат [Заголовки уже отправлены PHP] (http://stackoverflow.com/questions/8028957/headers-already-sent-by-php) – Sliq