Fโค ด php สร างแบบฟอร ม แล วปร นเอกสาร

2.1 แสดงตวั กาํ หนดชนดิ การแสดงผลท่ีใชร วมกบั คาํ ส่งั printf ....................................................... 16

2.2 ตัวดาํ เนนิ การแปลงชนิดของขอมูล ………………………………………………………………………………… 22

2.3 ฟงกช นั ท่ีใชสาํ หรับตรวจสอบชนิดของขอ มูล…………………………………………………………………….28

2.4 คําสงวนของภาษา PHP ………………………………………………………………………………………………..31

3.1 แสดงชอื่ อิลเิ มนทของตวั แปรพิเศษ $_SERVER ที่สาํ คญั และใชง านบอย ……………………………44

3.2 ตวั ดําเนนิ การทางคณติ ศาสตร ……………………………………………………………………………………….51

3.3 ตวั ดาํ เนินการกําหนดคา ………………………………………………………………………………………………. 53

3.4 ตัวดาํ เนนิ การสําหรับเพ่ิม และลดคา ……………………………………………………………………………… 53

3.5 ตัวดําเนินการเปรยี บเทียบ ……………………………………………………………………………………………. 54

3.6 ตัวดาํ เนนิ การเปรียบเทยี บทางตรรกะ ……………………………………………………………………………. 55

6.1 แสดงความสมั พันธร ะหวา งอนิ เดก็ ซก บั คาของขอ มูลทีก่ าํ หนดใหตวั แปร $province ………….. 99

6.2 แสดงผลสรุปฟง กชันทใ่ี ชส ําหรับเรียงลาํ ดบั ขอ มูลในอารเ รยโดยใชคยี อารเรย …………………….120

6.3 สรปุ ฟง กช นั ทีใ่ ชส าํ หรับการจดั การตัวชี้ตําแหนง สมาชกิ ในอารเ รย ……………………………………121

6.4 แสดงคาคียของอารเรย $_FILE ………………………………………………………………………………….. 126

7.1 ฟงกชันทีใ่ ชจดั การรหัสแอสกี ……………………………………………………………………………………… 131

7.2 ฟง กชนั ในการตดั ชองวาง …………………………………………………………………………………………….143

7.3 ฟงกชันประมาณคา …………………………………………………………………………………………………….145

7.4 ฟงกชนั เปรียบเทยี บจํานวน …………………………………………………………………………………………146

7.5 ฟง กช ันการตรวจสอบ และจัดรปู แบบตัวเลข …………………………………………………………………146

7.6 ฟงกช นั อน่ื ๆ ทเี่ ก่ยี วของกบั ตวั เลข ………………………………………………………………………………..147

7.7 อักษรท่ีใชแ ทนความหมายของวนั และสปั ดาห สําหรับฟง กชัน date ( ) ………………………….. 150

7.8 อักษรทใี่ ชแ ทนความหมายของเดือน สําหรบั ฟง กชนั date ( )…………………………………………. 151

7.9 อกั ษรทใ่ี ชแทนความหมายของป สาํ หรบั ฟง กชัน date ( ) ………………………………………………151

7.10 อกั ษรท่ีใชแ ทนความหมายของเวลา สําหรบั ฟง กชัน date ( ) ………………………………………….151

7.11 คยี แ ละคาของอารเรยท่ไี ดจากการใชฟ ง กช นั getdate ( ) ……………………………………………… 153

8.1 ขนั้ ตอนการเขียนและอานขอ มูลในไฟล …………………………………………………………………………164

8.2 โหมดไฟล ………………………………………………………………………………………………………………….165

8.3 ฟง กชนั ที่ใชตรวจสอบเก่ียวกับไฟล ……………………………………………………………………………….177

8.4 ฟงกช ันท่ใี ชตรวจสอบเวลาทีเ่ ก่ียวของกบั ไฟล ………………………………………………………………..178

(14)

สารบญั ตาราง (ตอ )

ตารางท่ี หนาที่

8.5 คาคยี ข องตวั แปร $_FILES ………………………………………………………………………………………….184

9.1 แสดงลกั ษณะการใชงานวิธกี ารสงขอ มลู แบบ POST และ GET ………………………………………. 189

9.2 ความสัมพนั ธระหวางวิธกี ารสงและรูปแบบการเรียกใชข อมูล …………………………………………. 197

10.1 สญั ลักษณท ใ่ี ชรว มกบั Query String เพ่ือการสง คาระหวา งเวบ็ เพจ ……………………………….. 206

12.1 แสดงอเี วนตข อง JavaScript สาํ หรับกาํ หนดใหกับอิลเิ มนต ………………………………………….. 255

12.2 แสดงอีเวนตข อง JavaScript แบบพรอ็ ปเพอรต้ี …………………………………………………………… 258

12.3 แสดงตวั อยา งรหสั ทใี่ ชแ ทนปุมคียบอรด ………………………………………………………………………. 261

13.1 แสดงชนดิ ขอ มลู ของ MySQL ชนดิ ตัวเลข ……………………………………………………………………. 272

13.2 แสดงชนดิ ขอ มูลของ MySQL ชนดิ ขอ ความ ………………………………………………………………….273

13.3 แสดงชนดิ ขอ มลู ของ MySQL ชนิด BLOB …………………………………………………………………… 273

13.4 แสดงชนดิ ขอ มูลของ MySQL ชนิด SET และ ENUM …………………………………………………… 274

13.5 แสดงชนดิ ขอมลู ของ MySQL ชนิดวนั เวลา ………………………………………………………………….. 274

13.6 แสดงแอททริบิวตส าํ หรับกําหนดใหก ับขอบเขตขอมูลใน MySQL …………………………………… 274

13.7 ตวั อยา งโครงสรา งตาราง user …………………………………………………………………………………….276

13.8 ตวั อยา งโครงสรางตาราง employees ………………………………………………………………………… 277

13.9 แสดงโอเปอรเ รเตอรที่ใชงานรวมกับ WHERE ………………………………………………………………. 285

13.10 แสดงฟงกช นั Aggregate สาํ หรับใชรว มกบั GROUP BY ………………………………………………..286

13.11 ตวั อยา งตารางขอ มูลนกั ศกึ ษา ……………………………………………………………………………………..289

13.12 ตัวอยางตารางขอมลู สาขาวิชา ……………………………………………………………………………………..289

13.13 ตัวอยา งตารางขอมลู คณะ ………………………………………………………………………………………….. 289

13.14 แสดงตวั อยา งขอ มลู ในตารางขอ มลู นักศึกษา ………………………………………………………………… 289

13.15 แสดงตัวอยา งขอมลู ในตารางขอมลู สาขาวิชา …………………………………………………………………290

13.16 แสดงตวั อยา งขอ มูลในตารางขอ มลู คณะ ……………………………………………………………………….290

14.1 ตวั อยางโครงสรางตาราง customer …………………………………………………………………………… 317

ข-1 ตารางขอ มลู นกั ศกึ ษา (student) …………………………………………………………………………………366

ข-2 ตารางขอมลู สาขาวิชา (program) ………………………………………………………………………………. 366

ข-3 ตารางขอมูลคณะ (faculty) ……………………………………………………………………………………….. 366

ข-4 ตารางขอมลู โครงการ (project) …………………………………………………………………………………. 366

(15)

สารบัญตาราง (ตอ )

ตารางที่ หนา ท่ี

ข-5 ตารางขอมลู การทาํ กจิ กรรม (activity) ………………………………………………………………………… 367

ข-6 แสดงรายละเอียดของไฟลท่ีเก่ยี วของในระบบบันทกึ การทํากิจกรรมของนกั ศึกษา ……………. 368

ดชั นี

