<? # ********************************************************** # 外部ファイル # ********************************************************** require_once( "common.php" ); require_once( "db.php" ); require_once( "model.php" ); # ********************************************************** # 定数定義 # ********************************************************** define( 'PASS_飾り', 1 ); define( 'PASS_KEY入力', 2 ); define( 'PASS_明細入力', 3 ); define( 'VIEW_飾り', 'viewmessage.php' ); define( 'VIEW_KEY入力', 'view.php' ); define( 'VIEW_明細入力', 'view2.php' ); $SQL = new DB( "localhost", "lightbox", "root" ); # ********************************************************** # 処理コントロール # ********************************************************** switch ( $_SERVER['REQUEST_METHOD'] ) { case 'GET': break; case 'POST': switch( $_POST['GNO'] ) { case PASS_KEY入力: if ( !CheckDataHead() ) { $_POST['GNO'] = PASS_飾り; break; } break; case PASS_明細入力: if ( !CheckDataBody() ) { break; } break; } break; } # ********************************************************** # ビュー # ********************************************************** CreateInData( ); switch( $_POST['GNO'] ) { case PASS_飾り: require_once( VIEW_飾り ); break; case PASS_KEY入力: EditDataBody(); require_once( VIEW_明細入力 ); break; case PASS_明細入力: EditDataBody(); require_once( VIEW_明細入力 ); break; default: if ( $_GET['view'] == 'head' ) { require_once( VIEW_KEY入力 ); } if ( $_GET['view'] == 'body' ) { require_once( VIEW_飾り ); } break; } $SQL->Close(); # ********************************************************** # デバッグ # ********************************************************** DispData(); ?>
<? # ********************************************************** # エラーチェック # ********************************************************** function CheckDataHead( ) { global $ErrMessage; if ( trim( $_POST['In1Email'] ) == "" ) { $ErrMessage = "メールアドレスは必須入力です"; return FALSE; } return TRUE; } # ********************************************************** # エラーチェック # ********************************************************** function CheckDataBody( ) { global $ErrMessage; if ( trim( $_POST['In2Name'] ) == "" ) { $ErrMessage = "氏名は必須入力です"; return FALSE; } if ( strlen( $_POST['In2Tel'] ) > 14 ) { $ErrMessage = "入力された電話番号のデータ長が制限を超えています"; return FALSE; } if ( !checkdate( $_POST['In2Mm'], $_POST['In2Dd'], $_POST['In2Yyyy'] ) ) { $ErrMessage = "誕生日に誤りがあります"; return FALSE; } return TRUE; } # ********************************************************** # 明細画面の編集 # ********************************************************** function EditDataBody( ) { global $Yyyy,$Mm,$Dd; $Yyyy = ""; for( $i = 1950; $i <= 2004; $i++ ) { $Work = ""; if ( $_POST['In2Yyyy'] == $i ) { $Work = "selected"; } $Yyyy .= "<OPTION value=\"$i\" $Work>$i\n"; } $Mm = ""; for( $i = 1; $i <= 12; $i++ ) { $Work = ""; if ( $_POST['In2Mm'] == $i ) { $Work = "selected"; } $Mm .= "<OPTION value=\"$i\" $Work>$i\n"; } $Dd = ""; for( $i = 1; $i <= 31; $i++ ) { $Work = ""; if ( $_POST['In2Dd'] == $i ) { $Work = "selected"; } $Dd .= "<OPTION value=\"$i\" $Work>$i\n"; } } # ********************************************************** # 引継ぎ用埋め込みデータの作成 # ********************************************************** function CreateInData( ) { global $InData; $InData = ""; foreach( $_POST as $Key => $Value ) { if ( substr( $Key, 0, 2 ) == "In" ) { if ( substr( $Key, 0, 3 ) != "In2" ) { $InData .= "<INPUT type=hidden name=$Key "; $InData .= "value=\"$Value\">\n"; } } } } ?>
<SCRIPT language=JavaScript> // ********************************************************* // フォームのチェック // ********************************************************* function CheckData() { return true; } </SCRIPT> <HTML> <HEAD> <META http-equiv="Content-type" content="text/html; charset=Shift_JIS"> <TITLE>PHP 雛形</TITLE> <STYLE> .MyCell { background-color:silver } </STYLE> </HEAD> <BODY> <FORM method=POST action=control.php target=BodyFrame onSubmit='return CheckData()' > <INPUT type=hidden name=GNO value="<?= PASS_KEY入力 ?>"> <TABLE border=0 bgcolor=black cellspacing=1 cellpadding=5> <TR> <TD class=MyCell>メールアドレス</TD> <TD class=MyCell> <INPUT type=text name=In1Email value="<?= $_POST['In1Email'] ?>" > </TD> <TD class=MyCell> <INPUT type=submit name=send value="送信"> </TD> <TD class=MyCell> <INPUT type=button value="Cancel" onClick='top.location="framemtn.htm"' > </TD> </TR> </TABLE> </FORM> </BODY> </HTML>
<SCRIPT language=JavaScript> // ********************************************************* // フォームのチェック // ********************************************************* function CheckData() { return true; } </SCRIPT> <HTML> <HEAD> <META http-equiv="Content-type" content="text/html; charset=Shift_JIS"> <TITLE>PHP 雛形</TITLE> <STYLE> .MyCell { background-color:silver } </STYLE> </HEAD> <BODY> <?= $ErrMessage ?> <FORM method=POST action=control.php onSubmit='return CheckData()'> <INPUT type=hidden name=GNO value="<?= PASS_明細入力 ?>"> <INPUT type=submit name=send value="更新"> <INPUT type=reset value="リセット"> <br><br> <TABLE border=0 bgcolor=black cellspacing=1 cellpadding=5> <TR> <TD class=MyCell>氏名</TD> <TD class=MyCell> <INPUT type=text name=In2Name value="<?= $_POST['In2Name'] ?>"> </TD> </TR> <TR> <TD class=MyCell>郵便番号</TD> <TD class=MyCell> <INPUT type=text name=In2Zip value="<?= $_POST['In2Zip'] ?>"> </TD> </TR> <TR> <TD class=MyCell>住所</TD> <TD class=MyCell> <INPUT type=text name=In2Address value="<?= $_POST['In2Address'] ?>" style='width:250' > </TD> </TR> <TR> <TD class=MyCell>性別</TD> <TD class=MyCell> 男性 <INPUT type=radio name=In2Sex value="0" <?= $_POST['In2Sex'] != "1" ? "checked" : "" ?> > 女性 <INPUT type=radio name=In2Sex value="1" <?= $_POST['In2Sex'] == "1" ? "checked" : "" ?> > </TD> </TR> <TR> <TD class=MyCell>電話番号</TD> <TD class=MyCell> <INPUT type=text name=In2Tel value="<?= $_POST['In2Tel'] ?>"> </TD> </TR> <TR> <TD class=MyCell>携帯番号</TD> <TD class=MyCell> <INPUT type=text name=In2Mobile value="<?= $_POST['In2Mobile'] ?>"> </TD> </TR> <TR> <TD class=MyCell>誕生日</TD> <TD class=MyCell> <SELECT name=In2Yyyy><?= $Yyyy ?></SELECT>年 <SELECT name=In2Mm><?= $Mm ?></SELECT>月 <SELECT name=In2Dd><?= $Dd ?></SELECT>日 </TD> </TR> <TR> <TD class=MyCell>パスワード</TD> <TD class=MyCell> <INPUT type=text name=In2Pass> </TD> </TR> </TABLE> <!-- 入力データ引継ぎ用の埋め込み --> <?= $InData ?> </FORM> </BODY> </HTML>
<HTML> <HEAD> <META http-equiv="Content-type" content="text/html; charset=Shift_JIS"> <TITLE>メッセージ表示専用</TITLE> <STYLE> .MyCell { background-color:silver } </STYLE> </HEAD> <BODY> <?= $ErrMessage ?> </BODY> </HTML>