2.1 登録内容変更プログラム(myphp5-1.php)を作成
下記の内容をテキストエディタにコピーし、ファイル名を「myphp5-1.php」として
「C:\xampp\htdocs\test」内に保存します。
*注意:「myphp5-1.php」ファイルの文字コードは「SJIS」を指定して保存してください。
PHPエディタや サクラエディタなど文字コードを指定できるエディタを使うと便利です。
<?php //関数を定義したmyfunc.phpを一度だけ読み込む require_once("myfunc.php"); //HTML文を出力 HTMLの開始 print("<HTML>\n"); //HTML文を出力 HEADの開始 print("<HEAD>\n"); //文字コードをSHIFT_JISと指定 print("<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=\"Shift_JIS\">\n"); //HTML文を出力 TITLEの指定 print("<TITLE>myphp5-1</TITLE>\n"); //HTML文を出力 HEADの終了 print("</HEAD>\n"); //HTML文を出力 BODYの開始 print("<BODY>\n"); //myphp5.phpから入力フォーマットに入力されたデータをpostで渡されるので //$HTTP_POST_VARSによりフィールド number の内容を取り出し $safetextに格納 $safetext = $HTTP_POST_VARS["number"]; //chkchar関数により$safetext内の不正な文字を除去する chkchar($safetext); //$keyに不正な文字を除去した結果を格納 $key = $safetext; //myphp5.phpから入力フォーマットに入力されたデータをpostで渡されるので //$HTTP_POST_VARSによりフィールド name の内容を取り出し $safetextに格納 $safetext = $HTTP_POST_VARS["name"]; //chkchar関数により$safetext内の不正な文字を除去する chkchar($safetext); //$keyに不正な文字を除去した結果を格納 $name = $safetext; //myphp5.phpから入力フォーマットに入力されたデータをpostで渡されるので //$HTTP_POST_VARSによりフィールド noteの内容を取り出し $safetextに格納 $safetext = $HTTP_POST_VARS["note"]; //chkchar関数により$safetext内の不正な文字を除去する chkchar($safetext); //$keyに不正な文字を除去した結果を格納 $note = $safetext; //nameフィールドの入力文字数が範囲外の場合はエラーメッセージを表示する if (strlen($name) < 6 or strlen($name) > 40){ echo "nameは半角の場合は6文字以上40文字まで、全角の場合は3文字以上20文字までの文字数で入力してください<BR><BR>"; echo "<A HREF='myphp5.php' onClick='history.back();return false;'>戻る</A><BR>"; exit; } //DBへ接続開始 サーバー名--localhost ユーザー名--root パスワード--karipass $dbHandle = mysql_connect("localhost","root","karipass") or die("can not connect db\n"); //MySQLのクライアントの文字コードをsjisに設定 mysql_query("SET NAMES sjis") or die("can not SET NAMES sjis"); //db名 workdb $db = "workdb"; //SQL文 tab1表からnumber列の値が入力フィールドで入力された値と等しい行を抽出 //して更新する $sql = "update tab1 set name='$name',note='$note' where number='$key'"; //SQL文を実行する $rs = mysql_db_query($db,$sql); //SQL文 tab1表からnumber列の値が入力フィールドで入力された値と等しい行を抽出 $sql = "select * from tab1 where number = '$key'"; //SQL文を実行する $rs = mysql_db_query($db,$sql); //mysql_num_fields 関数を使用し列数を取得する $fields = mysql_num_fields($rs); //mysql_num_rows 関数を使用し行数を取得する $rows = mysql_num_rows($rs); //確認結果出力 print("下記のように変更されました<BR>"); //HTML文を出力 TABLEの開始を指定 print("<TABLE border=1>"); //test表の列数と同じ回数を繰り返す for ($i=0;$i<$fields;$i++){ //HTML文を出力 列名を <TD>で囲んで太字で出力 print("<TD><B>".mysql_field_name($rs,$i)."</B></TD>"); } //行を取得する $row=mysql_fetch_array($rs); //HTML文を出力 表の行の開始<TR> を出力 print("<TR>"); //test表の列数と同じ回数を繰り返す for($j=0;$j<$fields;$j++){ //HTML文を出力 列の内容を </TD>で囲んで出力 print("<TD>".$row[$j]."</TD>"); } //HTML文を出力 表の改行</TR> を出力 print("</TR></TABLE>"); //HTML文を出力 TABLEの終了を指定 print("</TR></TABLE>"); //HTML文を出力 javascriptを使用して直前のページに戻るリンク print ("<BR><A HREF=myphp5.php>戻る</A><BR>"); //DBへの接続を切断 mysql_close($dbHandle); //HTML文を出力 BODYの終了 print("</BODY>\n"); //HTML文を出力 HTMLの終了 print("</HTML>\n"); ?>次ページで登録内容変更プログラムをテストします。