[PHP-users 15586]ファイルの終端ででエラー表示

野口 亨 noguchi @ omika.jsdi.net
2003年 5月 31日 (土) 17:49:38 JST


いつもお世話になっております。
野口@JSDです。

添付したファイルを実行すると以下のエラーが出ます。
Parse error: parse error, unexpected $ in /home/saigaiman/web/System/User_ExcelAdd.php on line 263

ところが、指定された行はPHPファイルの終端です。
自分の見たところ、特に構文でおかしなところはありません。

どこがいけないか、どういったときにこういうエラーがでるのか、
わかる方がいらっしゃたら、教えてください。

以下に、全文を示します。

ここから<--

<?php
//================================================================================
// マニュアル外部編集機能 - Excel表示機能
// User_ExcelAdd.php
// 2003.05.28 Noguchi
//================================================================================
		

	if(get_magic_quotes_gpc()==1){	//get_magic_quotes_gpcがOn
		$userfile = stripslashes($HTTP_POST_VARS['userfile']);	//Excelファイル
	}else{							//get_magic_quotes_gpcがOff
		$userfile = $HTTP_POST_VARS['userfile'];	//Excelファイル
	}
	$EntryFlg = $HTTP_POST_VARS['EntryFlg'];	//処理モード
	$SyoriMode = $HTTP_POST_VARS['SyoriMode'];	//処理モード

	if ($SyoriMode == 0) {

		//<<< 桁数チェック等
		$Ret = Excel_Check();
	
		//エラー表示用テーブルデータ数設定
		$i = count($ErrTbl);
	
		//エラーありか?
		if ($i > 0) {
			//<<< --------------------------【チェック異常の時】
			//<<< ヘッダー表示
			WriteHeader();
			
			//<<< HTMLエラー表示(エラー一覧)
			ErrPostForm();
			
			//<<< 異常:エラー表示用ASP起動
			Submit1();
			
			//<<< フッター表示
			WriteFooter();
	
		}else{
			//<<< --------------------------【チェック正常の時】
			
			//<<< ヘッダー表示
			WriteHeader();
			
			//<<< POSTフォーム生成
			$Ret = MasterAdd();
			
			if ($Ret == 1){
				?>
				<SCRIPT LANGUAGE="VBS">
				<!-- ブラウザ側のスクリプト
					MsgBox "マスタ登録に失敗しました。", vbCritical + vbOKOnly, "マニュアルデータ外部作成機能"
					window.close
				//-->
				</SCRIPT>	
				<?php			
			}else{
				?>
				<SCRIPT LANGUAGE="VBS">
				<!-- ブラウザ側のスクリプト
					MsgBox "マスタ登録しました。", vbInformation + vbOKOnly, "マニュアルデータ外部作成機能"
					window.close
				//-->
				</SCRIPT>	
				<?php	
			
			//<<< フッター表示
			WriteFooter();
			
		}
	
	}


// ---------------------------<<< ヘッダー表示
function WriteHeader(){
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<META name="GENERATOR" content="IBM WebSphere Homepage Builder V6.0.0 for Windows">
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<META http-equiv="Content-Style-Type" content="text/css">
<title>ユーザデータ登録機能</title> 
<SCRIPT type="text/javascript" SRC="../Common.JS"></SCRIPT>
<SCRIPT type="text/javascript">
<!--
if (getBrowserName()!="Explorer"){
	alert("Microsoft Internet Explorer Ver5.5SP2以降のブラウザ(Windows)にのみ対応してます。");
//	history.back();
}else if(getBrowserVersion() < 5){
	alert("Microsoft Internet Explorer Ver5.5SP2以降のブラウザ(Windows)にのみ対応してます。");
//	history.back();
}else if(getOSType() != "Windows"){
	alert("Microsoft Internet Explorer Ver5.5SP2以降のブラウザ(Windows)にのみ対応してます。");
//	history.back();
}

	// ウィンドウ初期表示
	w = 340; h = 150;
	//resizeTo(550, 320);
	//resizeTo(340, 150);
	//moveTo((screen.availWidth-w)/2, (screen.availHeight-h)/2);
	
//-->
</SCRIPT>	
	
</head>

<body BGCOLOR="#FFFFFF">

<?php
}

// ---------------------------<<< フッター表示
function WriteFooter(){
?>
</body>
</HTML>
<?php
}

// ---------------------------<<< POSTフォーム生成
function PostForm(){
?>
  <FORM Method='POST' id=form1 name=FileForm action="User_ExcelRead.php">
	<TABLE border="0" width="95%" cellpadding="4" cellspacing="0">
	  <TBODY>
	    <TR>  
          <TD>
            <INPUT NAME="userfile" TYPE="hidden" size="60" value="<?php global $userfile; print($userfile); ?>">
            <INPUT NAME="EntryFlg" TYPE="hidden" size="60" value="<?php global $EntryFlg; print($EntryFlg); ?>">
            <Input Type="hidden" Name="SyoriMode" Value="1"></TD><BR>
        </TR>
	</TABLE>
  </FORM>
<?php
}

// ---------------------------<<< POSTフォーム生成(HTMLエラー一覧))
function ErrPostForm(){
	global $ErrTbl;
?>
  <FORM Method='POST' id=form1 name=ErrForm action="User_Err.php">
	<TABLE border="0" width="95%" cellpadding="4" cellspacing="0">
	  <TBODY>
		<?php					
		//エラー表示			
		for ($i = 1; i <= count($ErrTbl); $i++){
		?>
	    <TR>  
          <TD><INPUT NAME="ErrDisp" TYPE="hidden" size="60" value="<?php print($ErrTbl[$i]); ?>">
              <Input Type="hidden" Name="SyoriMode" Value="1"></TD><BR>
        </TR>
		<?php
		}
		?>
	</TABLE>
  </FORM>
<?php
}

// ---------------------------<<< 異常:エラー表示用ASP起動
function Submit1(){
	?>
	<SCRIPT type="text/javascript">
	<!--
		//alert("異常:エラー表示用ASP起動(MEdit_Err.asp)")
		//画面クローズ
		if (window.closed == false) {
			window.close();
		}
		parent.subWin_ExcelErr = true;
		w = 950; h = 500;
		var winopt = "width="+ w +",height="+ h +",left="+ (screen.availWidth-w)/2 +",top="+ (screen.availHeight-h)/2;
		winopt += ",location=no,menubar=no,toolbar=no,status=no,resizable=nos,scrollbars=yes,directories=no,titlebar=no";
		parent.subWin_ExcelErr = window.open("blank.htm", "subWin_ExcelErr", winopt);
		document.ErrForm.action = "User_Err.php";
		document.ErrForm.target = "subWin_ExcelErr";
		document.ErrForm.submit();
		parent.subWin_ExcelErr.focus();		
	//-->
	</SCRIPT>
	<?php			
}

// ---------------------------<<< 正常:登録用ASP起動
function Submit2(){
	?>
	<SCRIPT type="text/javascript">
	<!--
		//alert("正常:登録用ASP起動(MEdit_ExcelAdd.asp)")
		//画面クローズ
		if (window.closed == false) {
			window.close();
		}
		parent.subWin_Excel = true;
		w = 340; h = 150;
		var winopt = "width="+ w +",height="+ h +",left="+ (screen.availWidth-w)/2 +",top="+ (screen.availHeight-h)/2;
		winopt += ",location=no,menubar=no,toolbar=no,status=no,resizable=nos,scrollbars=no,directories=no,titlebar=no";
		//parent.subWin_Excel = window.open("Toroku_msg.htm", "subWin_Excel", winopt);
		parent.subWin_Excel = window.open("Check_msg.htm", "subWin_Excel", winopt);
		document.FileForm.action = "MEdit_ExcelRead.asp";
		document.FileForm.target = "subWin_Excel";
		document.FileForm.submit();
		parent.subWin_Excel.focus();	
	//-->
	</SCRIPT>
	<?php
}

// ---------------------------<<< 桁数チェック等
function Excel_Check(){

	$Err_sw = 0;

	//ユーザID取得
	global $ExlUserID;
	$ExlUserID = $HTTP_POST_VARS['ExlUserID'];
	for ($i = 0 ; $i < count($ExlUserID) ; $i++){
		$strName = "ユーザID";
		if (LenChk($ExlUserID[$i], $strName, 20, $i, 1) == 1){
			$Err_sw = 1;
		}
	}
	return $Err_sw;
}


// --------------------------- <<< 基本マニュアルテーブル登録。
function MasterAdd(){
	$ErrSw = 1;
	return $ErrSw;
}


// --------------------------- <<< 桁数チェック。
function LenChk($StrArg1, $StrArg2, $IntArg1, $Cnt1, $HissuFlg){
	global $ErrTbl;
	if ($HissuFlg == 1){
		if (strlen($StrArg1) == 0){
			//$intX = count($ErrTbl);
			$Cnt =  $Cnt1 + 4;
			$ErrTbl[] = $Cnt . '行目:項番[' . $Cnt1 . ']の' . $StrArg2 . '項目は必須です。';
			$ErrSw = 1;
			return $ErrSw;
		}
	}
	if (strlen($StrArg1) > $IntArg1){
		//$intX = count($ErrTbl);
		$Cnt =  $Cnt1 + 4;
		$ErrTbl[] = $Cnt . '行目:項番[' . $Cnt1 . ']の' . $StrArg2 . '項目が文字数オーバーです。" . $IntArg1 . "文字に減らしてください。';
		$ErrSw = 1;
    }else{
		$ErrSw = 0;
	}
	return $ErrSw;
}


?>

-->ここまで


以上、よろしくお願いします。

♪〜〜♪〜〜♪〜〜♪〜〜♪〜〜♪〜〜♪〜〜♪
日本システムディベロップメント株式会社
   社会システム開発グループ 
   野口 亨
E-Mail: noguchi @ omika.jsdi.net
TEL: 0294-53-9490  FAX: 0294-54-2280
URL: http://www.jsdi.net/
♪〜〜♪〜〜♪〜〜♪〜〜♪〜〜♪〜〜♪〜〜♪



PHP-users メーリングリストの案内