A array_merge_recursive, 128, 129, 130 abs, 155 Absolute, 163, 195 array_pad, 115, 116 Addition, 54 array_pop, 118, 119 Adobe Dreamweaver, 9, 37 array_push, 113, 115 AJAX Engine, 237, 240 array_search, 133, 135 AJAX Framework, 242, 245 array_shift, 119 AJAX, 237, 238, 239, 240, 241, array_slice, 117 array_splice, 117 242, 243, 244, 245, 246, array_unique, 113 247, 248, 249, 250, 251, array_unshift, 116 252, 253, 254, 255, 264, arsort, 124, 125, 126 265, 268, 270 asort, 124, 125, 126 AJAXCall, 246, 247, 250, 251, 252, ASP Style, 11, 37 255, 256 Assignment, 57 AJAXLoad, 245, 246, 247, 250, Asynchronous JavaScript and 251, 255 AppServ, 163, 164, 167, 169 XML, 237 argument, 83 Asynchronous, 237, 238, 241 Arithmetic Operators, 53 Attribute, 275 Array Data Types, 22 AUTO_INCREMENT, 276, 279, 331 array pointer, 79 AVG, 291 array, 99, 100, 102, 103, 104, 107, 108, 109, 110, 111, 113, B 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, BIGINT, 8 124, 125, 126, 128, 129, Binary Large Object, 9 130, 131, 132, 133, 135, BINARY, 9, 276 137, 141 BIT, 7, 9 array_combine, 128, 131 Bitwise Operators, 60 array_count_values, 121 BLOB, 9 array_diff, 137 break, 68, 69, 76, 77, 80, 81, 82 array_intersect, 135 Built-in Functions, 83 array_key_exists, 133 array_merge, 128, 129, 130 C

$_COOKIE, 45, 46, 47, 210, 211 ceil, 153, 169 CHAR, 8 Checkbox, 194

418 ดชั นี

checkdate, 165, 166 Default Parameter, 89 chmod, 186 Default Syntax, 9, 12, 37 chr, 131, 133 DEFAULT, 276 Class, 221, 222, 235, 236 default, 68, 69, 82 Client Side script, 1 DESC, 270, 271, 272, 281, 292 Client, 1, 2, 5 DESCRIBE, 270, 271, 272 Client-Server, 5 Directory, 163, 182, 195 closedir, 182, 183 dirname, 184, 185, 186, 188 Code, 3, 4 Division, 54 Comment, 12 Document Root, 163, 164, 169 Comparison, 58 Dollar Sign, 33 Compound Data Types, 22 Double Quotes, 21, 34, 35 Conditional Structures, 61 DOUBLE, 8 Constants variables, 34 DROP, 272 Constructor, 231 Dynamic Web page, 1 continue, 80, 82, 83 Control Structures, 61 E Converting Types Functions, 31 Cookie, 209 $_ENV, 45, 46 copy, 138, 140, 189 each, 107, 108, 109, 128 count, 106, 107, 108, 119, 120, echo, 9, 10, 11, 12, 14, 15, 16, 19,

121, 141 22, 34, 35, 37 COUNT, 291 EditPlus, 9, 37 COUNT_RECURSIVE, 120 EDIUMBLOB, 9 CREATE DATABASE, 277 Element, 45, 99 CREATE TABLE, 321 empty, 48, 49, 50 current, 128 end, 128 CVS, 307, 308, 310 endfor, 61 endforeach, 61 D endif, 61 endswitch, 61 Data Sets, 99 endwhile, 61 Database, 269, 270, 273, 278, 308 Engine, 4, 6, 14 DATABASE, 277, 298 ENUM, 9 date, 156, 157, 158, 159, 161, Error suppression Operator, 61 Execute Command Operator, 62 162, 163, 164, 165, 166, EXIT, 272 167, 169, 170 explode, 139, 140, 173 date_default_timezone_set, 156, Expressions, 52 162, 164 Extensible Markup Language, 241 Decimal, 20

ปรญิ ญา นอ้ ยดอนไพร || การเขยี นโปรแกรมบนเวบ็ ดว้ ย PHP รว่ มกับฐานข้อมูล MySQL

F ดชั นี 419

$_FILES, 137, 138, 140, 191, 192, foreach, 80, 81, 103, 104, 123, 193, 194 124

Fatal Error, 98, 99 Form, 3 fclose, 168, 169, 170, 172, 173, Formatted String, 16 fpassthru, 178, 179 175, 177, 180, 196 fputs, 168, 170, 171, 172, 196 feof, 173, 174, 175, 177 fread, 174, 175 fgetc, 173, 174 FTP, 167 fgets, 175 Function Libraries, 96 fgetss, 175, 177 Function parameters, 39 Field, 270, 272, 309 Function, 3 File Field, 197 fwrite, 168, 169, 170, 172, 180 File Mode, 165 File Pointer, 166 G file, 167, 168, 169, 170, 171, 172, $_GET, 45, 46, 199, 207 173, 178, 179, 180, 181, GET, 192 188, 189, 190, 191, 192, getdate, 163, 164 193, 194, 195, 196 getFormData, 246, 250, 251, 255 file_exists, 170, 177, 188, 196 gettype, 25, 26, 27, 28, 29, 31, 34, file_get_contents, 173, 179, 180 file_put_contents, 168, 172, 173, 35 177 Global variables, 39 fileatime, 182 GLOBAL, 42, 43 filectime, 182 gmmktime, 166, 167 filemtime, 182 GMT, 156, 157, 161, 166 filesize, 175, 178, 179, 191, 194, Grave Accent, 63 195 Greenwich Mean Time, 156, 166 filetype, 183, 195 GROUP BY, 288, 291 Flag, 275 Flat File, 164 H FLOAT, 8 floatval, 154 HAVING, 288 floor, 154, 171, 172 header, 164, 178, 179, 203, 204, fopen, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 205, 206, 208, 223, 224, 175, 177, 178, 179, 180, 225, 226, 248, 249, 251, 196 253, 257, 265, 324, 329, 330 Hexadecimal, 20 Hidden Field, 197 HTML, 1, 4, 5, 6, 9, 11, 12, 14, 37, 38

ปริญญา นอ้ ยดอนไพร || การเขียนโปรแกรมบนเว็บดว้ ย PHP รว่ มกบั ฐานขอ้ มลู MySQL

420 ดัชนี

HTTP, 3, 4, 5, 46 is_resource, 33, 36 HTTP_REFERER, 45 is_scalar, 33 Hypertext Markup Language, 1 is_string, 33 Hypertext Transfer Protocol, 3 is_upload_file, 192 is_uploaded_file, 192 I is_writable, 181 isset, 48, 49, 51, 210, 211, 214, iconv, 248 if ... else Statement, 63 215, 224 if ... elseif Statement, 65 IF NOT EXISTS, 277 J if Statement, 61 if, 34, 35, 36, 37, 140, 169, 170, JavaScript, 237, 238, 241, 242, 246, 248, 249, 250, 251, 171, 193, 196 252, 253, 254, 256, 257, IMAP, 2 260, 270 implode, 140, 173, 179 in_array, 133, 135 join, 140 include, 97, 98, 99, 222, 225, 227, K 229, 234 include_once, 97, 98 Key, 99, 104, 127 Increment & Decrement, 57 ksort, 124, 125, 126, 127 INDEX, 276, 277, 281, 282, 297, L 300 Inheritance, 235 LDAP, 2 INSERT INTO, 284, 285, 308 LIMIT, 285, 286, 289, 292 Instance, 223 list, 107, 109 INT, 8 Local Mean Time, 156 Internet, 2, 5 Local variables, 39 intval, 154, 170 localhost, 163, 305, 307, 308, IP Address, 45 is_array, 33 309, 310, 311, 312, 313, is_bool, 33, 34 315, 316, 317, 318, 319, is_float, 33, 155 324, 326, 329, 330, 331, is_int, 33, 35, 155 332, 335, 339, 340, 342 is_integer, 33 LONGBLOB, 9 is_null, 33 LONGTEXT, 9 is_numeric, 33, 155 Loop Structures, 61 is_object, 33 ltrim, 148, 149 is_readable, 181 is_real, 33 M

max, 154 MAX, 291 MEDIUMINT, 8 MEDIUMTEXT, 9

