4/24/2555

การ Upload ไฟล์ .jpg ด้วย PHP

หากเราต้องการ Upload File รปุปภาพที่เป็นไฟล์ .jpg ขึ้นไปบน server เราสามารถทำได้โดยเขียนโปรแกรมภาษา PHP ดังนี้

1. สร้างฟอร์สำหรับ Upload ไฟล์ดังนี้

<!-- สร้างฟอร์ม submit ไฟล์ ไปที่ไฟล์ upload_jpg.php โดย ตรวจสอบประเภทไฟล์ที่ upload ที่ function check_file()   -->
<form action="upload_jpg.php" method="post" enctype="multipart/form-data" onsubmit="return check_file()"  />

<input type="file" id="pic_file" name="pic_file" /> <!--สร้าง input ไฟล์-->
<input type="submit" value=" Upload " /> <!--สร้างปุ่ม submit-->
</form>

<script type="text/javascript">

function check_file() //function ตรวจสอบ ประเภทไฟลืที่ upload ว่าต้องเป็นไฟล์ .jpg เท่านั้น
{


var file_name=document.getElementById("pic_file").value; 
//อ่านชื่อไฟล์ที่ upload มาไว้ที่ตัวแปร file_name
file_name=file_name.toLowerCase();//แปลงชื่อไฟล์ที่ Upload เป็นตัวพิมพ์เล็ก
if(file_name.indexOf(".jpg")==-1)//ตรวจสอบว่าไฟล์ที่ว่าต้องเป็น .jpg
{
alert("Please insert .jpg file");
return false; // ถ้า return false  จะไม่มีการ submit ไปที่ไฟล์  uplaod_jpg.php
}

return true;

}

</script>


2. สร้างไฟล์ สำหรับ สำหรับรับไฟล์ที่เลือกมา upload ไปที่ server
<?php

$pic_file=$_FILES["pic_file"];

copy($pic_file["tmp_name"],"upload_file.jpg");
//rename file ที่ upload เป็น upload_file.jpg โดยไฟล์นี้จะอยู่ใน folder เดียวกับไฟล์ uplaod_jpg.php

echo "Finish Uploading";//แสดงข้อความว่า Upload เสร็จแล้ว

?>

3/22/2555

การหาจำนวนวันที่เริ่มต้น ถึงวันที่สิ้นสุด

ในบางระบบเรามีความต้องการที่ต้องทราบจำนวนวันระหว่างวันเริ่มต้น และวันสิ้นสุด ว่ามีกี่วัน
เช่น วันที่ 1 มีนาคม ถึง 2 เมษายน มีจำนวนวันทั้งสิ้น 33 วัน ระบบที่ต้องการนับจำนวนวันได้แก่ ระบบจองห้องพัก ต้องการทราบว่าลูกค้าจองห้องพักทั้งหมดกี่วันโดยนับวันที่เริ่มจอง จนถึงวันที่สิ้นสุดการจอง
เราสามารถเขียนโปรแกรม นับจำนวนวันได้ดังนี้

<?php


$strDate1="2012-01-01";//วันที่เริ่มต้น
$strDate2="2012-02-1";//วันที่สิ้นสุด

echo DateDiff($strDate1,$strDate2);//เรียก function DateDiff เพื่อหาจำนวนวันระว่างวันเริ่มต้น และวันที่สิ้นสุด


//สร้า้ง function DateDiff โดยรับค่าวันที่เริ่มต้น $strDate1 และวันที่สิ้นสุด $strDate2 

function DateDiff($strDate1,$strDate2)
{
                  //คำนวนหาวันที่โดยแปลงวันที่เป็นวินาที นำวินาทีวันที่สิ้นสุด - วินาทีวันที่เริ่มต้น  
                  //แล้วหารด้วย 86400 ( 1 วันมี 86400 วินาที ) จะได้จำนวนวัน
return (strtotime($strDate2) - strtotime($strDate1))/  ( 60 * 60 * 24 );
}

