2011-12-24 28 views
0

我有一個窗體和php處理文件,並且除了用戶輸入的變量沒有顯示在電子郵件表單結果中,所有內容似乎都正常工作。從我做的研究(我是初學者PHP),我猜這是因爲我的腳本使用HTTP_POST_VARS,我的客戶端的服務器已關閉全局變量?他們最近從Godaddy Windows切換到Godaddy Linux主機。PHP窗體郵件和註冊全局變量

這是我處理的文件:

<?php 
     // where is your config file stored? 
include ("ajaxSubmit.php"); 

    // CLIENT INFORMATION 

$Contactname = $HTTP_POST_VARS['Contactname']; 
$email = $HTTP_POST_VARS['email']; 
$Contacttitle = $HTTP_POST_VARS['Contacttitle']; 
$Business = $HTTP_POST_VARS['Business']; 
$Address = $HTTP_POST_VARS['Address']; 
$City = $HTTP_POST_VARS['City']; 
$State = $HTTP_POST_VARS['State']; 
$Zip = $HTTP_POST_VARS['Zip']; 
$Phone = $HTTP_POST_VARS['Phone']; 
$Fax = $HTTP_POST_VARS['Fax']; 
$product_desc = $HTTP_POST_VARS['product_desc']; 
$delivery = $HTTP_POST_VARS['delivery']; 
$sku = $HTTP_POST_VARS['sku']; 
$annualturns = $HTTP_POST_VARS['annualturns']; 
$seasonal = $HTTP_POST_VARS['seasonal']; 
$minmaxpallet = $HTTP_POST_VARS['minmaxpallet']; 
$avgpalletval = $HTTP_POST_VARS['avgpalletval']; 
$avgpalletwt = $HTTP_POST_VARS['avgpalletwt']; 
$maxpalletht = $HTTP_POST_VARS['maxpalletht']; 
$casesperpallet = $HTTP_POST_VARS['casesperpallet']; 
$unitweight = $HTTP_POST_VARS['unitweight']; 
$reqlotnumctrl = $HTTP_POST_VARS['reqlotnumctrl']; 
$freightclass = $HTTP_POST_VARS['freightclass']; 
$hazardclass = $HTTP_POST_VARS['hazardclass']; 
$barcodes = $HTTP_POST_VARS['barcodes']; 
$avgupsfedex = $HTTP_POST_VARS['avgupsfedex']; 
$avgorderweight = $HTTP_POST_VARS['avgorderweight']; 
$ordersending = $HTTP_POST_VARS['ordersending']; 
$custpickups = $HTTP_POST_VARS['custpickups']; 
$flatfiles = $HTTP_POST_VARS['flatfiles']; 
$shrinkwrap = $HTTP_POST_VARS['shrinkwrap']; 
$repack = $HTTP_POST_VARS['repack']; 
$specialreq = $HTTP_POST_VARS['specialreq']; 


// MODIFY THE FOLLOWING SECTION 

// your name 
$recipientname = "Company X"; 

// your email 
$recipientemail = "[email protected]"; 

// subject of the email sent to you 
$subject = "Quote Request for $recipientname"; 

// send an autoresponse to the user? 
$autoresponse = "yes"; 

// subject of autoresponse 
$autosubject = "Thank you for your mail!"; 

// autoresponse message 
$automessage = "Thanks for the message. We've successfully received your quote request and will get back to you shortly."; 

// thankyou displayed after the user clicks "submit" 
$thanks = "Thank you for contacting us. We will get back to you as soon as possible."; 

// END OF NECESSARY MODIFICATIONS 

// format message 
$message = "Online-Form Response for $recipientname: 
<br> 
Contact Name: $Contactname 
<br> 
Business: $Business 
<br> 
Email: $email 
<br> 
Address: $Address 
<br> 
City: $City 
<br> 
State: $State 
<br> 
Zip: $Zip 
<br> 
Phone: $Phone 
<br> 
Fax: $Fax 
<br> 
<br> 
<br> 
Describe your product(s): $product_desc 
<br> 
How will your product be delivered?: $delivery 
<br> 
How many SKU's (items): $sku 
<br> 
How many turns per year?: $annualturns 
<br> 
Are your products seasonal?: $seasonal 
<br> 
Indicate minimum and Maximum pallet levels: $minmaxpallet 
<br> 
Average value per pallet: $avgpalletval 
<br> 
Weight of a typical pallet: $avgpalletwt 
<br> 
Maximum pallet stacking height: $maxpalletht 
<br> 
Cases per pallet? Or average case size?: $casesperpallet 
<br> 
Weight of each unit?: $unitweight 
<br> 
Do you require lot number control?: $reqlotnumctrl 
<br> 
What freight class?: $freightclass 
<br> 
Is the product hazardous? If so, what classifications?: $hazardclass 
<br> 
<br> 
<br> 
Do you need custom Barcodes made?: $barcodes 
<br> 
What is the average number of orders shipped via UPS/Fedex?: $avgupsfedex 
<br> 
What is the average order size in weight?: $avgorderweight 
<br> 
What is the average number of lines per order?: $avgorderlines 
<br> 
Will your orders be sent via E-mail, FAX, or other?: $ordersending 
<br> 
Will you have customer pick ups, and how often?: $custpickups 
<br> 
Can your company e-mail us flat files?: $flatfiles 
<br> 
Do your orders need to be shrink wrapped?: $shrinkwrap 
<br> 
Do you need repackaging?: $repack 
<br> 
Are there any special requirements that your company may have?: $specialreq 
<br>"; 

// To send HTML mail, the Content-type header must be set 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

// Additional headers 
$headers .= 'From: Company X <[email protected]>' . "\r\n"; 


// send mail and print success message 
mail($recipientemail, $subject, $message, $headers); 

if($autoresponse == "yes") { 
$autosubject = stripslashes($autosubject); 
$automessage = stripslashes($automessage); 
mail($email,"$autosubject","$automessage","From: $recipientname <$recipientemail>"); 
} 

    echo "<script language=\"JavaScript\" type=\"text/JavaScript\"> window.location.href = \"thanks_quote.php\";</script>"; 

?> 

編輯:我的另一臺服務器上測試(與全局上),並且形式工作得很好,但我不知道如何重寫我的腳本,以便它不依賴POST?

+0

嘗試更換'$ HTTP_POST_VARS''$ _POST' – Virendra 2011-12-24 22:44:52

+0

哇這是一些重碼。使用'$ _POST'。你也可以刪除'language = \「JavaScript \」'或使用'header(「Location:thanks_quote.php」)''。 – 2011-12-24 22:45:25

回答

1

HTTP_POST_VARS現在已棄用。此外,register_globals在5.3.0及更高版本中已棄用。所以用$_POST代替HTTP_POST_VARS

此外,而不是最後一行:

echo "<script language=\"JavaScript\" type=\"text/JavaScript\"> window.location.href = \"thanks_quote.php\";</script>"; 

重定向到另一個頁面,使用:

header('Location: thanks_quote.php');