รายละเอียดบริการลงโฆษณา
 บริการจดโดเมนเนม เว็บไซด์ .Com, .Net, .Org เพียง 550 บาท / ปี    สำหรับโดเมนอื่นๆ คลิกเพื่อดูรายละเอียด สายด่วน WebSite, Domain, Hosting
 คลิก Banner เพื่อสนับสนุนเว็บไทยดีดี กำลังโหลดข้อมูล... 
   สนใจติดต่อโฆษณา คลิกดูรายละเอียด    โทร. 02-591-7857, 087-499-5540 หน้าหลัก เว็บไทยดีดี | คำติชมของคุณ  
หน้าแรกเว็บไทยดีดี บทความ PHP เว็บบอร์ด PHP แจ้งชำระเงิน ลงโฆษณากับเรา
  Webmaster Talk     webmasterwebthaidd.com
Webthaidd.COM 2.9 Beta Community Version
Build 0979
ปรับการใช้งานเว็บบอร์ดใหม่ เข้าถึงการเรียนรู้ได้มากขึ้น
เว็บบอร์ดใหม่ URL : http://www.webthaidd.com/webboard
เว็บบอร์ดเก่า URL : http://www.webthaidd.com/board
 
แจ้งปัญหาการใช้งาน หรือแนะนำติชม
webmaster@webthaidd.com
   หน้าแรกเว็บบอร์ด   ช่วยเหลือ ค้นหา เข้าสู่ระบบ สมัครสมาชิก  
กันยายน 08, 2010, 05:54:12 pm
นิตยสารออนไลน์ ฉบับแรกของคนไทย
ยินดีต้อนรับคุณ, บุคคลทั่วไป
กรุณาเข้าสู่ระบบ หรือ สมัครสมาชิก
 
 
 
ส่งอีเมล์ยืนยันการใช้งาน?
สมัครสมาชิก
ลืมรหัสผ่าน
วิธีใช้งานระบบ
 
ออกแบบเว็บไซต์ (Design)
พัฒนาโปรแกรมเฉพาะด้าน (Dev)
ปรับปรุงเว็บไซต์ (Re Design)
จดโดเมนเนม (Domain)
เช่าพื้นที่จัดทำเว็บไซต์ (Hosting)
แจ้งชำระเงิน
 
  ร่วมเผยแพร่ความรู้ ส่งบทความ : คลิกที่นี่
PHP Programing
HTML Home Page
Macromedia Dreamweaver
Namo WebEditor
Macromedia Flash
Adobe Photoshop
Adobe illustrator
3ds max
Java Scripts
C,C++ Programing
Microsoft Word
Microsoft Excel
Microsoft PowerPoint
Microsoft Access
คอมพิวเตอร์ทั่วไป
ความรู้เกี่ยวกับ Flash Drive
 
เครื่องมือทำเว็บ ออนไลน์
ค้นหาเว็บไทย (Web Directory)
วิทยุ เพลงออนไลน์ (Radio)
EXPERTISE MSN
เว็บบอร์ด ถาม-ตอบปัญหา
แบบสำรวจ (Poll)
 
   รายละเอียดโฆษณาบนเว็บ คลิกที่นี่
php.net
phpmyadmin.net
mysql.com
simplemachines.org
 
บทความ PHP Programing ออนไลน์       Webthaidd Basic and Advance E-learning
จัดทำโดย : อ้ายคำปัน     แสดง 46,420 ครั้ง  เว็บบอร์ด   ส่งให้เพื่อน   พิมพ์
ทริคไม่ยาก สร้างข้อความรูปภาพยืนยันตอน Login
ทริคไม่ยากสร้างข้อความรูปภาพยืนยันตอน Login    หลายคนคงจะเคยเห็นแบบฟอร์ม Login หรือสมัครสมาชิกที่จะมีรูปภาพที่เป็นข้อความที่ผ่านการสุ่มขึ้นมา
เพื่อให้ท่านกรอกข้อความที่ปรากฏในรูปลงช่องรับข้อมูล ฟอร์มลักษณะนี้เป็นการ verify(ตรวจสอบ) ว่าผู้กรอก
ข้อมูลมากรอกเอง ไม่ใช่พวกโปรแกรม robot หรือโปรแกรมอัตโนมัติอื่นใดมากรอกให้
   ในบทความนี้เราจะมาทำความรู้จักกับโปรแกรมตัวนี้กันครับ
1.เริ่มแรกท่านหาไฟล์ font ที่แปลกมาซัก 1 font จะเป็น .ttf หรือ otf ก็ได้ครับ ในที่นี้ผมจะใช้
CaflischScriptPro-Regular.otf
2.ในโปรแกรมนี้จะใช้ 4 ไฟล์คือ
    (1).
CaflischScriptPro-Regular.otf ไฟล์ font ที่เราจะใช้สร้างข้อความรูปภาพ
 
   (2). from.php สำหรับกรอกข้อมูลข้อมูล

   (3). pic_text.php สำหรับสร้างข้อความรูปภาพ
   (4).
result.php สำหรับทดสอบการรับค่าจากฟอร์ม

3.เริ่มกันเลยครับ เริ่มจากสร้างไฟล์ pic_text.php แล้วเขียนโค้ด ตามนี้
<?php
$font = "CaflischScriptPro-Regular.otf"; //ไฟล์ font ที่จะใช้
$image = imagecreate(100,30); //สร้างภาพโดยการกำหนดขนาด ยาว(แกน x), กว้าง(แกน y)
$bg = imagecolorallocate($image,200,220,220); //กำหนดสีพื้น (ภาพ,Red,Green,Blue)

$black = imagecolorallocate($image, 0, 0, 0); //กำหดนค่าสีของสีดำซึ่งจะใช้เป็นสีของตัวอักษร

imagettftext($image,28,0,2,25,$black,$font,$str); //นำตัวอักษรจากฟอร์มมาวาดเป็นรูป (รูปพื้นหลัง,ขนาด,มุม,พิกัด x-coordinate,y-coordinate,สีฟอนต์,ฟอนต์,ข้อความ) ***ระบบ coordinate (x=0,y=0)จะอยู่มุมซ้ายบนสุดนะครับ

header("Content-type:image/png"); //กำหนดชนิดของภาพตอนแสดงผลผ่าน browser
imagepng($image); //แสดงผลภาพที่สร้าง
imagedestroy($image); //เมื่อ browser ดึงไปแสดงแล้วก็คืนค่าหน่วยคืนค่าหน่วยความจำให้กับระบบ
//***การใช้หน่วยความจำอย่างประหยัดสำคัญมากในการเขียนโปรแกรม***

?>

4.สร้างไฟล์ form.php ไฟล์นี้จะมีโค้ดอยู่ 2 ส่วน ส่วนแรกทำหน้าที่ random string
<?
function ranDomStr($length){
$str2ran = 'abcdefghijklmnopqrstuvwxyz0123456789'; //string ที่เป็นไปได้ที่จะใช้ในการ random ซึ่งสามารถเพิ่มลดได้ตามความต้องการ
$str_result =
""; //สตริงว่างสำหรับจะรับค่าจากการ random
while(strlen($str_result)<$length){ //วนลูปจนกว่าจะได้สตริงตามความยาวที่ต้องการ
$str_result .=
substr($str2ran,(rand()%strlen($str2ran)),1); //ต่อ string จาก substring ที่ได้จากการ random ตำแหน่ง ทีละ 1 ตัว จนกว่าจะครบตรามความยาวที่ส่งมา
}
return($str_result);//ส่งค่ากลับ
}
$ran_str = randomstr(
6); //สั่ง random string
?>

  ส่วนที่สองจะเป็นเกี่ยวกับฟอร์ม
<form name="form1" method="post" action="result.php">
Username ::<input type="text" name="name">
<br>
Password :: <input type="password" name="pass">
<br>
<img src="pic_text.php?str=<?=$ran_str?>"> <!-- ส่งสตริงที่ random ได้ไปสร้างรูปภาพ-->
<br>
Code :: <input name="code_input" type="text">
<input type="hidden" name="code_hidden" value="<?=$ran_str?>"> <!-- ซ่อนสตริงไว้ในฟอร์มไว้ตรวจสอบกับค่าที่ผู้ใช้ input-->
<br>
<br>

<input type="submit" name="Submit" value="Submit">
</form>

6.ไฟล์ result.php ในที่นี้ผมจะเขียนเพียงคร่าว ๆ เพื่อทดสอบ ซึ่งท่านสามารถนำไปประยุกต์กับสิ่งที่ยากกว่านี้ได
<?
if(strcmp($_POST['code_input'],$_POST['code_hidden'])==0){ /*ตรวจสอบว่า code ที่ซ่อนมาในฟอร์มกับที่ user กรอกเข้าไปเหมือนกันหรือไม่
***การตรวจสอบความเท่ากันของสตริงนั้นมีอยู่หลายฟังก์ชัน ในที่นี้ผมใช้ strcmp ตรวจสอบโดยไม่สนใจ case แต่ไม่แนะนำให้ใช้รูปแบบ if($str1==$str2) นะครับ เพราะลักษณะการใช้หน่วยความจำของสตริงนั้นไม่ได้คงที่เหมือนตัวเลข ฉะนั้นความผิดพลาดมันเกิดขึ้นได้ครับ*/

echo "<strong>Login success.</strong><br>";
echo "<br>Hello! Khrun <strong>".$_POST['name']."<strong>";
}
else{
echo "<strong><font color=\"#FF0000\">ERROR</font></strong>";
}

?>

7.พร้อมแล้วมาทดสอบกันเลยครับ ^o^
หน้า Login

Login ผ่านแล้ว

----------------------------------------------------------------------------------------------------------------------------------
   ส่งท้าย...บทความนี้ผมประยุกต์มาจากหนังสือ 2 เล่มขอขอบพระคุณนักเขียน 2 ท่านนั้นมา ณ ที่นี้ด้วยครับ
และหวังว่าท่านผู้อ่านจะนำไปประยุกต์ต่อ เช่นกัน ^^
   ผมแนบโค้ดมาด้วยนะครับ หากท่านไม่เข้าใจลองรันโค้ดของผมดู หากมีปัญหาหรือข้อสงสัยสอบถามได้ที่ webbord
นะครับ(เมล์ไม่ค่อยได้เช็ค - -'') หากความรู้ใดที่ผมให้ได้ผมจะให้อย่าง "ไม่มีกำมือของอาจารย์" เลยครับ (เป็น
สำนวนหนะครับ ผมไม่ใช่อาจารย์หรอก^^)
   ...เป็นกำลังใจให้ webthaidd.com สร้างสรรค์งานดี ๆ เพื่อสังคมอย่างนี้ตลอดไปครับ ^^


Download Source Code

ผู้จัดทำ : วิวัฒน์ มณีจันสุข
ที่อยู่อีเมลล์ :
winnerww@hotmail.com
website : http://computerpsycho.boxchart.com
ความคิดเห็นผู้อ่านบทความนี้
ความเห็นที่ : 23 แจ้งลบ  
ผม จะใช้ทำ ใน VB ผมเขียน Asp.net จะใช้ได้ ไหมอ่ะคับ รบกวนตอบทีนะคับ
โดย : Vazabi    เมื่อ : 03 มี.ค. 53  

ความเห็นที่ : 22 แจ้งลบ  
ขอบคุณครับ สำหรับ โค้ตดีดี
โดย : ฝึกหัด    เมื่อ : 25 ก.พ. 53  

ความเห็นที่ : 21 แจ้งลบ  
ขอบคุณมากครับ ทำตามที่แสดงความเห็นข้างบนครับ
โดย : พันธ์เกียรติ    เมื่อ : 19 ต.ค. 52  

ความเห็นที่ : 20 แจ้งลบ  
อย่าลืมก๊อบ ไฟล์ ฟอนต์ ดังที่ผู้เขียนกล่าวข้างต้น ไปวางในโฟลเดอร์ที่เราสร้างเวบด้วยนะค่ะ CaflischScriptPro-Regular.otf โหลดได้จาก Download Source Code
โดย : nnetsk    เมื่อ : 12 ก.ย. 52  

ความเห็นที่ : 19 แจ้งลบ  
ผมว่าใช้วิธีสร้าง captcha ไว้ไฟล์นึงแล้วใช้ iframe ดึงเข้ามา สร้าง session ตรวจสอบความถูกต้อง เมื่อมีการกรอกฟอร์ม และก็มีปุ่ม refresh ภาพโดยลิงค์ไปยัง iframe เดิม แบบนี้จะทำให้ refresh ภาพได้ด้วยนะครับ
โดย : ammbot    เมื่อ : 28 ส.ค. 52  

ความเห็นที่ : 18 แจ้งลบ  
thank you! ขอบคุณมากครับ
โดย : Fun_MoBo    เมื่อ : 02 พ.ค. 52  

ความเห็นที่ : 17 แจ้งลบ  
ขอบคุณนะครับ อธิบายได้เข้าใจและละเอียดดีครับ ยังไงก็ขอเป็นกำลังใจกับการเขียนบทความ php ต่อไปครับ . . .
โดย : babybaboza    เมื่อ : 18 เม.ย. 52  

ความเห็นที่ : 16 แจ้งลบ  
ขอบคุณครับ
โดย : ทิวา    เมื่อ : 07 เม.ย. 52  

ความเห็นที่ : 15 แจ้งลบ  
ขอบคุณนะคะที่ให้ความรู้ ถึงคุณจะไม่ใช่อาจารย์ แต่คุณก็เป็นอาจารย์ของดิฉันแล้วค่ะ ขอบคุณจากใจจริงค่ะ (*-*)
โดย : ผู้หญิงดินๆ    เมื่อ : 12 พ.ย. 51  

ความเห็นที่ : 14 แจ้งลบ  
เอ่อ ภาพไม่โชว์ค่ะ set php.ini แล้ว ก็ไม่โชว์
โดย : ฮาเฮ    เมื่อ : 07 ต.ค. 51  

ความเห็นที่ : 13 แจ้งลบ  
เออ พี่ครับ ผมเพิ่งเข้ามาน่ะครับ อยากจะถามพี่ๆ ว่า codeนี้ นำไปใส่ ในหน้า index.html ได้หรือเปล่าครับ แบบว่า อยากให้ คนที่เข้าเว็บ สมัครสมาชิกก่อน อ่ะครับ ผมไม่มีความรู้ ภาษา php รู้แค่ html ธรรมดาๆ อ่ะครับ รบกวนด้วยครับ
โดย : เม่นคุง    เมื่อ : 03 ส.ค. 51  

ความเห็นที่ : 12 แจ้งลบ  
ผมเช่าโฮสอยุ่อะ เขาจะลง GD มาให้อยู่แล้วรึป่าวอะ ทำไงดีอะมันไม่ขึ้นอะ
โดย : อะไร    เมื่อ : 19 ก.ค. 51  

ความเห็นที่ : 11 แจ้งลบ  
ปัญหาที่ไม่แสดงโค้ด เห็นเฉพาะพื้นสีฟ้าๆๆ แก้โดยการเพิ่ม $str=$_REQUEST['str']; ที่หน้า pic_text.php ครับ
โดย : ผ่านมา    เมื่อ : 20 มี.ค. 51  

ความเห็นที่ : 10 แจ้งลบ  
ลองโหลดโค้ดไปทำตามดูค่ะ แต่ติดปัญหา คือ ไม่แสดงโค้ด เห็นเฉพาะพื้นสีฟ้าๆๆ อย่างเดียวค่ะ
โดย : ยีท    เมื่อ : 22 ม.ค. 51  

ความเห็นที่ : 9 แจ้งลบ  
ตอบ คห 6 ลองโหลดแล้วไม่โชว์รูป text ที่ไม่ขึ้นดูใน php.ini ด้วยนะรับว่าเปิด gd หรือยัง ;extension=c:\php\extensions\php_gd.dll แก้เป็น extension=c:\php\extensions\php_gd.dll save แล้วทดลองดูอีกครั้ง
โดย : banhdit    เมื่อ : 23 พ.ย. 50  

ความเห็นที่ : 8 แจ้งลบ  
โชว์แล้วครับ ต้องขอขอบคุณในการแนะนำของคุณ ottoshi ในส่วนที่ต้องแก้ไขเพิ่มเติมคือ ติดตั้ง GD บน windows 2003 server GD2 มีไว้สำหรับการย่อรูป ลดขนาดรูป หรือ แม้แต่สร้างรูป ด้วยภาษา php GD นั้นเป็น extensions ของ php การติดตั้งก็ไม่ยากเย็นอะไร เพียงแค่ สร้าง Folder Extensions ไว้ใน c:\php\ แล้วจากนั้นก็ให้ก๊อบxxxไฟล์ php_gd2.dll ไปใส่ไว้ แล้วจากนั้นเราก็ไปเปิดการใช้งานที่ c:\windows\php.ini ในบรรทัดที่ ;extension=php_gd2.dll โดยการเอาเครื่องหมาย ; ออกจากด้านหน้า แล้วเซฟ รวมทั้งแก้ extension_dir = “.\” ให้เป็น extension_dir = “C:\PHP\extensions” เพื่อกำหนด Directory ของ extention นั่นเอง **** หมายเหตุ **** ถ้ามันเออเร่อ PHP Warning: Unknown(): Unable to load dynamic library ‘C:\PHP\extensions\php_gd2.dll’ - The specified module could not be found. in Unknown on line 0 แสดงว่า มันหาไฟล์ gd ไม่เจอ หรือไม่ก็ไม่ได้รับเพอมิชชั่น ก็ให้ตรวจดูว่า ใส่ค่า dir แล้วก็ชื่อไฟล์ ดีหรือยัง ก๊อบxxxไฟล์มาไว้หรือยัง การนำ gd มาใส่ใน extensions folder นั้นห้าม Cut มาวางเด็ดขาดเพราะจะทำให้ไม่ได้รับสิทธิ์ ต้องใช้วิธีการ copy อย่างเดียวเท่านั้น คงหวังว่าจะเป็นประโยชน์ต่อไปกับท่านอื่นๆ
โดย : TU    เมื่อ : 01 พ.ย. 50  

ความเห็นที่ : 7 แจ้งลบ  
ต่อจากความคิดที่ 6 ไม่รู้ว่าผิดพลาดตรงไหน ต้องขอรบกวนช่วยเช็คให้ด้วยคับ เพราะคลิ๊กขวา เช็ค propreties ก็ถูกต้องคับ
โดย : TU    เมื่อ : 25 ต.ค. 50  

ความเห็นที่ : 6 แจ้งลบ  
ลองโหลดแล้วไม่โชว์รูป text
โดย : TU    เมื่อ : 25 ต.ค. 50  

ความเห็นที่ : 5 แจ้งลบ  
ดีครับ...กำลังจะหาวิธีทำอยู่พอดีเลยคนับ
โดย : นัท    เมื่อ : 16 ต.ค. 50  

ความเห็นที่ : 4 แจ้งลบ  
ขอบคุณครับ.....เกร็ดความรู้.......
โดย : bor231    เมื่อ : 29 ก.ย. 50  

ความเห็นที่ : 3 แจ้งลบ  
โหลดโปรแกรมอะไรค่ะ
โดย : supatcha    เมื่อ : 29 ก.ย. 50  

ความเห็นที่ : 2 แจ้งลบ  
โหลดโปรแกรมม่ได้อ่ะ
โดย : วรรณวชิรา    เมื่อ : 28 ก.ย. 50  

ความเห็นที่ : 1 แจ้งลบ  
ช่วยทำให้สะดวกขึ้นเยอะเลย อิ อิ
โดย : เสมอ    เมื่อ : 25 ก.ย. 50  

แสดงความคิดเห็น
 
  ( JPG, GIF ) ไม่เกิน 50 k
ชื่อผู้แสดงความคิดเห็น
รหัสส่งข้อมูล

 
  Shortcut : http://www.webthaidd.com/php Back to the top   
หน้าแรกเว็บไทยดีดี บทความ PHP ข่าว PHP เว็บบอร์ด ลงโฆษณากับเรา
เพื่อนบ้านเว็บไทยดีดี ติดต่อแลกลิงค์ได้ที่ webmasterwebthaidd.com
บทความ : Mac2hand | PHP.deeserver | 3d-create | Cg4d | Thairetouch | PHPThailand | MIndphp | Icphysics | blog.ubu-design | ubu-design | pichate1964
รวมของฟรี : Websocietysite | ThaiEarth | PHPScriptHost | Narongrit.net
สถิติเว็บไซต์ : Truehits | Stat08
หางาน ออนไลน์ : JobURL | Oxfordbc | Excellent-search| jobMini
ร้านค้าออนไลน์ : Dollydolls | Gemparty | shoplanla
ข่าว และการสื่อสาร : Thainn
คอมพิวเตอร์
: Mustcomp | Com-th | Nanosoft | Thaiwirelesslan | 3D-Dsign | Changsomcom | Ccsparts | ManiaGrap | Scanidea
เว็บรุ่น : Comsci60
วาไรตี้ : Cosmodesktop | Nachiengmai | Seesan | Tteen | Baanjomyut | Thaihotweb | UnlimitLife | Zazana
การเกษตร และสิ่งแวดล้อม : Orchidsiam
เพลง ดนตรี
: Tapeburapa
สุขภาพ : Thai-sle | healthy-dee
ทองเที่ยว : Tourmuangthai | Ezytrip | Elephantpark | Ekohchang | Lantalanta | Silkzpider | Silverstonetour | Varietykorea | Varietytrip | Thailand Hotels
โรงแรม รีสอร์ท : Vacationvillage | kohmook-resort | บ้านคุณตา
ผู้พิทักษ์สันติราษฎร์ : สำนักงานตำรวจแห่งชาติ | สถานีตำรวจภูธรอำเภอผักไห่ | สถานีตำรวจภูธรอำเภอเคียนซา
ทั่วไป
: Thailand | Maxpromarket | Pyayam
© 2005-2010 WebThaiDD.COM All rights reserved. แนะนำ ติ-ชม  webmaster@webthaidd.com เลขทะเบียนพาณิชย์ 0105549132957