?>
ผลที่ได้คือ 31

2/28/2555

การเขียนโปรแกรมนับถอยหลัง 10 วินาที ด้วย javascript

หากเราต้องการจำกัดเวลาการใช้งานของ user ในหน้าเว็บว่าต้องทำให้เสร็จภายในเวลาที่กำหนด ( เช่นระบบทำข้อสอบ online ) เราสามารถเขียนโปรแรมจับเวลานับถอยหลังโดยใช้ javascript ได้ดังนี้


<input type="text" size="8" id="counter" />  <!-- text box แสดงการนับถอยหลัง   -->

<script>

 var seconds=10;// กำหนดค่าเริ่มต้น 10 วินาที
 document.getElementById("counter").value='10';//แสดงค่าเริ่มต้นใน 10 วินาที ใน text box

function display(){ //function ใช้ในการ นับถอยหลัง

    seconds-=1;//ลบเวลาทีละหนึ่งวินาทีทุกครั้งที่ function ทำงาน

if(seconds==-1){return;} //เมื่อหมดเวลาแล้วจะหยุดการทำงานของ function display

    document.getElementById("counter").value=seconds; //แสดงเวลาที่เหลือ
    setTimeout("display()",1000);// สั่งให้ function display() ทำงาน หลังเวลาผ่านไป 1000 milliseconds ( 1000  milliseconds = 1 วินาที )
}
display(); //เปิดหน้าเว็บให้ทำงาน function  display()

</script>


หัวใจสำคัญของโปรแกรมนับเวลาถอยหลังนี้คือ การทำ recursive ใน function display() โดยจะสั่งให้ function display() ทำงานซ้ำ หลังเวลาผ่านไป 1 วินาที และลบค่า ตัวแปร seconds ทีละหนึ่ง คือเวลาที่เหลือ เมื่อเวลาที่เหลือ น้อยกว่า 0 แสดงว่าหมดเวลา เมื่อหมดเวลาแล้วจะหยุดการทำงานทันที

1/17/2555

การดู ip address ของเครื่องที่เข้ามาดูเว็บไซต์

หากเราต้องการรู้ ip address ของเครื่องที่เข้ามาดูเว็บไซต์ ว่ามี ip address เป็นอะไรสามารถดูได้โดยใช้คำสั่ง

$ip=$_SERVER [ 'REMOTE_ADDR' ] ;

โดย ip address ของเครื่องที่เปิดเว็บจะเก็บอยู่ในตัวแปร $ip

12/27/2554

เขียนโปรแกรมส่ง Email ด้วย PHP

ถ้าหากเราต้องการ ส่ง Email โดยใช้โปรแกรม PHP สามารถทำได้โดยใช้ function mail ดังนี้

$email_reciver="reciver@email.com";// email ที่ได้รับ
$msg = "<HTML><HEAD><meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-874\" /></HEAD><BODY>Hello World</BODY></HTML>";// เนื้อหาใน email
$topic="Hello"; //หัวข้อ email

$headers = "From: sender@email.com\r\n";//Email ที่ ส่งไป
$headers.= "Content-Type: text/html; charset= windows-874";//กำหนดให้ Email ที่ส่งแสดงเป็นภาษาไทย

/*เรียก function  ส่ง Email */
mail($email_reciver,$topic,$msg,$headers);

11/04/2554

การพัฒนา Web Application แบบ Ajax ด้วย Jquery

Jquery เป็น javascript library ที่ได้รับความนิยมมากในการพัฒนา Web Application แบบ ajax ( ajax คือ รูปแบบการพัฒนา Web Application ที่ใช้ javascript รับส่งข้อมูลกับโปรแกรมที่อยู่ฝั่ง server  ทำให้ Web Application สามารถทำงานได้เร็วขึ้น )

ตัวอย่างขั้นตอน การพัฒนา Web Application แบบ Ajax ด้วย Jquery 