ปรญิ ญา น้อยดอนไพร || การเขียนโปรแกรมบนเวบ็ ดว้ ย PHP รว่ มกบั ฐานข้อมูล MySQL

ดชั นี 421

Method, 221, 223 mysql_fetch_object, 319, 320, min, 154 335 MIN, 291 mkdir, 186, 188 mysql_fetch_row, 316, 317, 335, mktime, 162, 164, 165, 166, 171 336 Modifier, 226 Modulus, 54, 57 mysql_free_result, 313, 314, 315, move_uploaded_file, 138, 140, 316, 317, 319, 320, 326, 328, 333, 336, 341, 342 192, 194 Multiple-Line C Syntax, 14 mysql_insert_id, 331, 332 Multiplication, 54 mysql_list_dbs, 334, 335 MySQL link identifier, 305, 306, mysql_list_fields, 337, 338 mysql_num_rows, 315, 333, 340 307, 308, 310, 312, 313, mysql_pconnect, 305, 306, 307, 330, 331, 333, 335, 336, 338 309, 310, 311, 312, 313, MySQL, 2, 3, 7, 9, 10, 269, 272, 315, 316, 317, 318, 320, 273, 274, 275, 276, 281, 324, 326, 329, 332, 335, 284, 296, 297, 298, 30, 336, 339, 340, 341, 342 306, 307, 308, 309, 310, mysql_query, 311, 312, 313, 314, 311, 312, 313, 320, 321, 315, 316, 317, 318, 319, 323, 326, 329, 330, 331, 320, 324, 326, 329, 330, 333, 335, 336, 338, 339, 331, 332, 335, 336, 337, 341 338, 339, 340, 341, 342 mysql_affected_rows, 330, 331 mysql_select_db, 310, 311, 312, mysql_close, 306, 307, 308, 309, 313, 315, 316, 317, 318, 310 320, 324, 326, 329, 331, mysql_connect, 305, 306, 307, 332, 339, 340, 341, 342 308, 309, 330, 331, 341 mysql_data_seek, 332, 333 N mysql_error, 309, 310, 311, 312, 315, 316, 317, 319, 320, next, 128 324, 326, 329, 331, 332, nl2br, 151 333, 336, 337, 338, 339, NOT NULL, 276, 278, 279, 280, 340, 342 mysql_fetch_array, 318, 319, 335 281, 282, 289 mysql_fetch_assoc, 312, 314, Notepad, 9, 37 325, 326, 333, 335, 338, Notepad++, 9, 37 342 NULL, 40, 47, 48, 49, 50, 51 number_format, 155 Numeric Data types, 7

O

Object Data Types, 24

ปรญิ ญา นอ้ ยดอนไพร || การเขยี นโปรแกรมบนเวบ็ ดว้ ย PHP รว่ มกับฐานข้อมลู MySQL

422 ดชั นี

Object Oriented Programming, 2, Protocol, 2 221 Q Octal, 20 Open source, 2 Query String, 45, 46, 206, 207, opendir, 182, 183 208, 209, 212, 226, 243, 246 Operands, 52 Operating System, 2 Query, 269, 305, 306 Operators, 52, 53, 60 QUERY_STRING, 45 ord, 131, 133 QUIT, 272 ORDER BY, 289, 292, 295, 296 R P Radio Button, 193 $_POST, 45, 46, 198, 199, 200, rand, 155 201, 202, 214, 223, 224 range, 100, 103, 104, 105 readdir, 183 page description language, 6 readfile, 177, 178, 179, 192 Parameter, 15 Recursive Functions, 94 parse_str, 208, 209 Reference assignment, 34 Passing Parameter by Value and Relational Database Management

Reference, 91 System, 7, 269 pathinfo, 184, 185, 186 REMOTE_ADDR, 45 Personal Home Page, 3 rename, 189, 190 PHP Hypertext Preprocessor, 1, 4 require, 97, 98, 99, 222 PHP_SELF, 45 require_once, 97, 98 phpMyAdmin, 269, 296, 297, 298 Reserved Words in PHP, 36 PHP-Tools, 3, 4 Reset Button, 196 POP3, 2 reset, 128 POST, 191 Resource, 165, 168, 170 pow, 156, 173 Retrieving Types Functions, 30 prev, 128 return, 41, 64, 92, 93, 94, 95, 96 PRIMARY KEY, 277, 279, 280, 281, Returning Multiple Values, 93 Returning Single Value, 92 282 rewinddir, 183 print, 14, 15, 16, 37 rmdir, 188 print_r, 100, 102, 103, 105, 106, round, 154 rsort, 122, 123, 124 110, 111, 113, 115, 116, rtrim, 148, 149 117, 118, 119, 121, 130, 131, 132, 135, 137, 141 S printf, 14, 16, 17, 18, 25, 26, 27, 28, 29, 30, 31, 38 $_SERVER, 44, 45, 208 Procedural, 221

ปรญิ ญา นอ้ ยดอนไพร || การเขยี นโปรแกรมบนเว็บดว้ ย PHP ร่วมกบั ฐานข้อมูล MySQL

ดชั นี 423

$_SESSION, 45, 47, 214, 215, 217, SMALLINT, 8 219, 220, 224, 225, 226 SNMP, 2 sort, 113, 122, 123, 124, 125 Scalar Data Types, 19 SORT_FLAG_CASE, 122, 123 Script Language, 1 SORT_NATURAL, 122, 123 Script Style, 10, ดู SORT_NUMERIC, 113, 122 SELECT, 282, 283, 284, 286, 287, SORT_REGULAR, 113, 122, 124,

288, 289, 290, 291, 292, 125 293, 295, 296, 312, 314, SORT_STRING, 113, 122 315, 316, 317, 318, 320, Source Code, 4 324, 326, 332, 337, 339, sprintf, 14, 18, 19, 312, 313, 314, 340, 342 Semicolon, 12, 37 315, 316, 317, 318, 320, Server Side script, 1 324, 326, 329 Server, 1, 2, 5 sqrt, 156 session_decode, 217, 218, 219 Statement, 1, 2 session_destroy, 215, 221, 226 Static variables, 39 session_encode, 217, 219 Static Web page, 1 session_id, 216, 217 STATIC, 44 session_is_registered, 220, 221 STD, 291 session_regenerate_id, 217 STDDEV, 291 session_register, 219, 220, 221, str_ireplace, 146, 147 223, 226 str_pad, 149, 151, 169 session_start, 47, 213, 214, 215, STR_PAD_BOTH, 150, 151 217, 219, 220, 221, 223, STR_PAD_LEFT, 150, 151, 169 224, 226 STR_PAD_RIGHT, 149, 150 session_unregister, 219, 220 str_replace, 144, 146, 147 session_unset, 220 str_word_count, 134, 135 SET, 9 String Concatenation, 55 settype, 31, 32 String, 131 SGML Style, 10, 37 stripos, 144 Shell Syntax, 13 strlen, 133, 134, 143, 149 Short Tags, 10, 37 strpos, 143, 144 SHOW DATABASES, 269, 277 strstr, 140, 141, 142 SHOW TABLES, 270 strtolower, 135, 137, 139 SID, 212, 216, 217 strtotime, 157, 158, 159, 162, 169, Single Quotes, 21, 34, 35 174 Single-Line C++ Syntax, 13 strtoupper, 136, 137 sizeof, 120, 121, 141 strtr, 147

ปริญญา นอ้ ยดอนไพร || การเขยี นโปรแกรมบนเวบ็ ดว้ ย PHP ร่วมกบั ฐานขอ้ มลู MySQL

424 ดัชนี

Structure Query Language, 269 URL, 45, 46, 163, 167, 203, 204, Structure Query Language, 7 206, 207, 208, 209, 212 Submit Button, 196 substr, 142 USE, 270, 278 substr_count, 142, 143 User Defined Functions, 83 Subtraction, 54 UTC, 156 SUM, 291 utf-8, 248 Super Global variables, 39 switch Statement, 67 V

