先輩、この問題を解決してください
ログインユーザー用のページを作成しました。それが完了した後、純粋なページの場合、ログインユーザーの認証を行いました。次に、これらのコードは
if (!function_exists("GetSQLValueString") ) で生成されました。 {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ?ストリップスラッシュ($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ( $ theType) {
case "text":
$theValue = ($theValue != "") "'" . "'" : "NULL";
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 "define":
$theValue = ($theValue != "") ? $theDefinedValue : $ theNotDefinedValue;
Break;
}
return $theValue;
}
}
?>
// *** へのリクエストを検証しますこのサイトにログインします。
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) または die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = "";
if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
// 2 つのセッション変数を宣言し、それらを割り当てます
$_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 );
}
}
?>
しかし、
ページを参照するとすぐに、次のエラーが表示されました:
警告: session_start() [function.session-start]: セッション キャッシュ リミッターを送信できません - ヘッダーはすでに送信されました (出力は E:AppServwwwwebBoard2login.php:2 で始まります) E:AppServwwwwebBoard2login.php の 5 行目
この問題は以前から予見していました、それは // *** リクエストの検証このサイトにログインするには。
if (!isset($_SESSION)) {
session_start();
}
この PHP コードを上に置くだけで、なぜ機能するのかわかりません。今回はまだ機能しません。解決してください。ありがとうございます
-----解決策----------- ---------