ฟอนต์ฟอรั่ม

F0NT Community (เก่า) => ห้องคอม => ห้องแฟลช => โพสต์ถูกเริ่มโดย: 8e88 เมื่อ 25 ส.ค. 2008, 23:40 น.

ชื่อเรื่อง: ทำ Contact Form ใน Flash
โพสต์โดย: 8e88 เมื่อ 25 ส.ค. 2008, 23:40 น.
พยายามรื้อแงะแกะเกาไอ้ไฟล์ตัวนี้แล้ว แต่ยังไม่ประสบความสำเร็จ
พอดีเจองานที่ต้องแก้ Flash โดยที่ลูกค้าขอให้ใส่ Form Mail เข้าไปเพิ่ม (จริงๆหาเรื่องงานเข้าให้ตัวเองแท้ๆ)
ทีแรกก็คิดว่าง่ายๆอ่ะนะ ไปหา Source มาไล่อยู่ 2-3 เจ้า ก็ยังทำไม่ได้
พอดีลูกค้าไม่ได้เร่งงานอะไรมาก (ถ้าทำไม่ได้ สุดท้ายคงจ้างคนที่ทำเป็นทำอ่ะแหล่ะ)
แต่ทีนี้อยากจะรู้เอง ว่ามันเพราะอะไร และทำยังไง

ไฟล์ต้นฉบับอยู่ด้านล่างครับ จากเว็บ Kirupa
ประกอบไปด้วยไฟล์ .FLA (ที่เป็นโครงฟอร์มเมล์) และตัว Email.php (ที่เป็นโปรแกรมส่งเมล์)
ปัญหาก็คือมันส่งเมล์ไม่ไป  :37: ลองไล่แล้วไล่อีก คิดว่าไม่มีอะไรแล้ว แต่มันก็ยังส่งไม่ไป
อยากจะรู้ปัญหาว่ามันเพราะอะไร แค่นั้น (รู้สึกไฟล์ที่แจกตัวนี้ จะมีคนที่เจอปัญหาเดียวกับผมอยู่มากมาย)
ชื่อเรื่อง: ตอบ: ทำ Contact Form ใน Flash
โพสต์โดย: 8e88 เมื่อ 25 ส.ค. 2008, 23:45 น.
โครงสร้างของไฟล์ Flash ตัวนี้ เป้นในรูปแบบง่ายๆ

1.) ตัวโครงสร้างเขาจะทำ Form ทั้งหมดเป็น MC (movie clip) โดยตั้งชื่อว่า "form"
โดยจะมี Fill ด้านในประมาณ 3-4 Fill ซึ่งกำหนดชื่อ Variable เอาไว้ในแต่ละ Fill

2.) ตัว Button จะมีคำสั่งส่งค่า Var ของ Fill ทั้งหมดที่อยู่ใน MC ชื่อ "form" ไปยังไฟล์ email.php

เท่าที่ดูมันไม่น่าจะผิดอะไร หรือว่าผิดแต่ไอ้เราโง่ก็ไม่รู้   :47:
ชื่อเรื่อง: ตอบ: ทำ Contact Form ใน Flash
โพสต์โดย: 8e88 เมื่อ 25 ส.ค. 2008, 23:51 น.
มาที่ตัวไฟล์ email.php
ผมตะหงิดว่ามันอาจจะผิดที่ตัวนี้รึเปล่าไม่รู้
ตามหลักการง่ายๆ แค่เปลี่ยนชื่อ Email ที่เราต้องการให้ส่งถึง กับชื่อ Subject ก็น่าจะใช้การได้แล้ว
แต่ก็ยังใช้ไม่ได้ ....ลองปรับไฟล์ email.php บน Hosting ให้เป็น "777" ก็ยังไม่ได้อยู่ดี
สำหรับ php คือจนปัญญาที่จะงมกับมันนะ ค่อนข้างไม่ถนัดโปรแกรมเท่าที่ควร

อันนี้คือ code ไอ้ตัวสีแดงนี่คือให้ใส่ email ที่เราต้องการส่งหา กับชื่อหัวข้อที่บอก

อ้างอิง
<?php
/***************************************************\
* PHP 4.1.0+ version of email script. For more
* information on the mail() function for PHP, see
* http://www.php.net/manual/en/function.mail.php
\***************************************************/


// First, set up some variables to serve you in
// getting an email.  This includes the email this is
// sent to (yours) and what the subject of this email
// should be.  It's a good idea to choose your own
// subject instead of allowing the user to.  This will
// help prevent spam filters from snatching this email
// out from under your nose when something unusual is put.