T Value assignment, 33 Value, 99, 126 Table, 273, 299 var_dump, 102 Ternary Operator, 61 VARBINARY, 9 Text File, 164 VARCHAR, 8 TEXT, 9 Variable Character Field, 8 time, 157, 158, 159, 163, 164, Variable variables assignment, 34 Variable, 33, 34, 39 166, 169, 171 Version, 4 TIME, 8 vi, 9, 37 Timestamp, 164, 182 Timezone, 156 W TINYBLOB, 9 TINYINT, 8 Web Browser, 1 TINYTEXT, 9 Web Client, 5 tis-620, 248, 249, 251, 253, 257, web content, 206 Web page, 1 265 Web Site, 1 trim, 148, 149 Webpage Redirect, 203, 204 Type-Related Functions, 30 WHERE, 282, 283, 285, 286, 288,

U 289, 290, 295, 296 whitespace, 149 ucfirst, 137 wordwrap, 153 ucwords, 137, 139, 173 UNIQUE, 276, 279, 280, 281, 282 X Unix Timestamp, 157, 164 unlink, 180 XML Style, 9, 12, 37 unset, 48, 50, 51, 117, 118, 215, XML, 237, 238, 240, 241, 242

220 Y UPDATE, 285, 286, 314, 320, 329, YEAR, 8 330 Upload, 9 ก

การกาํ หนดตวั แปรค่าคงท,่ี 37 การเข้าถึงขอ้ มลู ภายในอาร์เรย,์ 106 การเขยี นข้อมลู ลงในไฟล,์ 168

ปริญญา น้อยดอนไพร || การเขยี นโปรแกรมบนเวบ็ ด้วย PHP รว่ มกบั ฐานข้อมูล MySQL

ดชั นี 425

การเขียนโปรแกรมเชิงวตั ถุ, 24, 221 ค การจดั การกบั ไฟล์, 164 การปิดไฟล์, 167 คลาส, 24, 25, 96, 98, 99, 221, 222, การลบไฟล,์ 180 223, 224, 225, 226, 227, การสง่ ผ่านค่าพารามิเตอร์แบบส่งผ่าน 228, 229, 230, 231, 233, 234, 235, 236, 237, 238 ค่าแบบปกติ, 91 การส่งผ่านคา่ พารามิเตอร์แบบอา้ งอิง, คอนสตรกั เตอร,์ 231 คัดลอกไฟล,์ 189 92 คํานวณอายุ, 171 การสบื ทอด, 235 คําสงวนของภาษา PHP, 36 การอ้างตําแหน่งของอินเดก็ ซ,์ 106 คาํ สอบถามหรอื คําสัง่ , 269 การอา่ นข้อมลู จากไฟล์, 173 คาํ อธิบาย, 12, 13, 14 กําหนดค่าตัวแปร, 33 คีย,์ 22, 24, 78, 79, 99, 102, 105, กําหนดค่าตัวแปรซอ้ นตัวแปร, 34, 36 กาํ หนดค่าตัวแปรโดยการอา้ งองิ , 34, 106, 107, 108, 109, 110, 111, 112, 121, 122, 124, 36 125, 126, 127, 128, 129, กาํ หนดค่าตวั แปรปกต,ิ 33 130, 131, 132, 133, 137, 138, 140, 147, 163, 184, ข 191, 210, 214, 314, 318, 321 ขอ้ ความ, 131, 133, 134, 135, 136, คุกกี้, 203, 209, 210, 211, 212, 214, 137, 138, 139, 140, 141, 226 142, 143, 144, 145, 146, คูณ, 40, 41, 42, 43, 52, 54, 55, 57 147, 148, 149, 151, 153, เครอ่ื งหมายวงเลบ็ ก้ามป,ู 100, 101, 154, 155, 157, 158, 168, 102 169, 170, 171, 172, 173, โครงสรา้ งควบคมุ , 20, 34, 61, 70, 84 175, 179, 208, 209, , 253, โครงสร้างเงอ่ื นไข if ... else, 63, 64, 257, 258, 265, 267, 273, 65 274, 302, 303, 304, 308, โครงสรา้ งเงื่อนไข if ... elseif, 65, 66 309, 312, 313, 314, 316, 336 โครงสร้างเงอ่ื นไข if, 34, 61, 63, 64, 65, 67, 69, 70, 167, 169, ขอบเขตของตัวแปร, 39 171, 221, 224 ขอบเขตของฟอร์ม, 189 โครงสร้างเงื่อนไข switch, 67, 68, 69, ขอบเขตข้อมูล, 270, 273 70, 82 ข้อมลู ชนิดข้อความ, 9, 21 โครงสร้างเงื่อนไขทาํ ซา้ํ do ... while, ข้อมูลชนิดตวั เลข, 7 72, 73 ขอ้ มูลชนิดบูลนี , 19, ดู โครงสร้างเงือ่ นไขทําซํา้ for, 73, 74, ขอ้ มูลชนิดไบนารี, 9 75, 76, 77, 78, 108 ขอ้ มลู ชนิดเลขจํานวนจรงิ , 21 ข้อมูลชนิดเลขจาํ นวนเตม็ , 20 ข้อมูลชนิดเลขฐานสอง, 9 ข้อมูลทเี่ ป็นกลมุ่ ของข้อมูล, 9

ปริญญา นอ้ ยดอนไพร || การเขียนโปรแกรมบนเว็บดว้ ย PHP รว่ มกบั ฐานขอ้ มลู MySQL

426 ดชั นี

โครงสรา้ งเงอ่ื นไขทําซา้ํ foreach, 79, ไดนามกิ เว็บเพจ, 1, 6, 10 81 ไดเรกทอร,ี 163, 164, 165, 167, 182,

โครงสรา้ งเงอ่ื นไขทาํ ซา้ํ while, 70, 71, 183, 184, 185, 186, 188, 72, 82, 83, 174, 314 189, 191, 192, 195, 196

ไคลเอนต,์ 1, 2, 10, 137, 237, 238, ต 239, 240 ตรวจสอบและยกเลิกตัวแปร, 48 ไคลเอนตไ์ ซดส์ ครปิ ต์, 1 ตวั กําหนดชนิดการแสดงผลท่ีใช้ร่วมกับ

จ คําส่งั printf, 17 ตัวชต้ี าํ แหน่งข้อมลู ในไฟล,์ 166, 171 จดั การกบั ไดเรกทอรี, 182 ตัวช้ีตาํ แหน่งสมาชกิ ในอาร์เรย,์ 79 จัดรูปแบบตวั เลข, 155 ตัวดาํ เนนิ การ, 33, 52, 53 ตัวดําเนนิ การกําหนดค่า, 53, 57 ช ตวั ดําเนนิ การเชือ่ มตอ่ ขอ้ ความ, 53, 55 ตวั ดาํ เนนิ การใช้เงือ่ นไขในการ ชนิดข้อมูลแบบชุด, 22 ชนดิ ขอ้ มูลพ้ืนฐาน, 19 กําหนดค่า, 61, 62 ชนิดขอ้ มูลวัตถ,ุ 24 ตวั ดาํ เนนิ การทางคณติ ศาสตร,์ 53, 54 ชนิดขอ้ มลู สําหรับกําหนดใหก้ บั ขอบเขต ตวั ดาํ เนนิ การเปรียบเทียบ, 53, 58 ตวั ดาํ เนนิ การเปรียบเทียบทางตรรกะ, ข้อมูล, 273 ชอ่ งรบั ข้อความบรรทัดเดยี ว, 190 53, 60 ชอ่ งรับข้อความรหัสผ่าน, 191 ตวั ดาํ เนนิ การแปลงชนิดของข้อมลู , 25 ช่องรับข้อความหลายบรรทัด, 190 ตวั ดําเนนิ การเพม่ิ และลดค่า, 53, 57 ตวั ดําเนนิ การระงับการเกดิ ข้อผิดพลาด, ซ 61, 62, 63 ซอรส์ โค้ด, 4 ตวั ดําเนนิ การเรียกใชค้ ําส่ังของ เซสชนั , 47, 203, 212, 214 เซิร์ฟเวอร์, ระบบปฏิบตั กิ าร, 62 เซิร์ฟเวอร์, 1, 2, 3, 4, 5, 6, 10, 167, ตวั ถกู กระทาํ , 52 ตวั แปร, 33, 49, 57, 63, 64, 65, 67, 191, 192, 194, 195, 237, 238, 239, 240, 242, 243, 68, 69, 70, 71, 73, 74 245, 246, 247, 248, 249, ตวั แปรคงที่, 39, 43, 44 250, 251, 252, 254, 257, ตวั แปรเฉพาะท่ี, 39, 40, 44 258 ตัวแปรทม่ี ีคา่ NULL, 39, 47 เซิรฟ์ เวอร์ไซด์สคริปต,์ 1, 2 ตัวแปรพเิ ศษ, 39, 43, 44, 45, 46, 47,

