|
|
|
มีปันหาเรื่อง contact from ครับ ช่วยที่ ทำฟรอม contact us ครับ |
|
|
|
|
|
|
|
จากฟรอมนี้ ผมจะให้ คนใส่ ชื่อ อีเมลล์ หัวข้อ ข้อความแล้วส่งไปยังเมลล์ ที่ผมกำหนัดครับ
<form action="contact.php" method="post" id="contactform">
<ol>
<li>
<label for="name">First Name</label>
<input id="name" name="name" class="text" />
</li>
<li>
<label for="email">Your email</label>
<input id="email" name="email" class="text" />
</li>
<li>
<label for="company">Company</label>
<input id="company" name="company" class="text" />
</li>
<li>
<label for="subject">Subject</label>
<input id="subject" name="subject" class="text" />
</li>
<li>
<label for="message">Message</label>
<textarea id="message" name="message" rows="6" cols="50"></textarea>
</li>
<li class="buttons">
<input type="image" name="imageField" id="imageField" src="images/send.gif" class="send" />
<div class="clr"></div>
</li>
</ol>
</form>
แล้วผมก็สร้าง contact.php ขึ้นมา
<?php
if(!$_POST) exit;
$email = $_POST['email'];
//$error[] = preg_match('/\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i', $_POST['email']) ? '' : 'INVALID EMAIL ADDRESS';
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$email )){
$error.="Invalid email address entered";
$errors=1;
}
if($errors==1) echo $error;
else{
$values = array ('name','email','message');
$required = array('name','email','message');
$your_email = "[email protected]";
$email_subject = "New Message: ".$_POST['subject'];
$email_content = "new message:\n";
foreach($values as $key => $value){
if(in_array($value,$required)){
if ($key != 'subject' && $key != 'company') {
if( empty($_POST[$value]) ) { echo 'PLEASE FILL IN REQUIRED FIELDS'; exit; }
}
$email_content .= $value.': '.$_POST[$value]."\n";
}
}
if(@mail($your_email,$email_subject,$email_content)) {
echo 'Message sent!';
} else {
echo 'ERROR!';
}
}
?>
แต่ผลมัน error ครับ ต้องแก้ตรงไหนยังไง ช่วยด้วยครับ ด่วนมาก
Tag : PHP
|
|
|
|
|
|
Date :
2011-02-04 16:16:13 |
By :
melodyna |
View :
1050 |
Reply :
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แจ้ งError ว่าอะไรล่ะครับ
|
|
|
|
|
Date :
2011-02-04 16:19:33 |
By :
babyprogrammer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Error แบบไหนครับ หรือขึ้นคำว่า Error ถ้าขึ้นคำว่า Error แสดงว่าคำสั่ง mail ไม่สามารถส่งอีเมลได้ ถ้าลองบน localhost เครื่องตัวเองมันส่งไม่ออกน่ะครับ ต้องไปหาโหลดโปรแกรม mail Server มาลง
|
|
|
|
|
Date :
2011-02-04 16:19:36 |
By :
zankumuro |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขึ้นคำว่า error ครับไม่ได้ใช้ localhost ครับ จากเว็บครับ acu-cones.com ครับ
|
|
|
|
|
Date :
2011-02-04 16:22:51 |
By :
melodyna |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอา @ หน้า @mail ครับ แล้วจะรู้ว่า Error เพราะอะไร
|
|
|
|
|
Date :
2011-02-04 16:24:53 |
By :
zankumuro |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือมันขึ้นคำว่า error คือ ถ้าส่งได้จะขึ้น 'Message sent ถ้าไม่ได้ ขึ้น error ซึ่งมันขึ้น error ตลอดแสดงว่ามันส่งไม่ไปครับไม่รู้ว่าทำไม
|
|
|
|
|
Date :
2011-02-04 16:41:03 |
By :
melodyna |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันไม่รู้ว่าใครเป็นคนส่งเมล์ไปหาล่ะมั้งครับ มีแต่ ส่่งไปถึง หัวข้อ รายละเอียด แต่ไม่มีใครเป็นคนส่ง
ลองแบบนี้ดู
Code (PHP)
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=utf-8\n";
$headers .= "From: ".trim($_POST["name"])."<".trim($_POST["email"])."> \n";
$headers .= "Return-Path: ".trim($_POST["name"])."<".trim($_POST["email"]).">";
if(@mail($your_email , $email_subject, $email_content,$headers)){
//success
}else{echo "Error";}
|
|
|
|
|
Date :
2011-02-04 17:59:31 |
By :
ชินอิจิคุง |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|