$sendTo = "chung@hotmail.com";
$subject = "My Flash Email";
// variables are sent to this PHP page through
// the POST method.  $_POST is a global associative array
// of variables passed through this method.  From that, we
// can get the values sent to this page from Flash and
// assign them to appropriate variables which can be used
// in the PHP mail() function.


// header information not including sendTo and Subject
// these all go in one variable.  First, include From:
$headers = "From: " . $_POST["firstName"] ." ". $_POST["lastname"] . "<" . $_POST["email"] .">\r\n";
// next include a replyto
$headers .= "Reply-To: " . $_POST["email"] . "\r\n";
// often email servers won't allow emails to be sent to
// domains other than their own.  The return path here will
// often lift that restriction so, for instance, you could send
// email to a hotmail account. (hosting provider settings may vary)
// technically bounced email is supposed to go to the return-path email
$headers .= "Return-path: " . $_POST["email"];

// now we can add the content of the message to a body variable
$message = $_POST["message"];


// once the variables have been defined, they can be included
// in the mail function call which will send you an email
mail($sendTo, $subject, $message, $headers);

?>

ชื่อเรื่อง: ตอบ: ทำ Contact Form ใน Flash
โพสต์โดย: iannnnn เมื่อ 26 ส.ค. 2008, 01:07 น.
ไอ้ตัวนี้คุ้นๆ ครับ :08: เหมือนจะเคยใช้มาก่อน
แต่จำไม่ได้ว่าในที่สุดก็เปลี่ยนไปใช้ตัวอื่นหรือเปล่าเหมือนกัน

พี่ฉึ่งลองให้มันส่งไปที่ gmail ยังครับ เผื่อ hotmail มันตีเป็น junk
(แต่ถ้ามันตีเป็น junk จริงๆ ก็คงเป็นอันว่าไม่เวิร์กล่ะ)
ชื่อเรื่อง: ตอบ: ทำ Contact Form ใน Flash
โพสต์โดย: 8e88 เมื่อ 26 ส.ค. 2008, 01:44 น.
ไอ้ตัวนี้มีปัญหาอีกอย่างคือมันจะไปเข้า Junk อ่ะแหล่ะ แต่ทีนี้ยังทำให้มันส่งไม่ได้ คือปัญหา
ตอนนี้ลองเขียนเองอยู่อีกวิธี ดีที่ลูกค้าไม่เร่งมาก เลยมีเวลางมหน่อย  :27:

Action Script สำหรับ form mail
http://www.thaiflashdev.com/home/index.php?topic=1511.0 (http://www.thaiflashdev.com/home/index.php?topic=1511.0)
ชื่อเรื่อง: ตอบ: ทำ Contact Form ใน Flash
โพสต์โดย: ยุนเอ เมื่อ 26 ส.ค. 2008, 10:59 น.


ต้องมีเมลล์เซอร์เวอร์ด้วยนะครับ
ชื่อเรื่อง: ตอบ: ทำ Contact Form ใน Flash
โพสต์โดย: RevlonZ เมื่อ 06 ก.ย. 2008, 04:25 น.
ทำไมมันยากกว่าที่คิดแฮะ ว่าจะทำซักหน่อยอดเรยตู

T T เวบพอร์ต ไม่มี contact ยังไงไม่รู้ไว้ผมจะหาทางต่อไป

:23:
ชื่อเรื่อง: ตอบ: ทำ Contact Form ใน Flash
โพสต์โดย: KapomMan เมื่อ 09 ก.ย. 2008, 10:26 น.
ถ้าทดสอบในเครื่องตัวเองต้องลง Mail Server ด้วยครับ ไม่งั้นมันจะส่งไม่ไปตอนนี้ผมใช้ตัว ArGoSoft อยู่ครับ หรือไม่ก็เอาไปลองที่ Server จริงเลยก็ได้ครับ
ชื่อเรื่อง: ตอบ: ทำ Contact Form ใน Flash
โพสต์โดย: dogdoyx เมื่อ 09 ก.ย. 2008, 11:25 น.
ผมทดสอบบน host ที่ผมใช้มันก็ส่งผ่านนะครับ

สงสัยว่า server ที่ใช้นี่รองรับ php และเค้ายอมให้ส่งเมลผ่าน php ใช่ไหมครับ

ผมว่าทดสอบส่งเมลก่อนดีกว่าครับ โดยลองสร้างไฟล์ตามนี้ เซฟใส่ชื่อ testmail.php (จริงๆอะไรก็ได้ครับ)

<?php
if(mail("chung@hotmail.com","TEST MAIL FROM PHP SCRIPT","JUSTทดสอบ TEST","From: chungxxx@hotmail.com"))
echo
"Sent";
else echo
"Not Sent";
?>


แล้วลองเรียกไฟล์นี้ผ่านเว็บเบราเซอร์ดูครับ ถ้าขึ้นมา Sent ก็แสดงว่าส่งได้ เดี๋ยวยังไงผมจะมาช่วยหาอีกทีนะครับ
ชื่อเรื่อง: ตอบ: ทำ Contact Form ใน Flash
โพสต์โดย: kit58 เมื่อ 17 ก.ย. 2008, 18:41 น.
ตกลง แก้ไขได้ไม๊ครับ ผมก็เจอปัญหา คล้าย ๆ กัน คือส่งเมล์ไม่ไปเหมือนกัน
ผมก็เพิ่งจะเคยลอง เขียน Form Flash CS3 + PHP ก็เจอปัญหาอย่างที่ว่านี่หละครับ

อ้อ..ส่วน โค๊ด testmail.php ของคุณ dogdoyx

ผมลองที่ host ที่ผมใช้งานอยู่ มันแสดงผลอย่างนี้ครับ

Warning: mail(): Failed to connect to mailserver at "smtp.besthost19.com" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in d:\ip1\saunaplace.net\www\test\testmailform.php on line 2
Not Sent

เข้าใจว่าน่าจะเกี่ยวข้องกับ SMTP ของ Host ที่ใช้งานอยู่

ยังไงรอผู้รู้ช่วยไขข้อข้องใจด้วยครับ.. :42:
ชื่อเรื่อง: ตอบ: ทำ Contact Form ใน Flash
โพสต์โดย: X Saint เมื่อ 20 ก.ย. 2008, 04:53 น.
บาง host เค้าจะมีการ set SMTP ที่แตกต่างออกไป เช่นไม่ได้ใช้ localhost หรือว่ากัน port 25 หรือ etc.
ตรงนี้คิดว่าต้องลองเช็คกับ admin ของ host ที่ใช้ ส่วนใหญ่ที่เคยเจอเค้าก็จะมีวิธี set แบบอ้อมให้มันใช้ได้
ทั้งนี้ก็ขึ้นกับระบบความปลอดภัยของ host ที่เค้าตั้งไว้ครับ
ชื่อเรื่อง: ตอบ: ทำ Contact Form ใน Flash
โพสต์โดย: กากก่อเกรียนนู้บ เมื่อ 20 ก.ย. 2008, 09:55 น.
ปกติผมใช้ตัวนี้เลยครับ ทดสอบแล้วใช้งานได้ๆ

ส่วนที่มันลง Junk ลองแก้ตรง

$headers = "From: " . $_POST["firstName"] ." ". $_POST["lastname"] . "<" . $_POST["email"] .">\r\n";

ให้เป็นอีเมลที่เรารู้จักอะครับ หรืออีเมลตัวเองก็ได้
ที่มันลง Junk เพราะมันไม่รู้จักอีเมลคนส่งมาอะครับ
ชื่อเรื่อง: ตอบ: ทำ Contact Form ใน Flash
โพสต์โดย: kit58 เมื่อ 20 ก.ย. 2008, 13:43 น.
ขอบคุณมากครับสำหรับคำแนะนำ ของคุณ X Saint และอาจารย์ก่อ(กำลังจะเป็นอาจารย์เดือนหน้าแล้วนิ..ดัน ๆ)

แบบว่ารอเช็คมาหลายวันแล้ว..

ไอ้เรื่อง ขอให้ Hosting ช่วย Set SMTP ให้นี่..ผมหนักใจชะมัดเลย ส่งเมล์ไปแจงประมาณ 4 วันแล้วยังเฉย...

ผมจะรอดูอาทิตย์หน้าเนี๊ยะ ถ้าไม่ได้ คงเปลี่ยนที่ใหม่แล้วหละ

มีที่ไหน ที่ดี ๆ ราคาพอประมาณ แล้วก็ไม่มีปัญหาอย่างนี้บ้างไม๊ครับ ช่วยแนะนำกันหน่อยนะ...

ขอบคุณนะครับ.. :12:
ชื่อเรื่อง: ตอบ: ทำ Contact Form ใน Flash
โพสต์โดย: กากก่อเกรียนนู้บ เมื่อ 22 ก.ย. 2008, 01:10 น.
..ของพี่โอ้เอ้เลยครับ  :12:

(พี่โอ้เอ้ ขอค่าสปอนเซอร์หลังไมค์ด้วยนะครับ)
ชื่อเรื่อง: ตอบ: ทำ Contact Form ใน Flash
โพสต์โดย: kit58 เมื่อ 22 ก.ย. 2008, 21:48 น.
อ้างคำพูดจาก: นายก่อ เมื่อ 22 ก.ย. 2008, 01:10 น.
..ของพี่โอ้เอ้เลยครับ  :12:

(พี่โอ้เอ้ ขอค่าสปอนเซอร์หลังไมค์ด้วยนะครับ)


ขอ link ของเวบให้หน่อยได้ไม๊ครับ แบบว่า Host ที่เช่าอยู่กำลังจะหมดสิ้นเดือนนี้อะ

วันนี้ผมโทรไปคุยกับ Technician Support เค๊าก็บอกว่าเดี๋ยวจัดการให้ แล้วให้ผมรอ

การติดต่อทั้งเมล์ ทั้งทางโทรศัพท์ ก็รอไปเถอะ...ยังไม่ติดต่อมาเลย เซ็งจัง...

ช่วยรบกวนแนะนำด้วยครับ ขอบคุณมากๆครับ...
ชื่อเรื่อง: ตอบ: ทำ Contact Form ใน Flash
โพสต์โดย: 8e88 เมื่อ 25 ก.ย. 2008, 00:51 น.
โอ๊วว ขอบคุณมากครับ โพสเอาไว้แล้ว ไม่ได้ดูกระจู๋นี้พักใหญ่
ไปๆมาๆก็ไม่ได้ทำไอ้ Form เมล์ใน Flash แล้วครับ พอดีลูกค้าดันเปลี่ยนใจอยากได้ Webboard พวก forum แทน
แต่เดี๋ยวว่างๆจะลองงม ทำลองดูเล่นๆครับ (เพราะอยากจะทำเป็นเหมือนกัน)
ชื่อเรื่อง: ตอบ: ทำ Contact Form ใน Flash
โพสต์โดย: iannnnn เมื่อ 25 ก.ย. 2008, 01:01 น.
อ้างคำพูดจาก: kit58 เมื่อ 22 ก.ย. 2008, 21:48 น.

ขอ link ของเวบให้หน่อยได้ไม๊ครับ แบบว่า Host ที่เช่าอยู่กำลังจะหมดสิ้นเดือนนี้อะ

วันนี้ผมโทรไปคุยกับ Technician Support เค๊าก็บอกว่าเดี๋ยวจัดการให้ แล้วให้ผมรอ

การติดต่อทั้งเมล์ ทั้งทางโทรศัพท์ ก็รอไปเถอะ...ยังไม่ติดต่อมาเลย เซ็งจัง...

ช่วยรบกวนแนะนำด้วยครับ ขอบคุณมากๆครับ...


www.facthosting.com
ครับ
ชื่อเรื่อง: ตอบ: ทำ Contact Form ใน Flash
โพสต์โดย: นายโอ้เอ้ เมื่อ 25 ก.ย. 2008, 06:18 น.
อูย...
ชื่อเรื่อง: ตอบ: ทำ Contact Form ใน Flash
โพสต์โดย: kit58 เมื่อ 26 ก.ย. 2008, 05:35 น.
ทาง Host เค้าแก้ปัญหาให้แล้วครับ ผมทดสอบแล้ว ก็โอเค..ส่งได้

เรื่องของเรื่อง ก็คือต้องแจ้งทาง Hosting ให้ configure ค่า smtp ให้นั่นหละครับ

ถึงจะใช้งานฟอร์มเมล์ของเราได้..แต่ผมก็เจอปัญหาใหม่อีกหละ คือเวลาที่เมล์ส่งไป

ถึงที่เมล์ Server ของเวบเรา(ผมใช้ Outlook 6 ในการเช็คเมล์นะครับ) ผลที่ได้คือ

มันแสดงทั้งภาษาไทยและภาษาต่างดาวเลย แก้ Encode เป็น

Content-type: text/html;  charset=windows-874 หรือ UTF8 ก็ไม่หายครับ

ทำไงต่อดีหละครับเนี๊ยะ....

อ้อ..สำหรับ Hosting ใหม่ที่แนะนำของ..คุณโอ้เอ้..ต้องขอขอบคุณมากครับ

ผมกำลังจะจดทั้งโดเมนใหม่และเช่า Hosting ใหม่อย่างน้อย 2 ชื่อภายใน 2-3

เดือนนี้ แล้วจะติดต่อไปสอบถามรายละเอียดเพิ่มเติมอีกครั้งนะครับ.... :12:

ชื่อเรื่อง: ตอบ: ทำ Contact Form ใน Flash
โพสต์โดย: ยุนเอ เมื่อ 26 ก.ย. 2008, 10:04 น.


เมลล์จากฟอร์มเหรอครับ

ลองเซทค่า encoding ที่ใช้ในการส่งก่อนนะครับ