ฐ 200 ตัวแปรฟงั กช์ นั พารามิเตอร์, 39, 40, 41 ฐานขอ้ มูล, 269, 270, 272, 273, 276, ตัวแปรสาธารณะ, 39, 42, 43 277, 278, 293, 296, 298, ตัวเลข, 131, 149, 166, 172 299, 301, 302, 304, 306, ตวั เลือกทเ่ี ลือกตอบได้เพียงข้อเดยี ว, 308, 309, 310, 311 193 ด

ดาวนโ์ หลด, 4

ปริญญา น้อยดอนไพร || การเขยี นโปรแกรมบนเวบ็ ดว้ ย PHP รว่ มกบั ฐานข้อมูล MySQL

ดชั นี 427

ตัวเลอื กแบบ Menu, 193 เปดิ ไฟล,์ 165 ตาราง, 269, 270, 271, 272, 273, เปดิ ไฟลส์ าํ หรับการเขียน, 165 เปดิ ไฟลส์ าํ หรบั การเขียนและอา่ น, 166 274, 275, 276, 277, 278, เปิดไฟลส์ าํ หรับการเพ่มิ , 166 279, 280, 281, 282, 283, เปิดไฟล์สําหรับการอา่ น, 165 284, 285, 286, 288, 289, เปิดไฟลส์ ําหรบั การอ่านและเขียน, 165 290, 291, 293, 294, 295, แปลงคา่ ขอ้ มลู ชนิดเลขจํานวนจริงเปน็ 296, 298, 299, 300, 301, เลขจํานวนเตม็ , 26 302, 303, 304, 305, 308, แปลงค่าข้อมูลปกติเป็นข้อมลู ชนดิ วัตถุ, 310, 311 28 แปลงคา่ ข้อมูลปกตเิ ป็นขอ้ มูลชนิด ท อารเ์ รย,์ 28 โปรแกรมเชิงวัตถุ, 2, 3 เทก็ ซไ์ ฟล,์ โปรโตคอล, 2, 4, 5, 46 เท็กซ์ไฟล,์ 100, 105, 106, 164, 165, พ 166, 169, 171, 202 เทียบเวลาวินาท,ี 172 พรอ็ ปเพอร์ต้ี, 221 แทรกขอ้ มลู ลงในตาราง, 284 พารามเิ ตอร์, 15, 17, 33, 39, 40, 41,

น 80, 81, 82, 83, 84, 85, 88, 89, 90, 91, 95, 99, 104, นําเข้าข้อมลู จากไฟล,์ 197 113, 116, 120, 122, 124, นาํ เข้าขอ้ มลู แบบซอ่ น, 197 125, 135, 147, 159, 163, นิพจน์, 33, 51, 52, 53, 54, 58, 60, 164, 165, 166, 169, 171, 61, 83, 93, 94, 206 186, 204, 205, 208, 210, 225, 228, 231, 292, 308, บ 313 พารามิเตอรแ์ บบกําหนดค่าเรม่ิ ตน้ , 89 บวก, 36, 52, 54, 55, 57, 58 พารามเิ ตอรแ์ บบสง่ ผ่านคา่ โดยการ บนั ทกึ ข้อมูลลงไฟล์, 165 อ้างอิง, 91

ป ฟ

ปฏทิ ินออนไลน,์ 169, 171 ฟอร์ม, 3, 9, 46, 138, 189, 190, 191, ปรบั ปรุงข้อมลู ในตาราง, 285 192, 193, 194, 195, 196, ปรบั เปลย่ี นชนิดขอ้ มูลแบบอตั โนมตั ,ิ 197, 198, 199, 202, 207, 29 221, 222, 223, 243, 245, ปปี กติสรุ ทนิ , 154 246, 257, 258, 301, 303, ปีอธกิ สรุ ทิน, 154 323 ปุ่มตัวเลอื กแบบปุ่มกลม, 193 ปุ่มตวั เลอื กแบบป่มุ เหลี่ยม, 194 ฟงั ก์ชันคน้ หาขอ้ ความ, 143 ปุ่มลา้ งข้อมลู , 196 ปุ่มสง่ ขอ้ มลู , 196 ปุ่มสง่ ค่าข้อมูลแบบรูปภาพ, 197 ปุ่มสั่งงาน, 195 เปลี่ยนแปลงช่ือไฟล์, 189

ปรญิ ญา นอ้ ยดอนไพร || การเขยี นโปรแกรมบนเว็บดว้ ย PHP ร่วมกับฐานข้อมลู MySQL

428 ดัชนี ภ

ฟังกช์ นั ที่เก่ยี วกับการคาํ นวณทาง ภาษา C, 2, 3, 12 คณิตศาสตร์, 83 ภาษา HTML, 1, 2, 3, 4, 6 ภาษา Perl, 2 ฟงั ก์ชนั ท่เี กี่ยวกบั การจัดการขอ้ ความ, ภาษา SQL, 7 83 ภาษา XML, 12 ภาษาสครปิ ต์, 1, 2, 10 ฟังก์ชันที่เกย่ี วกบั การตดิ ต่อกับ ฐานขอ้ มลู , 83 ม

ฟงั ก์ชนั ที่เก่ียวกับวันทแ่ี ละเวลา, 83 เมธอด, 223 ฟังก์ชันทเี่ กยี่ วขอ้ งกบั ชนิดข้อมลู , 30 โมดิฟายเออร์ แบบ public และ ฟังกช์ นั ท่ีใช้จัดการข้อความ, 131 ฟงั ก์ชันทีใ่ ช้จัดการจํานวนและตัวเลข, private, 226 โมดฟิ ายเออร์, 226 153 โมดฟิ ายเออร์แบบ static, 233 ฟงั ก์ชันที่ใช้จดั การรหสั แอสก,ี 131 ฟังกช์ นั ทใ่ี ชจ้ ดั การวันและเวลา, 156 ย ฟังก์ชันทใ่ี ชจ้ ัดการอักษรพิเศษของ ยา้ ยไดเรกทอร,ี 189 HTML, 151 ยา้ ยหนา้ เว็บเพจ, 204 ฟงั กช์ ันทใ่ี ชส้ ําหรบั ตรวจสอบชนิดของ ยา้ ยหนา้ เวบ็ เพจแบบ refresh, 205

