前辈,帮解决下这个问题
我做了一个登录用户的页面,做好之后,在纯页面的情况下,我给它了一个登录用户验证。然后在上面生成了这些代码
<?php require_once('../Connections/boardConn.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset($_POST['username'])) {
$loginUsername=$_POST['username'];
$password=$_POST['userpsw'];
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "admin.php";
$MM_redirectLoginFailed = "index.php";
$MM_redirecttoReferrer = true;
mysql_select_db($database_boardConn, $boardConn);
$LoginRS__query=sprintf("SELECT username, userpsw FROM board_admin WHERE username=%s AND userpsw=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
$LoginRS = mysql_query($LoginRS__query, $boardConn) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = "";
if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;
if (isset($_SESSION['PrevUrl']) && true) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
但是我一浏览
页面就出现这样的错误:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at E:\AppServ\www\webBoard2\login.php:2) in E:\AppServ\www\webBoard2\login.php on line 5
以前也预见这样问题,那会把<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}
这一段的PHP代码放到上面就行了,这次不知道怎么还是不行,帮忙 解决下,谢谢
------解决方案--------------------
session_start();前面不能有输出。看你的提示还是有输出。
[解决办法]
http://apps.hi.baidu.com/share/detail/23078864
http://www.jb51.net/article/9724.htm
搜索下错误会得到很多解决方法
http://www.google.com.hk/#hl=zh-CN&newwindow=1&safe=strict&site=&q=cannot+send+session+cache+limiter+headers+already+sent&oq=Cannot+send+session+cache+limiter+-+headers+already+sent&aq=0C&aqi=g-C4g-mC6&aql=&gs_sm=1&gs_upl=1802l1802l0l3996l1l1l0l0l0l0l201l201l2-1l1l0&bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&fp=4cebb2ca9b7d41c5&biw=1440&bih=788
[解决办法]
这代码乱的。 这些代码是同一个文件吗、、你并没有描述清楚。
[解决办法]
顶,楼上正解