|
หัวข้อ: ท่านๆๆครับ CGI - Forms to mail มันจะทำผมแทบคลั่งละครับ เริ่มหัวข้อโดย: hohoho ที่ 12 กันยายน 2006, 21:30:43 มือใหม่สุดๆกับการทำฟอร์มทูเมล์ครั้งแรก ผมลองทำแล้วมันไม่ทำงานนะครับ ใครพอช่วยบอกทีนะครับว่าผมไปทำผิดตรงไหนเนี่ย
(http://www.upfile.us/stores/a.gif) ตรงนี้ผมเขียน html ไว้อย่างนี้นะครับ <form action="http://fusion.dns-systems.net/cgi-bin/Form.cgi" method="post"> <input type="hidden" name="recipient" value="[email protected]"> <p><span class="style103">Name :</span> <input name="name" type="text" size="45"> </p> <p><span class="style103">Email :</span> <input name="email" type="text" size="45"> </p> <p class="style102">Your Order Items or Your Suggestions: </p> <p> <textarea name="order" cols="60" rows="7"></textarea> </p> <p><input name="" type="submit" value="SEND"> </p> </form> (http://www.upfile.us/stores/a40db1.gif) ตรงนี้ที่ server ผมใช้ แบบนี้นะครับ #!/usr/bin/perl -wT use CGI qw(:standard); use CGI::Carp qw(warningsToBrowser fatalsToBrowser); use strict; print header; print start_htm("Results"); # Set the PATH environment variable to the same path # where sendmail is located: $ENV{PATH} = "/usr/sbin"; # open the pipe to sendmail open (MAIL, "|/usr/sbin/sendmail -oi -t") or &dienice("Can't fork for sendmail: $!\n"); # change this to your own e-mail address my $recipient = '[email protected]'; # Start printing the mail headers # You must specify who it's to, or it won't be delivered: print MAIL "To: $recipient\n"; # From should probably be the webserver. print MAIL "From: nobody\@abc.com\n"; # print a subject line so you know it's from your form cgi. print MAIL "Subject: Form Data\n\n"; # Now print the body of your mail message. foreach my $p (param()) { print MAIL "$p = ", param($p), "\n"; } # Be sure to close the MAIL input stream so that the # message actually gets mailed. close(MAIL); # Now print a thank-you page print <<EndHTM; <h2>Thank You</h2> <p>Thank you for writing!</p> <p>Return to our <a href="index.htm">home page</a>.</p> EndHTM print end_htm; # The dienice subroutine handles errors. sub dienice { my($errmsg) = @_; print "<h2>Error</h2>\n"; print "<p>$errmsg</p>\n"; print end_htm; exit; } สรุปมันไปผิดตรงไหนเนี่ยครับ ToT ขอบคุณล่วงหน้าเลยครับสำหรับทุกท่านที่ช่วยตอบ **** ความรู้ในการเขียนนี่มั่วมาจากการหาใน google จนจะหมดแรงละครับ แต่อยากให้ให้สำเร็จจนได้นะครับ**** หัวข้อ: Re: ท่านๆๆครับ CGI - Forms to mail มันจะทำผมแทบคลั่งละครับ เริ่มหัวข้อโดย: [email protected] ที่ 12 กันยายน 2006, 21:44:19 อ้างจาก: "hohoho" **** ความรู้ในการเขียนนี่มั่วมาจากการหาใน google จนจะหมดแรงละครับ แต่อยากให้ให้สำเร็จจนได้นะครับ**** ผมไม่ทราบว่าเหตุผลที่ต้องเขียนเองเพราะต้องการพัฒนาทักษะในการเขียนโปรแกรม หรือว่าแค่ต้องการเอาไปใช้งาน ถ้าแค่ต้องการนำไปใช้งานผมขออนุญาติแนะนำ script สำเร็จรูปซึ่งอยู่ในรูปแบบภาษา php http://www.hotscripts.com/PHP/Scripts_and_Programs/Form_Processors/index.html หัวข้อ: ท่านๆๆครับ CGI - Forms to mail มันจะทำผมแทบคลั่งละครับ เริ่มหัวข้อโดย: iamnewbies ที่ 12 กันยายน 2006, 21:49:32 ใช้ php ง่ายกว่ามั้งคับ
หัวข้อ: ท่านๆๆครับ CGI - Forms to mail มันจะทำผมแทบคลั่งละครับ เริ่มหัวข้อโดย: hohoho ที่ 12 กันยายน 2006, 23:27:08 คือจริงๆผมอยากได้แค่แบบฟอร์มให้ลูกค้ากรอกเมล์และเขียนออเดอร์นะครับ (กำลังทำเวปขายของนอกอีเบย์นะครับ) ก็เลยใช้ dream ร้างแบบฟอร์มขึ้นมา คราวนี้ปัญหาคือผมไม่รู้ว่าจะลิ้งค์ฟอร์มที่ว่ากับ serverยังไงดีนะครับ ใจจริงยังคิดว่าจะให้มันไปลง gmailเลยด้วยซ้ำ จะได้ไม่ยุ่งยากดี แต่ยังไงๆ ออเดอร์ก็ไม่ไปที่เมล์อยู่ดีนะครับ อีกอย่างโปรแกรมหลายๆอันมันเหมือนจะให้เราใช้ฟรีแต่มันก็ดักอีเมล์ลูกค้าไปด้วย ผมไม่อยากให้พวกเขาเจอสแปมเมล์นะครับ ใครพอรู้ทางออกปัญหานี้บ้างนะครับ เห็น server ที่ผมใช้มันรองรับ PHP Version 4.3 , CGI-BIN , MySQL v4.1 , UNLIMITED POP3 Mailboxes เลยคิดจะลองทำดูนะครับ
ผมมือใหม่สุดๆจริงๆนะครับ หัวข้อ: ท่านๆๆครับ CGI - Forms to mail มันจะทำผมแทบคลั่งละครับ เริ่มหัวข้อโดย: kahn ที่ 12 กันยายน 2006, 23:31:59 chmod 755 form.cgi ครับ
<form action="http://fusion.dns-systems.net/cgi-bin/Form.cgi" method="post"> ตรงนี้ไม่ทราบว่าเก็บสคริบไว้ที่ http://fusion.dns-systems.net/cgi-bin/Form.cgi หรือครับ ลองเข้าแล้วมัน 404 นะครับ ต้องเปลี่ยนเป้นที่เก็บสคริบไว้ http://www.yourdomain.com/cgi-bin/form.cgi ประมาณนี้ อย่าลืมเปลี่ยน Form.cgi เป็น form.cgi นะครับ ตัวใหญ่เล้กมีผล แล้วก็ <input type="hidden" name="recipient" value="[email protected]"> ตรงนี้เปลี่ยนเป็นเมล์ของตัวเองด้วยนะครับ :) หัวข้อ: ท่านๆๆครับ CGI - Forms to mail มันจะทำผมแทบคลั่งละครับ เริ่มหัวข้อโดย: hohoho ที่ 13 กันยายน 2006, 00:13:34 อ้างจาก: "kahn" chmod 755 form.cgi ^^^^ มันคืออะไรหรือครับ แล้วนี่แหละครับในเวปที่ผมใช้ โฮสต์อยู่ก็มี help บอกมาประมาณนี้นะครับ โค๊ด: FORM-TO-MAIL Click 'install' on the previous page <<< อินสตอลอะไรละเนี่ย ส่วนที่คุณ kahn บอกว่า อ้างถึง ต้องเปลี่ยนเป้นที่เก็บสคริบไว้ http://www.yourdomain.com/cgi-bin/form.cgi ประมาณนี้ อันนี้ผมไม่รู้ว่าเข้าใจถูกไหมนะครับ คือ โฮสต์ที่ผมใช้อยู่มันสามารถใช้ร่วมกับโดเมนได้หลายตัว เวปแต่ละเวปเลยแบ่งพื้นที่แบบนี้ ไฟล์ก็สร้างเป็นโฟลเดอร์ตามชื่อเวป แล้วก็เอาไปไว้ใน htdocs อันนี้ไม่มีปัญหาครับ ลองกับพวก adsense มาหลายอันละ แต่กับสคริปค์นี่ก็เอาไปไว้ ที่ cgi-bin ก็เอาไปไว้งั้นๆเลยไม่มีการสร้างโฟลเดอร์ที่ตั้งตามชื่อเวปคร่อมไว้นะครับหัวข้อ: ท่านๆๆครับ CGI - Forms to mail มันจะทำผมแทบคลั่งละครับ เริ่มหัวข้อโดย: kahn ที่ 13 กันยายน 2006, 00:51:12 chmod เป็นการเปลี่ยนค่า permission ของไฟล์ครับ ค่า 755 คือให้ execute ได้ ถ้าโฮสคุณสามารถ telnet หรือ ssh ได้ก็ใช้คำสั่ง chmod 755 filename
ได้เลยครับ หรือใช้โปรแกรมพวก cuteftp คลิกขวาตรงชื่อไฟล์นั้นแล้วเลือก Property / CHMOD ใส่ permission เป็น 755 ครับ ไฟล์ cgi ของคุณถึงจะทำงานได้ ส่วน help ของโฮสที่คุณว่ามา ผมว่ามันน่าจะเป็นสคริบที่เค้าเตรียมไว้ให้แล้วน่ะครับ สามารถใช้ได้เลย โดยกด Install แล้วใส่ email ของคุณลงไป หลังจากนั้นเอาโค๊ดนี้ไปแปะหน้าเวบของคุณเปลี่ยนตัวสีแดงเป็น email ของคุณที่ต้องการรับข้อความ <form method="post" action="http://fusion.dns-systems.net/cgi-bin/Form.pl"> <input type="hidden" name="recipient" value="[email protected]"> First Name: <input type="text" name="firstname" size="30"><br> Surname: <input type="text" name="surname" size="30"><br> Message: <textarea name="message" rows="5" cols="30"></textarea><br> <input type="submit" value="Send"> </form> หัวข้อ: ท่านๆๆครับ CGI - Forms to mail มันจะทำผมแทบคลั่งละครับ เริ่มหัวข้อโดย: 7 ที่ 13 กันยายน 2006, 01:20:37 ใช้ PHP ได้ก็บรรทัดเดียวเองครับ
<?php mail("[email protected]", "My Subject", "Line 1\nLine 2\nLine 3"); ?> ผมเอาตัวอย่างมาจาก PHP Manual นะครับ ทดลองดู หัวข้อ: ท่านๆๆครับ CGI - Forms to mail มันจะทำผมแทบคลั่งละครับ เริ่มหัวข้อโดย: iamnewbies ที่ 13 กันยายน 2006, 10:02:11 form mail ใช้งงานง่าย ไปใช่ของนาย matt ดีกว่ามั้งครับ
http://www.scriptarchive.com/formmail.html ผมใช้ของ php 'ง่ายกว่า error น้อย http://www.dtheatre.com/scripts/formmail.php http://www.boaddrink.com/projects/phpformmail/ หัวข้อ: ท่านๆๆครับ CGI - Forms to mail มันจะทำผมแทบคลั่งละครับ เริ่มหัวข้อโดย: hohoho ที่ 14 กันยายน 2006, 01:46:02 :evil: ตอนนี้เอ๋อไปละครับ ลบออกหมดเล้วครับ ว่าจะเริ่มทำใหม่ตามที่ท่านๆได้เสนอแนะมาครับ เริ่มจากลิ้งค์ต่างๆของคุณเอกก่อนเลยครับ :idea: ยังไงก็ต้องเสร็จให้ได้อะครับเจ้า form to mail เนี้ย ยังไงก็ขอบคุณทุกท่านมากเลยครับ ที่มาช่วยตอบ ยังไงแล้วไม่ต้องห่วงครับเด๋ยวมีคำถามอีกจะหน้าด้านมาถามใหม่ครับ :P
...............24 ชม.ที่ผ่านไป ได้หัวฟูๆมาอย่างเดียวเลย :cry: หัวข้อ: ท่านๆๆครับ CGI - Forms to mail มันจะทำผมแทบคลั่งละครับ เริ่มหัวข้อโดย: hohoho ที่ 14 กันยายน 2006, 06:48:35 เอาง่ายๆละครับ ในhostบอกไว้อย่างไรก็ทำตามนั้นเลยครับ
โค๊ด: <form method="post" action="http://fusion.dns-systems.net/cgi-bin/Form.pl"> สมมติผมทำฟอร์มแบบนี้เสร็จ ตรงเมล์ก็แก้เป็นเมล์ที่ผมต้องการแล้ว คราวนี้ที่ โฮสต์ ผมต้องทำอะไรบ้างละครับ เพราะลองอัพโหลดแล้วลองกรอกข้อความไป เช็คดูว่าใช้ได้หรือเปล่า แล้วเจออย่างนี้นะครับ Error: Invalid Recipient Please make sure you have added this address to your control panel, and you have included a recipient field in your form. แน่นอนว่า domainผมก็ต้องไปจัดการเรียบร้อยแล้ว ส่วน recipient field ผมก็ทดลองใช้ hotmailที่ผมใช้งานได้อยู่นะครับ เลยไม่เข้าใจว่าทำอะไรผิดกันแน่ งงงงงงง :oops: หัวข้อ: ท่านๆๆครับ CGI - Forms to mail มันจะทำผมแทบคลั่งละครับ เริ่มหัวข้อโดย: hohoho ที่ 14 กันยายน 2006, 07:00:48 เอ๊ะหรือว่า ต้องสร้าง Form.pl หลอกๆไปไว้ที่ cgi bin แบบเป็นไฟล์ปล่าวๆ ใช้ notepad สร้างใช่ปล่าวครับ T_T งงจนสติเบลอละครับ
หัวข้อ: ท่านๆๆครับ CGI - Forms to mail มันจะทำผมแทบคลั่งละครับ เริ่มหัวข้อโดย: iamnewbies ที่ 14 กันยายน 2006, 09:24:51 โค๊ด: <input type="hidden" name="recipient" value="[email protected]"> ใส่ชื่อคนรับอีเมล คืออีเมลเรานะครับ <input type="hidden" name="recipient" value="[email protected]"> ไฟล์ frommail เปลี่ยนเป้น 755 มั้งครับ หัวข้อ: ท่านๆๆครับ CGI - Forms to mail มันจะทำผมแทบคลั่งละครับ เริ่มหัวข้อโดย: tosakp ที่ 14 กันยายน 2006, 09:36:07 ลองดูที่นี่ครับ เป็นภาษาไทย ใน Code มี comment เป็นภาษาไทยด้วย
http://www.codetukyang.com/php/scripts/formmail.htm หัวข้อ: ท่านๆๆครับ CGI - Forms to mail มันจะทำผมแทบคลั่งละครับ เริ่มหัวข้อโดย: hohoho ที่ 17 กันยายน 2006, 06:21:49 ขอบคุณทุกๆคนมากเลยครับ ตอนนี้สำเร็จแล้วครับ ด้วยคำแนะนำของทุกท่าน ขอบคุณมากๆๆๆเลยครับ :)
|