ข้อมูล, 33 ร ฟังก์ชนั ทใี่ ช้สําหรับตัดช่องว่างและเตมิ ระบบจัดการฐานข้อมูลเชงิ สมั พันธ,์ 7 ขอ้ ความ, 148 ระบบปฏบิ ตั กิ าร, 2, 3 ฟังก์ชันทใ่ี ชส้ ําหรบั แยกและรวม ล ข้อความ, 139 ฟงั ก์ชนั ทผ่ี ู้ใชง้ านเป็นผ้สู รา้ งเอง, 83, ลบ, 54, 55 ลบข้อมูลในตาราง, 286 85, 86 ไลบรารฟี งั กช์ ัน, 83 ฟงั กช์ นั ที่มกี ารส่งผ่านคา่ พารามเิ ตอร์, ว 85 ฟังก์ชันท่ไี ม่มีการสง่ ผา่ นค่าพารามิเตอร์ วนั และเวลา, 131 วางตัวดําเนนิ การ, 58 , 85 เว็บ, 5 ฟังก์ชนั แทนท่ขี ้อความ, 144 เวบ็ แคช, 206 ฟังกช์ นั แบบเรียกตวั เอง, 94 เว็บไคลเอน็ ท,์ 5 ฟังกช์ ันแปลงชนดิ ขอ้ มูล, 31 เวบ็ เซริ ฟ์ เวอร์, 2, 4, 5, 6, 9, 44, 137, ฟังกช์ ันพารามิเตอร์, 89 ฟงั กช์ นั มาตรฐาน, 83, 85 189, 203, 212 ฟงั กช์ ันเรียกดูชนดิ ของขอ้ มูล, 30 เว็บไซต,์ 1, 3, 4, 5, 9, 46, 47 ฟงั ก์ชันไลบราร,ี 96 เว็บบราวเซอร์, 1, 2, 4, 5, 9, 10, 11, ฟังก์ชนั สาํ หรับการคน้ หาอินเด็กซ์, 133 ฟังก์ชันสาํ หรับการรวมอาร์เรย,์ 128 14, 47, 189, 200 แฟล็ก, 275

ปริญญา นอ้ ยดอนไพร || การเขียนโปรแกรมบนเวบ็ ดว้ ย PHP รว่ มกับฐานข้อมูล MySQL

ดชั นี 429

เว็บเพจ, 1, 4, 5, 6, 9, 10, 12 ,45, อารเ์ รย,์ 19, 22, 24, 25, 28, 32, 33, 46, 93, 97, 99, 139, 164, 43, 45, 78, 79, 80, 81, 99, 200, 203, 222, 224, 242, 100, 101, 102, 103, 104, 323 105, 106, 107, 108, 109, 110, 111, 113, 114, 115, เวบ็ เพจแบบคงท,ี่ 1, 6 116, 117, 118, 119, 120, เวบ็ แอพพลเิ คชนั , 189, 225, 241, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 306, 330, 341 131, 133, 134, 135, 137, เวอรช์ นั , 4 139, 140, 141, 145, 147, 154, 163, 171, 172, 179, ศ 184, 185, 186, 210, 214, 308, 309, 317, 318 เศษจากการหาร, 54 อินเด็กซ์, 99, 100, 101, 103, 104, ส 105, 106, 107, 121, 123, 127, 128, 130, 131, 133, สง่ ค่ากลบั แบบหลายคา่ , 93 134, 140, 186, 317, 318 สง่ ค่ากลบั หนึง่ คา่ , 92 สร้างฐานข้อมลู , 277 อนิ เทอรเ์ น็ต, 5 สร้างตาราง, 277 อินสแตนซ,์ 223, 224, 229, 230, สร้างและลบไดเรกทอรี, 186 สอบถามเพอ่ื เรยี กดขู อ้ มูลในตาราง, 233, 234, 236, 237 อิลิเมนต,์ 45, 99, 140 286 อีเวนต์, 257 แสดงขอ้ ผดิ พลาด, 98 อเี วนตเ์ กี่ยวกับคียบ์ อรด์ , 262 อเี วนต์เก่ยี วกับเมาส,์ 261 ห แอททริบวิ ต,์ 191, 275, 278 โอเพน่ ซอร์ส, 2, 7 หาร, 54, 55, 57 โหมดไฟล์, 165 ฮ

อ เฮดเดอร์, 203

ออบเจ็กต์, 221, 223, 231, 233, 235, 237

อกั ษรทใ่ี ชแ้ ทนความหมายของปี, 161 อกั ษรทีใ่ ช้แทนความหมายของเวลา,

161 อักษรทใ่ี ช้แทนความหมายเดือน, 161 อพั โหลด, 9, 137, 138, 139, 140,

191, 192, 194 อากิวเมนต์, 83 อา้ งอิงตาํ แหนง่ ไฟล์และไดเรกทอร,ี

163 อ้างองิ พาธแบบ Absolute, 163, 164 อา้ งอิงพาธแบบ Relative, 164 อา่ นข้อมูลจากไฟล,์ 165

ปรญิ ญา นอ้ ยดอนไพร || การเขียนโปรแกรมบนเวบ็ ดว้ ย PHP ร่วมกับฐานข้อมลู MySQL

บทท่ี 1 บทนาํ

ในชวงแรกๆ ภาษาท่ีนิยมใชในการพัฒนาเว็บไซต (Web Site) คือ ภาษา HTML (Hypertext Markup Language) โดยภายในหนาเว็บเพจ (Web page) จะประกอบไปดวย ตวั อักษร ภาพ หรืออื่นๆ ท่ีไมสามารถเปลี่ยนแปลงขอมูลไดดวยตัวเอง ไมสามารถคํานวณ ประมวลผลขอมูล หรือเชื่อมตอกับ ฐานขอมูลได เปนแคสวนของการแสดงผลของหนาเว็บเพจเทาน้ัน หรือเรียกวา หนาเว็บเพจแบบคงที่ (Static Web page) ตอมาไดพัฒนาภาษาที่ขอมูลจะถูกเปลี่ยนแปลงโดยอัตโนมตั ิตามเงื่อนไขตางๆ ท่ีผูเขยี นกาํ หนดไว หรือเรียกวา ไดนามิกเว็บเพจ (Dynamic Web page) ในปจจุบันมหี ลายภาษาท่ีถูก พัฒนาขึน้ มา มลี กั ษณะเปนภาษาสครปิ ต (Script Language) ทส่ี ามารถติดตอกับผูใช ฐานขอ มูล คํานวณ และประมวลผลตามเงื่อนไขตางๆ ได และหน่ึงในภาษาสคริปตท่ีไดรับความนิยมในปจจุบันก็คือ ภาษา PHP (PHP Hypertext Preprocessor)

1.1 ประเภทของภาษาสคริปต ภาษาสคริปต มี 2 ประเภท ประกอบดวย 1.1.1 ไคลเอนตไ ซดส ครปิ ต (Client Side script) ไคลเอนตไซดสคริปต คือ เทคโนโลยีที่สคริปตมีการประมวลผลและแปลคําส่ัง

(Statement Translation) ในฝงของเคร่ืองผูใช เชน จาวาสคริปต สวนมากจะใชวิธีการเขียนสคริปต แทรกลงไปในภาษา HTML และถูกประมวลผลโดยเว็บบราวเซอร (Web Browser) เพ่ือโตตอบกับ ผูใชงาน เชน การแสดงขอ ความเตอื น การตรวจสอบขอ มูลทผี่ ูใ ชป อ น เปนตน

1.1.2 เซิรฟ เวอรไ ซดส คริปต (Server Side script) เซิรฟ เวอรไซดสคริปต คอื เทคโนโลยีทส่ี คริปตทีม่ ีการประมวลผลและแปลคําส่ังในฝงของ

เครื่องเซิรฟเวอร (Server) แลว แปลงเปนเอกสารในรูปแบบของภาษา HTML แลวสงผลลัพธทไ่ี ดกลับไป ใหเวบ็ บราวเซอรใ นฝงไคลเอนต (Client)

1.2 ความสามารถของภาษา PHP PHP เปน ภาษาสครปิ ตท ่ีมกี ารประมวลผลและแปลคาํ สง่ั ประเภทเซิรฟเวอรไซดสคริปต มีรูปแบบ

ในการเขียนคําส่ัง (Statement) การทาํ งานคลายกบั ภาษา Perl หรือภาษา C และสามารถทํางานรวมกบั ภาษา HTML ไดเ ปนอยางดี ความสามารถของภาษา PHP มรี ายละเอยี ด ดงั ตอไปนี้

2 บทที่ 1 บทนาํ

1.2.1 เปนตัวแปลภาษาที่มีลักษณะ ทเี่ รียกวา โอเพน ซอรส (Open source) คือ ผูใชสามารถ ดาวนโหลดและตดิ ตง้ั บนเว็บเซิรฟเวอร (Web Server) ไดโดยไมเ สยี คา ใชจาย

1.2.2 เปน ภาษาสคริปตประเภทเซิรฟ เวอรไ ซดสคริปต มีการประมวลผลและแปลคาํ ส่ังในฝงของ เว็บเซิรฟเวอร แลวแปลงเปนเอกสารในรูปแบบของภาษา HTML แลวสงผลลัพธที่ไดกลับไปใหเว็บ บราวเซอรในฝง ไคลเอนต

1.2.3 สามารถทํางานบนระบบปฏิบัติการ (Operating System) ท่หี ลากหลาย เชน Unix, MS- Windows, Mac OS หรือ Risc OS อยางมีประสิทธิภาพ

1.2.4 สามารถทํางานรวมกับเว็บเซิรฟเวอร เชน Personal Web Server (PWS), Apache, OmniHttpd และ Internet Information Service (IIS) เปนตน

1.2.5 สามารถเขียนโปรแกรมเชิงวตั ถุ (Object Oriented Programming) ได 1.2.6 สามารถทํางานรวมกับโปรแกรมระบบจัดการฐานขอมูลที่หลากหลาย เชน Oracle, MySQL, FilePro, Solid, FrontBase, mSQL และ MS SQL Server เปน ตน 1.2.7 สามารถติดตอและทาํ งานรว มกบั โปรโตคอล (Protocol) ชนดิ ตา งๆ ได เชน LDAP, IMAP, SNMP, POP3 และ HTTP (Hypertext Transfer Protocol) เปนตน

1.3 ประวตั ิความเปน มาของภาษา PHP

Rasmus Lerdorf Zeev Suraski Andi Gutmans

ภาพท่ี 1.1 ผรู วมพฒั นา PHP

ท่มี า: Rasmus. (2011)., Markbuchner. (2010). และ Peter Judge. (2010).

ภาษา PHP ถกู สรางขน้ึ ในป ค.ศ.1994 โดย Rasmus Lerdorf เปนผูเริ่มตนพฒั นา จุดเริ่มตนมา จากความตอ งการที่จะบันทกึ ขอมลู ผูทเ่ี ขา มาเยี่ยมชมเว็บไซตสวนตัวท่สี รางขึ้น โดยแนวคิดคอื การเขียน โปรแกรมดวยภาษา C แตตองการแยกสวนท่ีเปนภาษา HTML ออกจากภาษา C และเปนเหตุผลสําคัญ ทําใหส รา งโคด (Code) ของภาษา HTML ข้นึ มาใหม และต้ังช่ือวา Personal Home Page (PHP-Tools)

ปรญิ ญา นอ ยดอนไพร || การเขียนโปรแกรมบนเวบ็ ดวย PHP รว มกับฐานขอมูล MySQL

บทที่ 1 บทนํา 3

หลังจากพัฒนาภาษา PHP ข้ึนมาแลว ก็เริ่มแจกจายใหบุคคลทั่วไปใชงาน แตในชวงแรกภาษา PHP ยังไมมคี วามสามารถมากนัก ตอ มาในป ค.ศ.1995 มกี ารพัฒนาเพม่ิ ขดี ความสามารถใหกับภาษา PHP ใหส ามารถรบั ขอมลู ที่สง มาจากฟอรม (Form) ของภาษา HTML รวมทั้งสามารถติดตอกับฐานขอมูล MySQL ไดอกี ดวย

ในป ค.ศ.1997 ไดเปดใหผูสนใจเขา รวมพัฒนาภาษา PHP และไดผูรวมพัฒนาเพมิ่ อีก 2 คน คอื Zeev Suraski และ Andi Gutmans ไดชวยกนั ปรับปรุงและพัฒนาโคด ข้นึ มาใหมใหดขี ้ึนในหลายๆ ดาน ทั้งแกไขขอบกพรอง เพ่ิมประสิทธิภาพ และเพิ่มฟงกชัน (Function) ใหมๆ มากขึ้น และสามารถเขียน โปรแกรมเชิงวัตถุท่ีสมบูรณแบบ สามารถทํางานรวมกับเว็บเซิรฟเวอร บนระบบปฏิบัติการหลายชนิด จนเปนท่นี ิยมในปจจุบัน และเปลี่ยนช่ือใหมจากเดมิ Personal Home Page (PHP-Tools) เปน PHP Hypertext Preprocessor

ปจจุบันภาษา PHP ไดผานการพัฒนามาหลายเวอรชัน (Version) มีเว็บไซตเพื่อใหผูใชหรือ ผูพัฒนาเว็บไซตสามารถเขาไปดาวนโหลดโปรแกรมเวอรชันลาสุด รวมทั้งคนหาขอมูล วิธีการใชงาน ฟง กชนั และสนทนากันระหวางผูใชด ว ยกนั เว็บไซตตงั้ อยทู ่ี //php.net

1.4 หลกั การทาํ งานของภาษา PHP ภาษา PHP นัน้ ทาํ งานอยูในฝงเว็บเซริ ฟ เวอร จะไมสามารถเห็นสคริปตของภาษา PHP ที่เคร่ือง

คอมพิวเตอรในฝงไคลเอ็นท เพราะระหวางที่ใชงานเว็บบราวเซอรเรียกชมเว็บไซตน้ัน ในฝงของ เว็บเซิรฟเวอร จะทําการประมวลผลภาษา PHP และสงผลลัพธที่ได เปนภาษา HTML หลังจากนั้นจะสง HTML ทีไ่ ดจ ากการประมวลผลแลวนั้นมายังเว็บบราวเซอรของไคลเอ็นท แลวแสดงผลใหเห็นเปนรูปราง ของเว็บไซต และเมอื่ ดูซอรสโคด (Source Code) ในฝงไคลเอน็ ท จะเห็นเฉพาะ HTML tags ของภาษา HTML เพียงอยางเดียว ไมเห็นสคริปต PHP สามารถสรุปขนั้ ตอนและหลักการทํางานระหวางไคลเอ็นท และเว็บเซิรฟเวอร ไดดงั ตอ ไปนี้

1.4.1 เว็บเซิรฟเวอร คือ โปรแกรมท่ีอยูและทํางานบนเคร่ืองฝงเซิรฟเวอร ทําหนาที่ในการรับ คาํ สั่งจากการรองขอของไคลเอ็นท (โดยผูใชจะเรียกชมหนาเว็บเพจไดโ ดยใชโปรโตคอล HTTP ผานทาง เว็บบราวเซอร) และประมวลผลการทํางานจากการรองขอดังกลาว แลวสงขอมูลกลับไปยังเครื่องของ ไคลเอ็นทท รี่ อ งขอ โดยสรปุ คอื เวบ็ เซิรฟ เวอรจ ะคอยใหบ รกิ ารแก ไคลเอ็นท ทีร่ องขอขอ มลู เขามาโดยผาน เว็บบราวเซอร หรือ จากการรองขอผานโปรโตคอล HTTP โดยเว็บเพจท่ีเขียนก็สามารถเขียนไดหลาย ภาษา หลายรปู แบบ การเขยี นสครปิ ต PHP ระบบจะสามารถทาํ งานไดน้ันจาํ เปนตอ งมเี ว็บเซริ ฟเวอร เปน ตัวเรียกใชงาน Engine ของภาษา PHP ดังนั้นถาตองการใหคอมพิวเตอรสามารถประมวลผลและ แปลภาษา PHP ไดน้ัน จําเปนตองมีเว็บเซิรฟเวอรหรือกรณีศึกษาน้ีสามารถจําลองเคร่ืองคอมพิวเตอร ธรรมดาใหทําหนา ทเ่ี ปนเวบ็ เซริ ฟ เวอร (วิธกี ารตดิ ตง้ั สามารถศึกษาเพ่ิมเติมไดใ นภาคผนวก) รวมถึงรูปแบบ