โดยตัวอย่างนี้จะเป็นการรับค่าปี พ.ศ. จาก text box แล้วนำไปแปลง เป็นปี ค.ศ. ในโปรแกรมที่เขียนด้วย PHP ที่ฝั่ง Server

1. สรา้งไฟล์ index.html ขึ้นมา
2. เขียน Code เรียกใช้ jquery
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
3. สร้าง text box รับค่าปี พ.ศ. โดย กำหนดให้มี id เป็น year1
ปี พ.ศ. <input type="text" id="year1" /> 
4.สร้างปุ่มกดสำหรับสั่งให้แปลงปี พ.ศ. เป็น ค.ศ. โดยกำหนดให้เมื่อคลิกแล้วระบบจะเรียกใช้ function call_ajax() พร้อมทั้งเว้น บรรทัด ด้วย tag <br />
<input type="button" value="OK" onclick="call_ajax()" /></br>
5. สร้างส่วนแสดงปี ศ.ศ.
ปี ค.ศ. <span id="year2"></span>
6. ใส่ code javascript ส่วนที่เป็น ajax ของ jquery 

<script type="text/javascript">

function call_ajax()
{
//แสดงข้อความบอกให้รอขณะส่งข้อมูลไป
$("#year2").html("กรุณารอสักครู่....");
$.ajax({ //เรียกใช้ function ajax ของ  jquery
//ส่งค่าปี พ.ศ. เป็นแบบ GET ให้ไฟล์ ajax.php
url: "ajax.php?year="+$("#year1").val(),
success: function(data){//รับค่าที่ส่งกลับมาจากไฟล์  ajax.php
$("#year2").html(data);// แสดงปี ค.ศ.ที่รับมา (ตัวแปร data) 
}
});
}

</script>


7. สร้า้งไฟล์ ajax.php ซึ่งรับค่า ปี พ.ศ. แล้วแปลงเป็นปี ค.ศ. แล้วส่งค่าลับไป
<?php
$year=$_GET["year"];//รับค่าปี พ.ศ. 
$year-=543;//เปลี่ยนค่าปี พ.ศ. เป็น ค.ศ.
echo $year;//ส่งค่าปี ค.ศ. กลับไป
?>


รูปภาพตัวอย่าง

ก่อนคลิก ok

หลังคลิก ok


7/29/2554

การอ่านข้อมูลจากตารางใน MySQL

ขั้นตอนในการ อ่านข้อมูลของตารางใน MySQL มีขั้นตอนต่างๆดังนี้
  1. เริ่มการเชื่่อมต่อกับ MySQL โดยกำหนด Username Password และชื่อฐานข้อมูล ดังนี้ 
    $dbHost="localhost";
    $dbUname="root"; // username สำหรับ mysql
    $dbPword="1234"; // password ของ mysql
    $dbName="shop"; // ชื่อ database
    $link=mysql_connect($dbHost,$dbUname,$dbPword);
    mysql_select_db($dbName,$link);
  2. สร้างคำสั่ง SQL และส่งคำสั่ง SQL ที่สรา้งให้ mysql
    $sql="SELECT name FROM product WHERE id=1";
     //สร้างคำสั่ง SQL ดูชื่อสินค้า(name) ของสอนค้ารหัส 1 WHERE id=1  จากตาราง product 
    $result=mysql_query($sql);
    //ส่งคำสั่ง SQL ให้ mysql ทำงานโดย mysql จะส่งผลลัพธ์กลับมาอยู่ในตัวแปร $result
  3. นำแถวข้อมูลที่ได้จาก mysql มาเก็บไว้ในตัวแปร $product และพิมพ์ชื่อสินค้าออกมา
    $product=mysql_fetch_array($result);//นำแถวข้อมูลจาก mysql มาไว้ในตัวแปร $product
    echo $product["name"];//พิมพ์ชื่อสินค้าออกมาทาง web browser