データベース/MySQL、PostgreSQL、SQLite

登録内容変更プログラムを作成(2ページ目)

登録内容変更プログラム(myphp5.php,myphp5-1php)を作成します。

執筆者:堀江 美彦

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");
?>
次ページで登録内容変更プログラムをテストします。
  • 前のページへ
  • 1
  • 2
  • 3
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます