Dynamic web 9

2,591 views

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,591
On SlideShare
0
From Embeds
0
Number of Embeds
930
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Dynamic web 9

  1. 1. Хичээлийн нэр: Динамик вэб програмчлал Хичээлийн төрөл: Лекц /№ 9 / Багшийн нэр: Г.Өсөхжаргал Динамик форм
  2. 2. Хичээлийн агуулга <ul><li>Формын утгыг баталгаажуулах </li></ul><ul><li>HTTP Authentication </li></ul><ul><li>PHP Filter </li></ul><ul><li>E-mail </li></ul><ul><li>File Upload </li></ul>
  3. 3. Формын тухай <ul><li>Вэб сайт хийхэд хамгийн чухал зүйл буюу хэрэглэгчидтэй харьцах гол хэрэгсэл бол форм юм. </li></ul><ul><li>Форм нь зөв бүтэцтэй болон хэрэглэгчид ойлгомжтой дизайнтай байх тусмаа үр дүнгээ өгдөг. </li></ul><ul><li>PHP хэл дээр динамик вэб сайт хийж байгаа тохиолдолд формыг динамик байдлаар ашиглах шаардлага гардаг. </li></ul><ul><li>Формыг динамик болгоно гэдэг нь HTML хэлний <form> таг болон түүний элемэнтүүдийг PHP хэлтэй хольж ашиглах юм. </li></ul>
  4. 4. Форм үүсгэх HTML код <ul><ul><li><html> </li></ul></ul><ul><ul><li><body> </li></ul></ul><ul><ul><li><form action=&quot;welcome.php&quot; method=&quot;post&quot;> </li></ul></ul><ul><ul><li>Нэр: <input type=&quot;text&quot; name=&quot;name&quot; /> </li></ul></ul><ul><ul><li>Нас: <input type=&quot;text&quot; name=&quot;age&quot; /> </li></ul></ul><ul><ul><li><input type=&quot;submit&quot; value=“ Өгөгдлийн илгээ ” /> </li></ul></ul><ul><ul><li></form> </li></ul></ul><ul><ul><li></body> </li></ul></ul><ul><ul><li></html> </li></ul></ul>
  5. 5. Форм үүсгэх HTML код <ul><ul><li><html> </li></ul></ul><ul><ul><li><body> </li></ul></ul><ul><ul><li><?PHP </li></ul></ul><ul><ul><li><form action=&quot;welcome.php&quot; method=&quot;post&quot;> </li></ul></ul><ul><ul><li>Нэр: <input type=&quot;text&quot; name=&quot;name&quot; /> </li></ul></ul><ul><ul><li>Нас: <input type=&quot;text&quot; name=&quot;age&quot; /> </li></ul></ul><ul><ul><li><input type=&quot;submit&quot; value=“ Өгөгдлийн илгээ ” /> </li></ul></ul><ul><ul><li></form> </li></ul></ul><ul><ul><li>?> </li></ul></ul><ul><ul><li></body> </li></ul></ul><ul><ul><li></html> </li></ul></ul>
  6. 6. Формын атрибут <ul><li>Формд утгуудыг бичээд түүнийгээ сервэрлүү илгээх үйл явцыг submit хийх буюу баталгаажуулах гэдэг. Submit хийхэд формын </li></ul><ul><li>action атрибут дахь утга нь форм submit хийгдээд ямар хуудасруу шилжихийг тодорхойлно. </li></ul><ul><li>method атрибут нь форм submit хийгдэх төрлийг тодорхойлно. </li></ul>
  7. 7. Формын submit хийгдэх төрөл <ul><li>post – форм POST методоор submit хийгдэх ба формын элемэнтүүдийн утга нь $_POST гэсэн PHP хэлний глобал хувьсагчид хадгалагдана. </li></ul><ul><li>get - форм GET методоор submit хийгдэх ба формын элемэнтүүдийн утга нь $_GET гэсэн PHP хэлний глобал хувьсагчид хадгалагдана. </li></ul>
  8. 8. GET методтой форм <ul><li>$_GET хувьсагч нь HTTP GET методоор илгээх хувьсагчийн нэрс болон утгуудын массив юм. </li></ul><ul><li>$_GET хувьсагч нь method=&quot;get&quot; утгатай формоос утга цуглуулахад ашиглагдана. </li></ul><ul><li>GET методтой формоос илгээгдэх мэдээлэл нь браузерын хаягийн мөр дээр хүн бүрт харагдах ба илгээгдэх мэдээллийн хэмжээ нь 100 тэмдэгтээр хязгаарлагддаг. </li></ul>
  9. 9. GET методтой форм <ul><li>Php_test.php </li></ul><ul><li><form action=&quot;welcome.php&quot; method=&quot;get&quot;> </li></ul><ul><li>Нэр:<input type=&quot;text&quot; name=&quot;name&quot;/> </li></ul><ul><li>Нас:<input type=&quot;text&quot; name=&quot;age&quot;/> </li></ul><ul><li><input type=&quot;submit&quot; value=“ Өгөгдлийг илгээ ”/> </li></ul><ul><li></form> </li></ul><ul><li>Welcome.php </li></ul><ul><li>Welcome <?php echo $_GET[&quot;name&quot;]; ?>. <br /> </li></ul><ul><li>You are <?php echo $_GET[&quot;age&quot;]; ?> years old! </li></ul>
  10. 10. GET методтой форм <ul><li>http://localhost/php_test.php/welcome.php?name=Bat&age=20 </li></ul><ul><li>Welcome.php файл нь формын өгөгдлүүдийг барих $_GET хувьсагчийг ашигласан болно. </li></ul><ul><li> $_GET хувьсагчийг ашиглахд бүх хувьсагчийн нэр болон утгууд нь URL дээр харагддаг тул нууц үг болон бусад чухал мэдээллийг илгээхдээ ашиглаж болохгүй. Бусад тохиолдолд ашиглаж болно. </li></ul>
  11. 11. POST методтой форм <ul><li>$_POST хувьсагч нь HTTP POST методоор илгээх хувьсагчийн нэрс болон утгуудын массив юм. </li></ul><ul><li>$_POST хувьсагч нь method=“post&quot; утгатай формоос утга цуглуулахад ашиглагдана. </li></ul><ul><li>POST методтой формоос илгээгдэх мэдээлэл нь бусдад харагдахгүй ба илгээгдэх мэдээллийн хэмжээ хязгаарлагддаггүй. </li></ul>
  12. 12. POST методтой форм <ul><li>Php_test.php </li></ul><ul><li><form action=&quot;welcome.php&quot; method=“post&quot;> </li></ul><ul><li>Нэр:<input type=&quot;text&quot; name=&quot;name&quot;/> </li></ul><ul><li>Нас:<input type=&quot;text&quot; name=&quot;age&quot;/> </li></ul><ul><li><input type=&quot;submit“ value=“ Өгөгдлийг илгээ ” /> </li></ul><ul><li></form> </li></ul><ul><li>Welcome.php </li></ul><ul><li>Welcome <?php echo $_POST[&quot;name&quot;]; ?>. <br /> </li></ul><ul><li>You are <?php echo $_POST[&quot;age&quot;]; ?> years old! </li></ul>
  13. 13. POST методтой форм <ul><li>http://localhost/php_test.php/welcome.php </li></ul><ul><li>Welcome.php файл нь формын өгөгдлүүдийг барих $_POST хувьсагчийг ашигласан болно. </li></ul><ul><li>$_POST массивын индекс нь формын талбарын нэр байх болно. </li></ul>
  14. 14. $_REQUEST хувьсагч <ul><li>$_REQUEST хувьсагч нь $_GET, $_POST хувьсагчдыг агуулах ба GET болон POST методтой формуудын аль алинаас илгээсэн өгөгдлийн үр дүнг авахад ашиглаж болно. </li></ul><ul><li>Welcome<?php echo $_REQUEST[&quot;name&quot;]; ?>. </li></ul><ul><li><br /> </li></ul><ul><li>You are <?php echo $_REQUEST[&quot;age&quot;]; ?> years old! </li></ul>
  15. 15. Сервэр хувьсагч <ul><li>$_SERVER хувьсагч нь super global нийлмэл массив бөгөөд энэ хувьсагч нь </li></ul><ul><li>тухайн вэб сайтын сервэр талын мэдээллүүд </li></ul><ul><li>URL буюу вэб браузер дээр гарч байгаа хаягтай холбоотой утгууд </li></ul><ul><li>Клиент браузеруудын тухай мэдээллүүд гэх мэт чухал утгуудыг хадгална. </li></ul>
  16. 16. Сервэр хувьсагч <ul><li>Сервэрийн талаарх бүх мэдээллийг авах </li></ul><ul><li>foreach($_SERVER as $key=>$value) </li></ul><ul><li>{ </li></ul><ul><li>echo '$_SERVER[&quot;'.$key.'&quot;]='.$value; </li></ul><ul><li>echo &quot;<br/>&quot;; </li></ul><ul><li>} </li></ul>
  17. 17. Сервэр хувьсагч <ul><li>$_SERVER[&quot;SystemRoot&quot;]=C:WINDOWS $_SERVER[&quot;COMSPEC&quot;]=C:WINDOWSsystem32cmd.exe $_SERVER[&quot;PATHEXT&quot;]=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH $_SERVER[&quot;WINDIR&quot;]=C:WINDOWS $_SERVER[&quot;SERVER_SIGNATURE&quot;]= $_SERVER[&quot;SERVER_SOFTWARE&quot;]=Apache/2.2.11 (Win32) PHP/5.2.8 $_SERVER[&quot;SERVER_NAME&quot;]=localhost $_SERVER[&quot;SERVER_ADDR&quot;]=127.0.0.1 $_SERVER[&quot;SERVER_PORT&quot;]=80 $_SERVER[&quot;REMOTE_ADDR&quot;]=127.0.0.1 $_SERVER[&quot;DOCUMENT_ROOT&quot;]=C:/WebServer/htdocs $_SERVER[&quot;SERVER_ADMIN&quot;]=admin@admin.net $_SERVER[&quot;SCRIPT_FILENAME&quot;]=C:/WebServer/htdocs/php_test.php </li></ul>
  18. 18. Ашигтай функцууд <ul><li>header( тэмдэгт мөр ) </li></ul><ul><li>вэб браузерлуу HTTP толгой хэсгийг илгээнэ </li></ul><ul><li>header_sent() </li></ul><ul><li>HTTP толгой хэсэг вэб браузераар дамжсан эсэхийг шалгана. </li></ul><ul><li>isset( хувьсагч ) </li></ul><ul><li>Хувьсагчид утга олгогдсон эсэхийг шалгана </li></ul>
  19. 19. HTTP authentication <ul><li>Мэдээллийн технологт authentication, authorization гэсэн ойголтууд байдаг ба эдгээр нь хэрэглэгчийг таньж зөвшөөрөх, шалган нэвтрүүлэхтэй холбоотой үгнүүд юм. </li></ul><ul><li>Authentication – тухайн хэрэглэчийг таньж зөвшөөрөх буюу тухайн хэрэглэгч тухайн веб сайтын хэрэглэгч мөн үү гэдгийг шалгаж таних үйлдэл юм. </li></ul><ul><li>Authorization – тухайн хэрэглэгч вэб сайтын тухайн хэсэгт нэвтрэх эрхтэй юу гэдгийг шалгах арга зам юм. </li></ul>
  20. 20. HTTP authentication <ul><li>Authentication буюу хэрэглэгч мөн эсэхийг шалгахдаа </li></ul><ul><li>$_SERVER['PHP_AUTH_USER'] </li></ul><ul><li>$_SERVER['PHP_AUTH_PW'] гэсэн урьдчилан тодорхойлогдсон хоёр хувьсагчийг ашиглана. </li></ul><ul><li>Эдгээр хувьсагчид нь харгалзан хэрэглэгчийн нэр болон нууц үгийг хадгална. </li></ul>
  21. 21. HTTP authentication <ul><li><?php </li></ul><ul><li>if (! isset($_SERVER['PHP_AUTH_USER']) || ! isset($_SERVER['PHP_AUTH_PW'])) { </li></ul><ul><li>header('WWW-Authenticate: Basic Realm=&quot;Authentication&quot;'); </li></ul><ul><li>header(&quot;HTTP/1.1 401 Unauthorized&quot;); </li></ul><ul><li>} else { </li></ul><ul><li>echo &quot;Your supplied username: &quot;.$_SERVER['PHP_AUTH_USER'].&quot;<br />&quot;; </li></ul><ul><li>echo &quot;Your password: &quot;.$_SERVER['PHP_AUTH_PW'].&quot;<br />&quot;; </li></ul><ul><li>} </li></ul><ul><li>?> </li></ul>
  22. 22. PHP Filters / Шүүлтүүрүүд / <ul><li>PHP шүүлтүүр нь аюултай эсвэл найдваргүй эх сурвалжаас ирэх өгөгдлийг шүүж баталгаажуулахад ашиглагдана. </li></ul><ul><li>Аливаа вэб програмуудын хувьд хэрэглэгчийн оруулсан өгөгдлийг шүүж баталгаажуулах нь чухал юм. </li></ul><ul><li>PHP шүүлтүүр нь өгөгдөл шүүлтийг хялбар хурдан хийхээр зохиогдсон байдаг. </li></ul>
  23. 23. PHP Filter <ul><li>Бараг бүх вэб програмуудад өгөгдлийн гадаад оролт шаардагддаг. Тиймээс бүх гадаад өгөгдөлд filter ашиглах ёстой. Гадаад өгөгдөлүүд: </li></ul><ul><li>Формоос оруулж байгаа өгөгдөл </li></ul><ul><li>Cookie </li></ul><ul><li>Вэб үйлчилгээний өгөгдлүүд </li></ul><ul><li>Сервэр хувьсагчид </li></ul><ul><li>Өгөгдлийн сангийн query үр дүнгүүд </li></ul><ul><li>Ингэж filter ашигласнаар таны вэб зөв өгөгдөл авсан гэдэгт итгэлтэй байж болно. </li></ul>
  24. 24. Filter функцууд <ul><li>filter_var() – тодорхойлогдсон шүүлтүүртэй нэр хувьсагчийг шүүнэ. </li></ul><ul><li>filter_var_array() – ижил эсвэл ялгаатай шүүлтүүртэй хэд хэдэн хувьсагчийг шүүнэ. </li></ul><ul><li>filter_input – нэг өгөгдөл оруулах хувьсагчийг авах ба түүхийг шүүнэ. </li></ul><ul><li>filter_input_array – хэд хэдэн оруулах хувьсагчийг авах ба ижил эсвэл ялгаатай шүүлтүүртэй тэдгээрийг шүүнэ. </li></ul>
  25. 25. Filter функцууд <ul><li><?php </li></ul><ul><li>$int = 123; </li></ul><ul><li>if(!filter_var($int,FILTER_VALIDATE_INT)) </li></ul><ul><li> echo(&quot;Integer is not valid&quot;); </li></ul><ul><li>else </li></ul><ul><li> echo(&quot;Integer is valid&quot;); </li></ul><ul><li>?> </li></ul>
  26. 26. Filter функцууд <ul><li><?php </li></ul><ul><li>$var=300; </li></ul><ul><li>$int_options = array( </li></ul><ul><li>&quot;options&quot;=>array </li></ul><ul><li> ( </li></ul><ul><li> &quot;min_range&quot;=>0, </li></ul><ul><li> &quot;max_range&quot;=>256 </li></ul><ul><li> ) </li></ul><ul><li>); </li></ul><ul><li>if(!filter_var($var, FILTER_VALIDATE_INT, $int_options)) </li></ul><ul><li>echo(&quot;Integer is not valid&quot;); </li></ul><ul><li>else </li></ul><ul><li>echo(&quot;Integer is valid&quot;); ?> </li></ul>
  27. 27. PHP Filter <ul><li>Дараах хоёр төрлийн filter байдаг. </li></ul><ul><li>Баталгаажуулах </li></ul><ul><ul><li>Хэрэглэгчийн оруулсан утгыг баталгаажуулахад ашиглагдана </li></ul></ul><ul><ul><li>Тодорхой хэлбэрийн дүрмүүдтэй </li></ul></ul><ul><ul><li>Амжилттай эсвэл амжилтгүй болсон талаар утга буцаана. </li></ul></ul><ul><li>Цуцлах </li></ul><ul><ul><li>Тэмдэгт мөр дэх тусгай тэмдэгтүүдийг зөвшөөрөх, эс зөвшөөрөхөд ашиглагдана. </li></ul></ul><ul><ul><li>Тодорхой хэлбэрийн дүрэмгүй </li></ul></ul><ul><ul><li>Үргэлж тэмдэгт мөр буцаана. </li></ul></ul>
  28. 28. PHP Filter <ul><li>Жишээ1 : формд оруулсан өгөгдлийн GET метод ашиглан илгээхэд </li></ul><ul><li>email нь GET төрлийнх мөн эсэхийг шалгана. </li></ul><ul><li>Мөн байвал утга нь E-mail хаяг мөн эсэхийг шалгана. </li></ul><ul><li><?php </li></ul><ul><li>if(!filter_has_var(INPUT_GET, &quot;email&quot;)) </li></ul><ul><ul><li>echo(&quot;Input type does not exist&quot;); </li></ul></ul><ul><li>e lse </li></ul><ul><li>{ </li></ul><ul><li>if (!filter_input(INPUT_GET,&quot;email&quot;,FILTER_VALIDATE_EMAIL)) </li></ul><ul><li> echo &quot;E-Mail is not valid&quot;; </li></ul><ul><li>else </li></ul><ul><li> echo &quot;E-Mail is valid&quot;; </li></ul><ul><li>} </li></ul><ul><li>? > </li></ul>
  29. 29. PHP Filter <ul><li>Жишээ 2 : формд оруулсан өгөгдлийн POST метод ашиглан илгээхэд </li></ul><ul><li>url нь POST төрлийнх мөн эсэхийг шалгана. </li></ul><ul><li>Мөн байвал утгыг нь цэвэрлээд $url хувьсагчид хадгална. </li></ul><ul><li><?php </li></ul><ul><li>if(!filter_has_var(INPUT_POST, &quot;url&quot;)) </li></ul><ul><li>echo(&quot;Input type does not exist&quot;); </li></ul><ul><li>else </li></ul><ul><li>{ </li></ul><ul><li>$url = </li></ul><ul><li>filter_input(INPUT_POST,&quot;url&quot;,FILTER_SANITIZE_URL); </li></ul><ul><li>} </li></ul><ul><li>?> </li></ul><ul><li>Оруулсан нь : &quot;http://www.W3ååYahøøoo.com/&quot; </li></ul><ul><li>Цэвэрлэсэн нь: &quot;http://www.Yahoo.com/&quot; </li></ul>
  30. 30. E-Mail илгээх <ul><li>Аливаа вэб сайтын нэг чухал хэсэг нь холбоо барих хэсэг байдаг. </li></ul><ul><li>Вэб сайтын холбоо барих хэсэгт тухайн байгууллага хувь хүний хаяг байхаас гадна e-mail илгээх форм байдаг. </li></ul><ul><li>E-mail илгээх формыг HTML хэл ашиглан үүсгэх ба харин илгээх үйлдлийг PHP хэлний mail() функцийг ашиглан гүйцэтгэнэ. </li></ul>
  31. 31. E-Mail илгээх <ul><li>mail(to,subject,message,headers) </li></ul><ul><li>Энэ функц нь SMTP протоколоор мейл илгээх үүрэгтэй бөгөөд мейл илгээгдсэн тохиололд true, илгээгдээгүй тохиололд false утга буцаана. </li></ul>параметр тайлбар to E-mail хүлээн авагчдийг тодорхойлно. subject E-mail -ийн гарчигмйг тодорхойлно. message Илгээх мессежээ тодорхойлно. headers Нэмэлт толгойн хэсэг болох From, Cc, Bcc зэргийг тодорхойлно.
  32. 32. E-Mail илгээх <ul><li><?php </li></ul><ul><li>$to = “yyyy@example.com&quot;; </li></ul><ul><li>$subject = &quot;Test mail&quot;; </li></ul><ul><li>$message=&quot;This is a simple email message.&quot;; </li></ul><ul><li>$from = “ubu.usukhuu@yahoo.com&quot;; </li></ul><ul><li>$headers = &quot;From: $from&quot;; mail($to,$subject,$message,$headers); </li></ul><ul><li>echo &quot;Mail Sent.&quot;; </li></ul><ul><li>?> </li></ul>
  33. 33. E-Mail форм <ul><li><html> </li></ul><ul><li><body> </li></ul><ul><li><?php </li></ul><ul><li>if (isset($_REQUEST['email'])) </li></ul><ul><li>{ </li></ul><ul><li>$email = $_REQUEST['email'] ; </li></ul><ul><li>$subject = $_REQUEST['subject'] ; </li></ul><ul><li>$message = $_REQUEST['message'] ; </li></ul><ul><li>mail(&quot;someone@example.com&quot;,&quot;Subject: $subject&quot;, $message, &quot;From: $email&quot; ); </li></ul><ul><li>echo &quot;Thank you for using our mail form&quot;; </li></ul><ul><li>} </li></ul>
  34. 34. E-Mail форм <ul><li>else </li></ul><ul><li>{ </li></ul><ul><li>echo &quot;<form method='post' action='mailform.php'> </li></ul><ul><li>Email: <input name='email' type='text'/><br /> </li></ul><ul><li>Subject: <input name='subject' type='text'/><br/> </li></ul><ul><li>Message:<br/><textarea name='message‘ rows='15‘ cols='40'> </li></ul><ul><li></textarea><br /> </li></ul><ul><li><input type='submit' /> </li></ul><ul><li></form>&quot;; </li></ul><ul><li>} </li></ul><ul><li>?> </li></ul><ul><li></body> </li></ul><ul><li></html> </li></ul>
  35. 35. E-Mail форм
  36. 36. E-Mail -ийн аюулгүй байдлыг хангах / PHP E-mail тарилга / <ul><li>Дээрх кодын асуудал нь оруулах талбарт зөвшөөрөгдөөгүй хэрэглэгчдийн өгөгдлийг оруулж болоход оршино. Өөрөөр хэлбэл формын e-mail оруулах талбарт дараах утгуудыг оруулахад юу болох вэ? </li></ul><ul><li>someone@example.com%0ACc:person2@example.com%0ABcc:person3@example.com,person3@example.com,anotherperson4@example.com,person5@example.com %0ABTo:person6@example.com </li></ul><ul><li>Хэрэглэгч өгөгдлийг илгээх товчийг дарахад mail() функц To, CC, Bc гэсэн талбаруудад бичигдсэн дээрх бүх хаягруу тухайн e-mail- ыг илгээнэ. </li></ul>
  37. 37. E-Mail -ийн аюулгүй байдлыг хангах / PHP E-mail тарилгыг зогсоох / <ul><li>E-mail тарилгыг зогсоох хамгийн сайн арга нь оруулах өгөгдлийг баталгаажуулах юм. </li></ul><ul><li>Үүний тулд оруулсан өгөгдлийг баталгаажуулах дараах PHP шүүлтүрийг ашиглана. </li></ul><ul><ul><li>FILTER_SANITIZE_EMAIL – тэмдэгт мөрөөс хориотой, хууль бус бүх e-mail тэмдэгтүүдийг устгадаг шүүлтүүр </li></ul></ul><ul><ul><li>FILTER_VALIDATE_EMAIL – e-mail хаяг шиг утгыг баталгаажуулдаг шүүлтүүр </li></ul></ul>
  38. 38. E-Mail -ийн аюулгүй байдлыг хангах / PHP E-mail тарилгыг зогсоох / <ul><li><html> </li></ul><ul><li><body> </li></ul><ul><li><?php </li></ul><ul><li>function spamcheck($field){ $field=filter_var($field,FILTER_SANITIZE_EMAIL); if(filter_var($field,FILTER_VALIDATE_EMAIL)) </li></ul><ul><li>{ </li></ul><ul><li>return TRUE; </li></ul><ul><li>} </li></ul><ul><li>else </li></ul><ul><li>{ </li></ul><ul><li>return FALSE; </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  39. 39. E-Mail -ийн аюулгүй байдлыг хангах / PHP E-mail тарилгыг зогсоох / <ul><li>if (isset($_REQUEST['email'])){ </li></ul><ul><li>// хэрвээ &quot;email“ нь бөглөгдсөн байвал e-mail хаяг мөн сэхийг шалгана. </li></ul><ul><li>$mailcheck = spamcheck($_REQUEST['email']); </li></ul><ul><li>if($mailcheck==FALSE){ </li></ul><ul><li>echo &quot;Invalid input&quot;;} </li></ul><ul><li>else{// email илгээнэ </li></ul><ul><li>$email = $_REQUEST['email'] ; </li></ul><ul><li>$subject = $_REQUEST['subject']; </li></ul><ul><li>$message=$_REQUEST['message'] ; mail(&quot;someone@example.com&quot;, &quot;Subject: $subject&quot;, $message, &quot;From: $email&quot; ); </li></ul><ul><li>echo &quot;Thank you for using our mail form&quot;; </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  40. 40. E-Mail -ийн аюулгүй байдлыг хангах / PHP E-mail тарилгыг зогсоох / <ul><li>else { </li></ul><ul><li>// &quot;email&quot; бөглөгдөөгүй бол формыг харуулна </li></ul><ul><li>echo &quot;<form method='post'action='mailform.php'> </li></ul><ul><li>Email: <input name='email' type='text' /><br /> Subject: <input name='subject' type='text' /><br /> Message:<br /> <textarea name='message' rows='15' cols='40'> </textarea><br /> </li></ul><ul><li><input type='submit' /> </li></ul><ul><li></form>&quot;; } </li></ul><ul><li>?> </li></ul><ul><li></body> </li></ul><ul><li></html> </li></ul>
  41. 41. Файл upload хийх форм үүсгэх <ul><li><form action=&quot;upload_file.php&quot; method=&quot;post&quot; </li></ul><ul><li>enctype=&quot;multipart/form-data&quot;> </li></ul><ul><li><label for=&quot;file&quot;>Filename:</label> </li></ul><ul><li><input type=&quot;file&quot; name=&quot;file&quot; id=&quot;file&quot; value=“ Зааж өг... ” /> </li></ul><ul><li><br /> </li></ul><ul><li><input type=&quot;submit&quot; name=&quot;submit&quot; value=&quot;Submit&quot; /> </li></ul><ul><li></form> </li></ul>
  42. 42. Файл upload хийх
  43. 43. Файл upload хийх форм <ul><li>Формын enctype атрибут нь тухайн формыг илгээхэд ашиглах агуулгын төрлийг тодорхойлдог. Файлыг upload хийхийн тулд энэ атрибутад &quot;multipart/form-data&quot; утгыг тодорхойлж өгнө. </li></ul><ul><li>Input тагийн type атрибут нь “ file ” утгыг тодорхойлж өгнө. </li></ul>
  44. 44. Файл upload хийх <ul><li>Хэрэглэгчээс сервэрлүү ямар нэг файл илгээхийг upload хийх гэнэ. </li></ul><ul><li>Файл upload хийхдээ $_FILES гэсэн global массивыг ашиглах ба формоос ирж байгаа утгууд нь $_FILES массивт хадгалагдана. </li></ul><ul><li>$_FILES[&quot;file&quot;][&quot;name&quot;] – upload хийсэн файлын нэр </li></ul><ul><li>$_FILES[&quot;file&quot;][&quot;type&quot;] – upload хийсэн файлын төрөл </li></ul><ul><li>$_FILES[&quot;file&quot;][&quot;size&quot;] – upload хийсэн файлын байт хэмжээ </li></ul><ul><li>$_FILES[&quot;file&quot;][&quot;tmp_name&quot;] – сервэр дээр хадгалагдсан файлын temporary /зуурын/ хуулбарын нэр </li></ul><ul><li>$_FILES[&quot;file&quot;][&quot;error&quot;] – файл upload хийхэд ирсэн үр лүн болох алдааны код </li></ul>
  45. 45. Файл upload хийх код upload_file.php <ul><li><?php </li></ul><ul><li>if ($_FILES[&quot;file&quot;][&quot;error&quot;] > 0) </li></ul><ul><li>{ </li></ul><ul><li> echo &quot;Error:&quot;.$_FILES[&quot;file&quot;][&quot;error&quot;].&quot;<br/>&quot;; </li></ul><ul><li>} </li></ul><ul><li>else </li></ul><ul><li>{ </li></ul><ul><li>echo &quot;Upload:&quot;.$_FILES[&quot;file&quot;][&quot;name&quot;].&quot;<br/>&quot;; </li></ul><ul><li> echo &quot;Type:&quot;. $_FILES[&quot;file&quot;][&quot;type&quot;].&quot;<br/>&quot;; </li></ul><ul><li> echo &quot;Size:&quot;.($_FILES[&quot;file&quot;][&quot;size&quot;]/1024).&quot;Kb<br/>&quot;; </li></ul><ul><li> echo &quot;Stored in:&quot;.$_FILES[&quot;file&quot;][&quot;tmp_name&quot;]; </li></ul><ul><li>} </li></ul><ul><li>?> </li></ul>
  46. 46. Файл upload хийх код Файлын төрөл .gif / .jpeg, хэмжээ нь 20 kb бага байх <ul><li><?php </li></ul><ul><li>if ((($_FILES[&quot;file&quot;][&quot;type&quot;] == &quot;image/gif&quot;)|| ($_FILES[&quot;file&quot;][&quot;type&quot;] == &quot;image/jpeg&quot;))&& ($_FILES[&quot;file&quot;][&quot;size&quot;] < 20000)) { </li></ul><ul><li>if ($_FILES[&quot;file&quot;][&quot;error&quot;] > 0) </li></ul><ul><li>echo &quot;Error: &quot; . $_FILES[&quot;file&quot;][&quot;error&quot;] . &quot;<br />&quot;; </li></ul><ul><li>else </li></ul><ul><li>{ </li></ul><ul><li>echo &quot;Upload: &quot; . $_FILES[&quot;file&quot;][&quot;name&quot;] . &quot;<br />&quot;; </li></ul><ul><li>echo &quot;Type: &quot; . $_FILES[&quot;file&quot;][&quot;type&quot;] . &quot;<br />&quot;; </li></ul><ul><li>echo &quot;Size: &quot; . ($_FILES[&quot;file&quot;][&quot;size&quot;] / 1024) . &quot; Kb<br />&quot;; </li></ul><ul><li>echo &quot;Stored in: &quot; . $_FILES[&quot;file&quot;][&quot;tmp_name&quot;]; </li></ul><ul><li>} </li></ul><ul><li>} </li></ul><ul><li>else </li></ul><ul><li>echo &quot;Invalid file&quot;; </li></ul><ul><li>?> </li></ul>
  47. 47. Upload хийсэн файлыг хадгалах <ul><li>Upload хийсэн файлыг хадгалах буюу шинэ байрлалруу зөөхдөө move_uploaded_file() функцийг ашиглана. </li></ul><ul><li>Энэ функц нь амжилттай болсон тохиолдолд үнэн, амжилтгүй тохиолдолд худал утга буцаана. </li></ul><ul><li>Бичигдэх хэлбэр: </li></ul><ul><li>move_uploaded_file(file,newlocation) </li></ul><ul><ul><li>file – зөөх файлыг тодорхойлно. </li></ul></ul><ul><ul><li>newlocation – тухайн файлын байрлалыг тодорхойлно. </li></ul></ul>
  48. 48. Файл upload хийх код upload хийсэн файлыг хадгалах <ul><li><?php </li></ul><ul><li>if ((($_FILES[&quot;file&quot;][&quot;type&quot;] == &quot;image/gif&quot;) </li></ul><ul><li>|| ($_FILES[&quot;file&quot;][&quot;type&quot;] == &quot;image/jpeg&quot;) </li></ul><ul><li>|| ($_FILES[&quot;file&quot;][&quot;type&quot;] == &quot;image/pjpeg&quot;)) </li></ul><ul><li>&& ($_FILES[&quot;file&quot;][&quot;size&quot;] < 20000)) { </li></ul><ul><li>if ($_FILES[&quot;file&quot;][&quot;error&quot;] > 0) </li></ul><ul><li>{ </li></ul><ul><li>echo &quot;Return Code: &quot; . $_FILES[&quot;file&quot;][&quot;error&quot;] . &quot;<br />&quot;; </li></ul><ul><li>} </li></ul><ul><li>else </li></ul><ul><li>{ </li></ul><ul><li>echo &quot;Upload: &quot; . $_FILES[&quot;file&quot;][&quot;name&quot;] . &quot;<br />&quot;; </li></ul><ul><li>echo &quot;Type: &quot; . $_FILES[&quot;file&quot;][&quot;type&quot;] . &quot;<br />&quot;; </li></ul><ul><li>echo &quot;Size: &quot; . ($_FILES[&quot;file&quot;][&quot;size&quot;] / 1024) . &quot; Kb<br />&quot;; </li></ul><ul><li>echo &quot;Temp file: &quot; . $_FILES[&quot;file&quot;][&quot;tmp_name&quot;] . &quot;<br />&quot;; </li></ul>
  49. 49. Файл upload хийх код upload хийсэн файлыг хадгалах <ul><li>if (file_exists(&quot;upload/&quot; . $_FILES[&quot;file&quot;][&quot;name&quot;])) </li></ul><ul><li>{ </li></ul><ul><li>echo $_FILES[&quot;file&quot;][&quot;name&quot;] . &quot; already exists. &quot;; </li></ul><ul><li>} </li></ul><ul><li>else </li></ul><ul><li>{ </li></ul><ul><li>move_uploaded_file($_FILES[&quot;file&quot;][&quot;tmp_name&quot;], </li></ul><ul><li>&quot;upload/&quot; . $_FILES[&quot;file&quot;][&quot;name&quot;]); </li></ul><ul><li>echo &quot;Stored in: &quot; . &quot;upload/&quot; . $_FILES[&quot;file&quot;][&quot;name&quot;]; </li></ul><ul><li>} </li></ul><ul><li>} </li></ul><ul><li>} </li></ul><ul><li>else </li></ul><ul><li>{ </li></ul><ul><li>echo &quot;Invalid file&quot;; </li></ul><ul><li>} </li></ul>

×