ปรญิ ญา นอ ยดอนไพร || การเขียนโปรแกรมบนเวบ็ ดว ย PHP รวมกับฐานขอมูล MySQL

4 บทที่ 1 บทนาํ

และวิธีการ เขาถงึ ขอ มลู จะเรียกใชผานบริการจากโปรโตคอล HTTP เพื่อใหผูใชสามารถอานขอมลู ภาพ เสียง หรือขอ มูลอ่นื ๆ ตามตอ งการ

1.4.2 หลักการทํางานของเว็บเซิรฟเวอร มีลักษณะเชนเดียวกันกับบริการอ่ืนๆ บนระบบ อินเทอรเน็ต (Internet) คือ อยูในรูปแบบไคลเอ็นท-เซิรฟเวอร (Client-Server) โดยมีโปรแกรมเว็บ ไคลเอ็นท (Web Client) ทําหนาท่ีเปนผูรองขอบริการ และมโี ปรแกรมเว็บเซริ ฟเวอร ทําหนาที่เปนผู ใหบริการ โปรแกรมเว็บไคลเอ็นท ก็คือโปรแกรมเว็บบราวเซอรในเคร่ืองของผูใช สําหรับโปรแกรมเว็บ เซริ ฟเวอรน้นั จะถกู ติดต้ังไวใ นเครอื่ งของผูใหบริการเว็บไซต (มกั เรียกเคร่ืองคอมพิวเตอรทีต่ ิดต้ังโปรแกรม เว็บเซิรฟเวอรเพ่ือใหบริการวา "เว็บเซิรฟเวอร") การติดตอระหวางโปรแกรมเว็บบราวเซอรกับโปรแกรม เว็บเซริ ฟ เวอรจะกระทําผานโปรโตคอล HTTP ดังภาพที่ 1.2

รองขอบรกิ าร

โปรโตคอล HTTP

เวบ็ ไคลเอ็นท ใหบ รกิ าร เวบ็ เซริ ฟเวอร

ภาพท่ี 1.2 รูปแบบการติดตอสอ่ื สารระหวางเว็บไคลเอน็ ทและเว็บเซิรฟเวอรผา นโปรโตคอล HTTP

1.4.3 กลไกการทํางานเม่ือรองขอเว็บเพจธรรมดา โดยปกติจะมีนามสกุลของเอกสารเปน .htm หรอื .html น้ัน เมือ่ ใชเว็บไคลเอน็ ท เปดดูหรือเรียกดูเว็บเพจใด เว็บเซริ ฟเวอรก็จะสงเว็บเพจนั้นกลับมา ยงั เวบ็ ไคลเอ็นท จากน้ันเว็บไคลเอ็นทจ ะแสดงผลตามคําสง่ั ภาษา HTML ทอี่ ยใู นเอกสารนนั้ ๆ

 รองขอเว็บเพจ

เวบ็ ไคลเอ็นท  สง เวบ็ เพจท่รี องขอ เว็บเซิรฟ เวอร

ภาพที่ 1.3 รูปแบบการติดตอสื่อสารระหวางเว็บไคลเอ็นทและเว็บเซิรฟเวอรเพ่ือเรยี กเว็บเพจธรรมดา

จะเห็นไดวาเว็บเพจ จากภาพที่ 1.3 เปนเว็บเพจแบบคงที่ กลาวคือผูใชจะพบกับเว็บเพจหนาตา เดิมๆ ทุกครั้ง จนกวาผูดูแลเว็บจะทําการปรับปรุงเว็บเพจนั้นใหม ภาษา HTML เปนภาษาท่ีใชอธิบาย หนาตาของเว็บเพจ (ภาษา HTML จัดเปนภาษาในกลุมที่เรียกวา page description language) หรือ กลาวอีกนัยหน่ึงคือ ภาษา HTML สามารถกําหนดใหเว็บเพจมหี นาตาอยางท่ตี องการได ในปจจุบันมีการ พฒั นาโปรแกรมท่ีใชในการจดั การเวบ็ เพจ ใหมีความนาสนใจมากยิง่ ข้นึ

ปรญิ ญา นอ ยดอนไพร || การเขยี นโปรแกรมบนเว็บดว ย PHP รวมกบั ฐานขอ มลู MySQL

บทที่ 1 บทนาํ 5

1.4.4 กลไกการทํางานเม่ือรองขอเว็บเพจที่ใชภาษา PHP จะมีรูปแบบการประมวลผลและ แสดงผลเปน แบบไดนามกิ เวบ็ เพจ สามารถติดตอกับผูใช ฐานขอ มลู คาํ นวณ และประมวลผลตามเงอื่ นไข ตางๆ ได ลักษณะการประมวลผล ดงั ภาพท่ี 1.4

เว็บไคลเอน็ ท  รองขอไฟล PHP  เรยี กใช Engine ของภาษา PHP เพือ่ ประมวลผลไฟล PHP    สงผลลพั ธเ ปน HTML กลบั ไปยังเว็บไคลเอน็ ท เวบ็ เซริ ฟ เวอร  ตดิ ตอ กับฐานขอ มลู (ถามี)

ฐานขอมลู

ภาพท่ี 1.4 การรองขอการใชง านจากเว็บไคลเอน็ ทไปยงั เว็บเซิรฟ เวอรทีไ่ ดต ดิ ต้ัง Engine ของภาษา PHP

Toplist

โพสต์ล่าสุด

แท็ก

ไทยแปลอังกฤษ แปลภาษาไทย ห่อหมกฮวกไปฝากป้าmv โปรแกรม-แปล-ภาษา-อังกฤษ พร้อม-คำ-อ่าน แปลภาษาอาหรับ-ไทย Terjemahan ข้อสอบคณิตศาสตร์ พร้อมเฉลย แปลภาษาอังกฤษเป็นไทย pantip ศัพท์ทางทหาร military words แอพแปลภาษาอาหรับเป็นไทย การ์ดแคปเตอร์ซากุระ ภาค 4 พจนานุกรมศัพท์ทหาร ศัพท์ทหาร ภาษาอังกฤษ pdf ห่อหมกฮวกไปฝากป้า หนังเต็มเรื่อง ไทยแปลอังกฤษ ประโยค lmyour แปลภาษา การ์ดแคปเตอร์ซากุระ ภาค 3 ประปาไม่ไหล วันนี้ ฝยก. ย่อมาจาก หยน ห่อหมกฮวก แปลว่า เมอร์ซี่ อาร์สยาม ล่าสุด แปลภาษาจีน ่้แปลภาษา onet ม3 การ์ดแคปเตอร์ซากุระ ภาค 1 ข้อสอบโอเน็ต ม.3 ออกเรื่องอะไรบ้าง ตตตตลก บบบย ห่อหมกฮวกไปฝากป้า คาราโอเกะ เขียน อาหรับ แปลไทย เนื้อเพลง ห่อหมกฮวก แปลไทย asus zenfone 2e กรมส่งเสริมการปกครองท้องถิ่น การประปานครหลวง ก่อนจะนิ่งก็ต้องกลิ้งมาก่อน เนื้อเพลง ข้อสอบภาษาอังกฤษ ม.ปลาย พร้อมเฉลย คะแนน o-net โรงเรียน ชขภใ ชื่อเต็ม ร.9 คําอ่าน ตัวอย่าง flowchart ขั้นตอนการทํางาน นยน. ย่อมาจาก ทหาร บทที่ 1 ที่มาและความสําคัญของปัญหา ฝสธ. ย่อมาจาก มัดหัวใจเจ้าชายเย็นชา 2 ซับไทย มัดหัวใจเจ้าชายเย็นชา 2 เต็มเรื่อง ยศทหารบก เรียงลําดับ ระเบียบกระทรวงการคลังว่าด้วยการจัดซื้อจัดจ้างและการบริหารพัสดุภาครัฐ พ.ศ. 2560 รัชกาลที่ 10 ห่อหมกฮวกไปฝากป้า คอร์ด