¥È¥Ã¥×   ¿·µ¬ °ìÍ÷ ñ¸ì¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS

½ñÀÒ/¼ÂÎã¤Ç¿È¤Ë¤Ä¤±¤ë¡ªMySQL¡ßPHP¤Ë¤è¤ëËܳÊWeb¡ÝDB¥·¥¹¥Æ¥àÆþÌç ¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×º¹Ê¬(No.5)


  • Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
  • ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
2006-09-20¡Á

½ñÀÒ¤ÎWeb¥Ú¡¼¥¸~
http://www.gihyo.co.jp/books/syoseki.php/4-7741-1730-7

*chap3 [#vaa628b2]

**sample1 [#h1ef6370]
formÆþÎÏ¥Ú¡¼¥¸¢ª³Îǧ¥Ú¡¼¥¸¢ªÅÐÏ¿´°Î»¥Ú¡¼¥¸ ¤Î´ðËÜ~
ÆþÎÏÃͤΥÁ¥§¥Ã¥¯¤Ï̵¤·
+[[index.html>http://localhost:50000/sample/WebDB-sample/chap3/sample1/index.html]] ... formÆþÎÏ¥Ú¡¼¥¸
+confirm.php ... ³Îǧ¥Ú¡¼¥¸
++''hidden¤òÍѤ¤¤¿ÆþÎÏÃͤμõ¤±ÅϤ·ÊýË¡''
+regist.php ... ÅÐÏ¿´°Î»¥Ú¡¼¥¸
++''MySQL¥¢¥¯¥»¥¹ÊýË¡''

**sample2 [#n0ea3b22]

+[[index.html>http://localhost:50000/sample/WebDB-sample/chap3/sample2/index.html]] ... formÆþÎÏ¥Ú¡¼¥¸
+confirm.php ... ³Îǧ¥Ú¡¼¥¸~
¼¡¤Î£²¥Õ¥¡¥¤¥ë¤òrequire¤·¤Æ¤¤¤Þ¤¹¡£
++function.php ... gpc_stripslashes, gpc_addslashes, secho¤ÎÄêµÁ
++check_values.php ... ³ÆpostÃͤò¥Á¥§¥Ã¥¯¤·¡¢¥¨¥é¡¼¤ÎÏ¢ÁÛÇÛÎó($error['fname']Åù)¤òºîÀ®¤¹¤ë½èÍý~
Shift JIS¤ÇPHP¥³¡¼¥É¤ò½ñ¤¯¾ì¹ç¡¢
¡Ömb_regex_encoding("Shift_JIS"); ¡×¤È½ñ¤¤¤Æ¤ª¤«¤Ê¤¤¤È¡¢¡Ömb_ereg("^[¥¡-¥ö¡¼]+$", $fname)¡×¤È¤¤¤Ã¤¿Ê¸¤Ç¡¢
¡Ömbregex compile err: empty char-class¡×¤È¤¤¤Ã¤¿·Ù¹ð¤¬½Ð¤ë¾ì¹ç¤¬Í­¤ê¤Þ¤¹¡£
¡Ê¡Ö¡¼¡×¤ÎShift JIS¥³¡¼¥É¤Ï¡¢0x815B¤Ç¡¢¡Ö5B¡×¤¬¡Ö[¡×¤Î¤¿¤á·Ù¹ð¤¬½Ð¤Þ¤¹¡Ë
+regist.php ... ÅÐÏ¿´°Î»¥Ú¡¼¥¸
++ºÆ¥Á¥§¥Ã¥¯¤Î¤¿¤á¡¢¾å¤Î£²¥Õ¥¡¥¤¥ë¤òrequire¤·¤Æ¤¤¤Þ¤¹¡£
++''¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤ò¥Æ¥ó¥×¥ì¡¼¥È''¤È¤·¤¿''¥á¡¼¥ëÁ÷¿®¥µ¥ó¥×¥ë''¤Ç¤¹¡£
+++mail.txt ... regist.php¤«¤é»ÈÍѤµ¤ì¤ë¡¢ÅÐÏ¿´°Î»¥á¡¼¥ë¥Æ¥ó¥×¥ì¡¼¥È¤Ç¤¹¡£
+downlist.php ... ¥À¥¦¥ó¥í¡¼¥É²èÌÌ
++MySQL¤ÇÁí·ï¿ô¤òÄ´¤Ù¤Æ¡¢É½¼¨¤·¤Æ¤¤¤Þ¤¹¡£
++<a href="download.php?...">1-100</a>¤È¤¤¤Ã¤¿¡¢¤É¤ÎÈϰϤò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤«¤òɽ¤¹¥ê¥ó¥¯¤Îµ­½ÒÊýË¡¤¬Ê¬¤«¤ê¤Þ¤¹¡£
++''MySQL¤ÇÁí·ï¿ô¤òÄ´¤Ù¤Æ¡¢É½¼¨¤·¤Æ¤¤¤Þ¤¹¡£''
 $iCount = mysql_query("SELECT COUNT(*) AS NUM FROM ¥Æ¡¼¥Ö¥ë̾");
++''<a href="download.php?...">1-100</a>¤È¤¤¤Ã¤¿¡¢¤É¤ÎÈϰϤò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤«¤òɽ¤¹¥ê¥ó¥¯¤Îµ­½ÒÊýË¡¤¬Ê¬¤«¤ê¤Þ¤¹¡£''
++download.php ... tabʬ³ä¥Ç¡¼¥¿¤Î¥À¥¦¥ó¥í¡¼¥É¥×¥í¥°¥é¥à
+++¥Ö¥é¥¦¥¶¤Çtab¥Ç¡¼¥¿¤Î¥À¥¦¥ó¥í¡¼¥É¥À¥¤¥¢¥í¥°¤ò½Ð¤¹ÊýË¡¤¬Ê¬¤«¤ê¤Þ¤¹¡£
+++MySQL¤Ç»ØÄêÈϰϤΥǡ¼¥¿¤ò¼èÆÀ¤¹¤ëÊýË¡¤¬Ê¬¤«¤ê¤Þ¤¹¡£
+++''¥Ö¥é¥¦¥¶¤Çtab¥Ç¡¼¥¿¤Î¥À¥¦¥ó¥í¡¼¥É¥À¥¤¥¢¥í¥°¤ò½Ð¤¹ÊýË¡¤¬Ê¬¤«¤ê¤Þ¤¹¡£''
 $strFileName = ($_GET['iStartIndex'] + 1) . "-" . ($_GET['iStartIndex'] + $_GET['iDownloadCount']) . ".tab";
 header("Content-Type: text/tab-separated-values");
 header("Content-Disposition: attachment; filename=$strFileName");
 while($row = mysql_fetch_array($rs)) {
     $strRow = $row['iID'] . "\t" . $row['strName']. "\r\n";
     echo mb_convert_encoding($strRow, "SJIS");
 }
+++''MySQL¤Ç»ØÄêÈϰϤΥǡ¼¥¿¤ò¼èÆÀ¤¹¤ëÊýË¡¤¬Ê¬¤«¤ê¤Þ¤¹¡£''
 $dbResult = mysql_query("SELECT * FROM ¥Æ¡¼¥Ö¥ë̾ LIMIT " . $_GET['iStartIndex'] . ", " . $_GET['iDownloadCount']);

**sample3 [#y7857610]

+[[index.html>http://localhost:50000/sample/WebDB-sample/chap3/sample3/index.html]] ... formÆþÎÏ¥Ú¡¼¥¸~
sample2¤È¤Þ¤Ã¤¿¤¯Æ±¤¸¤Ç¤¹¡£
+index.php ... formÆþÎÏ¥Ú¡¼¥¸PHPÈÇ~
POSTÃͤò¼õ¤±¼è¤ê¡¢formÁ°²óÆþÎÏÃͤòÉüµ¢¤·¤Þ¤¹¡£~
index.html¤È¼¡¤Î£³ÅÀ¤¬°ã¤¤¤Þ¤¹¡£~
++''<?php''~
''session_start();''~
''require("function.php");''~
''require("check_values.php");''~
''$_SESSION['register'] = 0;''~
''?>''
++<form method="post" action="confirm.php''?<?=SID?>''">
++<input type="text" name="name" ''value="<?php secho($name) ?>"'' /><br />
+confirm.php ... ³Îǧ¥Ú¡¼¥¸~
¼¡¤Î¤è¤¦¤Ë¥»¥Ã¥·¥ç¥ó¤òÍѤ¤¤¿¥»¥­¥å¥ê¥Æ¥£¥³¡¼¥É¤¬Äɲ䵤ì¤Æ¤¤¤Þ¤¹¡£
++session_start();
++$_SESSION['register']¤¬Ì¤ÄêµÁ¤Þ¤¿¤Ï£°°Ê³°¤Î¾ì¹ç¡¢error.html¤òɽ¼¨¤·¤Þ¤¹¡£
++¡ÖÌá¤ë¡×¤ò²¡¤·¤¿¤È¤­¤Ë¡¢¡Öaction="index.php?<?=SID?>"¡×¤ò¸Æ¤Ó½Ð¤·¡¢ÆþÎÏÃͤòÊÝ»ý¤·¤¿ÆþÎϲèÌ̤òÉüµ¢¤µ¤»¤Æ¤¤¤Þ¤¹¡£
+regist.php ... ÅÐÏ¿´°Î»¥Ú¡¼¥¸~
¼¡¤Î¤è¤¦¤Ë¥»¥Ã¥·¥ç¥ó¤òÍѤ¤¤¿¥»¥­¥å¥ê¥Æ¥£¥³¡¼¥É¤¬Äɲ䵤ì¤Æ¤¤¤Þ¤¹¡£
++session_start();
++$_SESSION['register']¤¬Ì¤ÄêµÁ¤Þ¤¿¤Ï£°°Ê³°¤Î¾ì¹ç¡¢error.html¤òɽ¼¨¤·¤Þ¤¹¡£
++MySQL¤Ç¥Æ¡¼¥Ö¥ë¤ò¥í¥Ã¥¯¤·¤Æ¤¤¤Þ¤¹¡£~
mysql_query("lock tables members write");
++Ʊ¤¸ÅŻҥ᡼¥ë¥¢¥É¥ì¥¹¤¬ÅÐÏ¿ºÑ¤ß¤Î¾ì¹ç¡¢·Ù¹ð¤òɽ¼¨¤·¤Æ¡¢ÅÐÏ¿¤òÈ´¤±¤Þ¤¹¡£
++MySQL¤ËÅÐÏ¿À®¸ù¸å¡¢¥»¥Ã¥·¥ç¥ó¤ÎÃͤò£²¤Ë¤·¤Æ¤¤¤Þ¤¹¡£


*chap4 [#a3aadf37]
chap4.sql.txt

**sample1 [#kcb9fb31]
+[[regist.php>http://localhost:50000/sample/WebDB-sample/chap4/sample1/regist.php]] ... ÆþÎÏ
+regist_confirm.php ... ³Îǧ
+regist_done.php ... ÅÐÏ¿´°Î»
+check_values.php ... ÆþÎÏ¥Á¥§¥Ã¥¯
+define.php ... ÄêµÁ¥Õ¥¡¥¤¥ë
+[[error.html>http://localhost:50000/sample/WebDB-sample/chap4/sample1/error.html]] ... ¥¨¥é¡¼É½¼¨
+[[list_simple.php>http://localhost:50000/sample/WebDB-sample/chap4/sample1/list_simple.php]]
++''MySQL¤Ç¿·¤·¤¤½ç¤Ë¼è¤ê½Ð¤¹SRL¤¬Ê¬¤«¤ê¤Þ¤¹¡£''
++''php¥×¥í¥°¥é¥à¤ÎÃæ¤Ç¡¢html¤ÎÃæ¤Ë¡Ö<?php ?>¡×¤ò¤Á¤ê¤Ð¤á¤Æ¡¢¥ë¡¼¥×¤ò¹½À®¤·¡¢¥Æ¡¼¥Ö¥ë¹Ô¤ò½ñ¤¯ÊýË¡¤¬Ê¬¤«¤ê¤Þ¤¹¡£''
+[[list.php>http://localhost:50000/sample/WebDB-sample/chap4/sample1/list.php]]
++¥»¥­¥å¥ê¥Æ¥£ÍѤ˥»¥Ã¥·¥ç¥óÊÑ¿ô¤ò½é´ü²½¤¹¤ë¥³¡¼¥É¤¬Æþ¤Ã¤Æ¤¤¤Þ¤¹¡£
 session_start();
 $_SESSION['register'] = 0;
 $_SESSION['modify'] = 0;
 $_SESSION['delete'] = 0;
++¥Ú¡¼¥¸¥¤¥ó¥Ç¥Ã¥¯¥¹¤òget¤Ç¼õ¤±¼è¤ê¡¢¡Ö¼¡¤Î??·ï¡×¡ÖÁ°¤Î??·ï¡×¤Î¥ê¥ó¥¯¤Ç¼«¿È¤ò¸Æ¤Ó½Ð¤·¡¢²èÌ̤ò¹¹¿·¤¹¤ëÊýË¡¤¬Ê¬¤«¤ê¤Þ¤¹¡£
++¼¡¤Î³Æµ¡Ç½¤Îphp¥×¥í¥°¥é¥à¤ò¸Æ¤Ó½Ð¤¹¥ê¥ó¥¯¤¬Í­¤ê¤Þ¤¹¡£
|¥ê¥ó¥¯¹àÌÜ|Èô¤ÓÀèphp|µ¡Ç½|
|¿·µ¬ÅÐÏ¿|index.php|¥È¥Ã¥×¥Ú¡¼¥¸¤ËÌá¤ë|
|ÊÔ½¸|modify.php|Áª¤ó¤À¹Ô¤ÎÊÔ½¸|
|ºï½ü|delete_confirm.php|Áª¤ó¤À¹Ô¤Îºï½ü|
+[[list_sort.php>http://localhost:50000/sample/WebDB-¡¢sample/chap4/sample1/list_sort.php]]
+delete_confirm.php
+delete_done.php
+function.php
+list.php
+list_simple.php
+list_sort.php
+modify.php
+modify_confirm.php
+modify_done.php

**sample2 [#w44b6970]
http://localhost:50000/sample/WebDB-sample/chap4/sample2/index.html
+check_values.php
+define.php
+delete_confirm.php
+delete_done.php
+error.html
+function.php
+list.php
+modify.php
+modify_confirm.php
+modify_done.php
+news.html
+news.php
+news2.php
+news_create.php
+news_template.html
+regist.php
+regist_confirm.php
+regist_done.php
+search.html

*chap5 [#g2bfce67]

**sample1 [#j4127bb1]
³¤³°Î¹¹ÔÀèÅêɼ¥·¥¹¥Æ¥à~
+[[index.html>http://localhost:50000/sample/WebDB-sample/chap5/sample1/index.html]]
+[[index.php>http://localhost:50000/sample/WebDB-sample/chap5/sample1/index.php]]
+result.php

**sample2 [#uece8273]
+[[index.php>http://localhost:50000/sample/WebDB-sample/chap5/sample2/index.php]]
+result.php

**sample3 [#g3eeee64]
+[[index.php>http://localhost:50000/sample/WebDB-sample/chap5/sample3/index.php]]
+result.php
+[[1.png>http://localhost:50000/sample/WebDB-sample/chap5/sample3/1.png]]¡Á[[7.png>http://localhost:50000/sample/WebDB-sample/chap5/sample3/7.png]]

**sample4 [#yeb14265]
+[[1.png>http://localhost:50000/sample/WebDB-sample/chap5/sample4/1.png]]





*ÊÙ¶¯¤·¤¿¤³¤È [#p09097c3]
+<input ... /><br />¤Î¤è¤¦¤Ë¡¢ÊĤ¸¤Ê¤¤¥¿¥°¤ÎºÇ¸å¤Ï¡¢É¬¤º¥¹¥é¥Ã¥·¥å¤òÆþ¤ì¤ë¡£
+PHP¤Ç¤Ïʸ»úÎó¤ÎÀÚ¤ìÌܤ¬Ê¬¤«¤ê¤Ë¤¯¤¤¤Î¤Ç¡¢Ê¸»úÎó¤òÏ¢·ë¤¹¤ë¥É¥Ã¥È¤ÎÁ°¸å¤Ï¡¢¥¹¥Ú¡¼¥¹¤òÆþ¤ì¤¿¤Û¤¦¤¬¸«¤ä¤¹¤½¤¦¡£
+SERVER_NAME¤ÈHTTP_HOST¤ÎÈæ³Ó
|$_SERVER["SERVER_NAME"];|localhost|Ãͤò¼èÆÀ¤·¤Ê¤ó¤é¤«¤Î·Á¤ÇÍøÍѤ¹¤ë¾ì¹ç¤Ë»ÈÍѤ·¤Þ¤¹¡£|¥ê¥¯¥¨¥¹¥È»þ¤Î host:&#12316; ¤ò»È¤¦¤â¤Î¤Î¡¢»ØÄ̵꤬¤¤¾ì¹ç¤Ï httpd.confÅù¤Ëµ­½Ò¤·¤¿ServerName¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤¬¥Ç¥Õ¥©¥ë¥È¤Ç»È¤ï¤ì¤Þ¤¹¡£htmlentities¤Ë¤è¤Ã¤Æ¥¨¥¹¥±¡¼¥×¤µ¤ì¤ë¤è¤¦¤Ç¤¹¡£|
|$_SERVER["HTTP_HOST"];|localhost:50000|¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À¡¼¤ÎÃͤò¤½¤Î¤Þ¤Þ¼è¤ê¤¿¤¤¾ì¹ç¤Ë»ÈÍѤ·¤Þ¤¹¡£|¥ê¥¯¥¨¥¹¥È»þ¤Ë host:&#12316; ¤Ç»ØÄꤷ¤¿Ãͤ¬ÊÖ¤µ¤ì¤Þ¤¹¡£|
+php.ini¤ÎÆüËܸ쥳¡¼¥ÉÀßÄê
ÆüËܸì¤ÎÀßÄ꤬¹ç¤Ã¤Æ¤¤¤Ê¤¤¤È¡¢¡ÖParse error:¡×¤È¤¤¤Ã¤¿¥¨¥é¡¼¤¬½Ð¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£º£²ó¤¹¤Ù¤ÆShift JIS¤ËÅý°ì¤·¤Þ¤¹¤Î¤Ç¡¢¼¡¤Î¤è¤¦¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
C:\Program Files\xampp\apache\bin\php.ini
|Directive|default|changed|
|mbstring.detect_order|no value|
|mbstring.encoding_translation|Off|
|mbstring.func_overload|0|
|mbstring.http_input|pass|
|mbstring.http_output|pass|
|mbstring.internal_encoding|no value|
|mbstring.language|neutral|
|mbstring.strict_detection|Off|
|mbstring.substitute_character|no value|


 output_handler = mb_output_handler
 default_charset = "Shift_JIS"
 magic_quotes_gpc = Off