2012-08-15 97 views
0

我創建了一個可在Chrome和IE中使用的表單,但不支持Firefox。在提交時,它只是通過我的PHP文件sendContact.php的URL進入一個空白屏幕。表單在Chrome和IE中可用,但不支持Firefox

這裏的標記:

<form action="script/sendContact.php" method="post" class="contactForm"> 
    <div class="textBoxDivs"> 
    <label>Name</label> 
    <br /> 
    <input type="text" id="name" name="name" size="40" class="textField"/> 
    </div> 
    <div class="textBoxDivs"> 
    <label>Phone</label> 
    <br /> 
    <input type="text" id="phone" name="phone" size="40"class="textField"/> 
    </div> 
    <div class="textBoxDivs"> 
    <label>Email</label> 
    <br /> 
    <input type="text" id="email" name="email" size="40"class="textField"/> 
    </div> 
    <div class="textArea"> 
    <label>Please describe what services you will require and your proposed budget.</label> 
    <br /> 
    <textarea id="message" cols="40" rows="7" name="message" class="textAreaField"> </textarea> 
    </div> 
    <div class="formButtonDiv"> 
    <input type="submit" value="submit" class="formBut"/> 
    <input type="reset" value="reset" class="formBut" /> 
    </div> 
</form> 

和PHP如下:

$name  = $_POST['name']; 
$email  = $_POST['email']; 
$message = $_POST['message']; 
$phone  = $_POST['phone']; 
$formcontent= "From: $name \n Email: $email \n Phone: $phone \n Message: $message"; 
$recipient = "[email protected]"; 
$subject = "Contact Form"; 
$mailheader = "From: $userEmail \r\n"; 

if (mail($recipient, $subject, $formcontent, $mailheader, $email)) 
{ 
    header ("Location: thankYou.html"); 
} else { 
    echo "mail was not sent"; 
} 
+0

我可以使用Firefox(14.0.1)與出的問題提交頁面,當然PHP是服務器端,它不知道瀏覽器是什麼。 – 2012-08-15 10:12:28

+0

在FF14中適合我,儘管顯然我不知道你是否真的收到了郵件。 – DaveRandom 2012-08-15 10:13:13

+0

@Dagon對不起14,錯字 – DaveRandom 2012-08-15 10:15:21

回答

2

我已經在Firefox上嘗試,現在,每一件事情去精細。順便說一句,看看你的PHP代碼,你應該在發送之前檢查表單是否正確。我試着空場,我想你剛纔收到來自任何人郵件..

試着這麼做:

$name  = trim($_POST['name']); 
$email  = trim($_POST['email']); 
$message = trim($_POST['message']); 
$phone  = trim($_POST['phone']); 

$formcontent= "From: $name \n Email: $email \n Phone: $phone \n Message: $message"; 
$recipient = "[email protected]"; 
$subject = "Contact Form"; 
$mailheader = "From: $userEmail \r\n"; 

if (!empty($name) 
    && !empty($email) 
    && !empty($message) 
    && mail($recipient, $subject, $formcontent, $mailheader, $email)) 
{ 
    header ("Location: http://www.dukecitygrafx.com/thankYou.html"); 
} 
else 
{ 
    echo "mail was not sent"; 
} 
+0

是的,我還沒有在表單上放置驗證器。今天馬拉松比賽!不過我明天可能會放一個。感謝您的輸入! – 2012-08-15 10:26:54

1
  1. 刪除在HTML文件中的新行(表單標籤!)。 Firefox可能有問題來解決這個問題!

  2. 在sendContact.php嘗試die("hello");

所以,你可以檢查你的腳本是否會被加載

<?php 
die("hello"); 

$name = $_POST['name']; 
$email = $_POST['email']; 
$message = $_POST['message']; 
$phone = $_POST ['phone']; 
$formcontent="From: $name \n Email: $email \n Phone: $phone \n Message: $message"; 
$recipient = "[email protected]"; 
$subject = "Contact Form"; 
$mailheader = "From: $userEmail \r\n"; 
if (mail($recipient, $subject, $formcontent, $mailheader, $email)) { 
    header ("Location: http://www.dukecitygrafx.com/thankYou.html"); 
    die(); 
} else { 
    echo "mail was not sent"; 
} 
?> 
+0

哈哈,那多餘的行實際上是一個轉錄錯誤。它只在帖子中而不在代碼中。 – 2012-08-15 10:27:45

+0

恩,案件關閉了。我該如何結束這個線程?哈哈,現在已經晚了。 – 2012-08-15 10:29:58

+0

@AlfonsoVerdeja你可以接受一個答案,將問題標記爲*關閉*或回答自己的問題,並將你的答案標記爲已接受 – j0k 2012-08-15 12:48:06

相關問題