我做了一个登录用户的页面,做好之后,在纯页面的情况下,我给它了一个登录用户验证。然后在上面生成了这些代码
<?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代码放到上面就行了,这次不知道怎么还是不行,帮忙 解决下,谢谢

解决方案 »

  1.   

    session_start();前面不能有输出。看你的提示还是有输出。 
      

  2.   

    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
      

  3.   

    谢谢,现在这个问题已经解决了,不过,我还有个问题,是这样得,我输入管理员用户名和密码之后,点击登录,它提示我Fatal error: Call to undefined function GetSQLValueString() in 这样,我这一段得代码是这样的:  
      $LoginRS__query=sprintf("SELECT username, userpsw FROM board_admin WHERE username=%s AND userpsw=%s",
        GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text")); 
       
    怎么回事呢?
      

  4.   

    函数 GetSQLValueString 未定义,或者是未嵌入定义该函数的文件
      

  5.   

    提示很明显Call to undefined function用phpinfo检查你的php是否支持该函数。
      

  6.   

    你#1的代码在一个文件中吗?
    如果是,你那关于 session 的错误信息显然有问题
    如果不是,那已经说过了