我正在做一个新项目www.merapalwal.com
。我为这个项目创建了一个用户登录面板,用户可以使用他们的电子邮件 ID 和密码登录。一切正常,用户创建和更新正确。我在标题页中使用了登录表单,该表单包含在所有其他页面中。
我创建了两个数据库文件,db-user.php(用于数据库配置)和db-sess.php(用于带有 session_start 的数据库配置)。但是如果我在header-top.php的登录表单上使用db- sess.php ,它会给我错误:
警告:session_start():无法发送会话缓存限制器 - 第 3 行 /home/mypalwal/public_html/includes/db-sess.php 中的标头已发送(输出开始于 /home/mypalwal/public_html/index.php:16)
当我使用db-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';}
}
?>
数据库用户.php:
<?php
$dbhost = 'localhost';
$dbuser = '######';
$dbpass = '######';
$db = '#######';
$conn = mysql_connect($dbhost, $dbuser, $dbpass );
mysql_select_db($db);
?>
如果我将上面的代码用于 db config,它允许登录并重定向到下一页但不显示用户详细信息,但是当我使用其中包含的db-sess.phpsession_start
时,登录表单允许我登录并显示用户名.
如果我使用db-sess.php ,它会在index.php页面上显示错误:
警告:session_start():无法发送会话缓存限制器 - 第 3 行 /home/mypalwal/public_html/includes/db-sess.php 中的标头已发送(输出开始于 /home/mypalwal/public_html/index.php:16)