2010-12-23 2 views
0

제출 버튼을 클릭하면 오류 페이지가 나타납니다. 여기 사이트 http://nealconstruction.com/estimate.html내 PHP 문제를 파악할 수 없습니다. 누구든지 PHP 코드를 사용할 수 있습니까?

<?php 
/* Subject and Email Varibles */ 

    $emailSubject = 'Estimate' 
    $webMaster = '[email protected]' 

/* Gathering Info */ 

$emailField = $_POST ['email']; 
    $nameField = $_POST ['name']; 
    $phoneField = $_POST ['phone']; 
    $typeField = $_POST ['type']; 
    $locationField = $_POST ['location']; 
    $infoField = $_POST ['info']; 
    $contactField = $_POST ['contact']; 

    $body = <<<EOD 
<br><hr><br> 
Email: $email <br> 
Name: $name <br> 
Phone Number: $phone <br> 
Type Of Job: $type <br> 
Location: $location <br> 
Additional Info: $info <br> 
How to Contact: $contact <br> 
EOD; 

$headers = "From: $email\r\n"; 
    $headers .= "Content-Type: text/html\r\n"; 
    $success = mail($webMaster; $emailSubject; $body; $headers); 

/* Results rendered as html */ 

$theResults = <<<EOD 
<html> 
<head> 
<title>JakesWorks - travel made easy-Homepage</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<style type="text/css"> 
<!-- 
body { 
background-color: #f1f1f1; 
font-family: Verdana, Arial, Helvetica, sans-serif; 
font-size: 12px; 
font-style: normal; 
line-height: normal; 
font-weight: normal; 
color: #666666; 
text-decoration: none; 
} 
--> 
</style> 
</head> 

<div> 
    <div align="left">Thank you for your information! We will contact you very soon!</div> 
</div> 
</body> 
</html> 
EOD; 

echo "$theResults"; 

?> 
+0

이것은 실제로 stackoverflow에 속합니다. – devicenull

+0

어떤 오류가 발생합니까? – Jonah

+0

모든 HTML을 문자열에 넣지 말고 그냥'?>'뒤에 넣으십시오. – Jonah

답변

0

당신이 그것을에 오류가있는 htaccess로 파일이 의심에게 있습니다. 그것은 대개 내 경험에서 500 가지 오류의 주요 원인입니다.

2

가 있습니다하지 ;, 있어야 mail 매개 변수 사이 ;

$emailSubject = 'Estimate' 
$webMaster = '[email protected]' 

후 그리고있다.

디버그 메시지를 표시하도록 서버를 구성하는 것이 좋습니다. 서버의 설정을 변경할 수있는 권한이 없으면 자체 PC에서 개발 및 테스트에 사용할 로컬 서버를 설정할 수 있습니다. 이와 같은 실수에 대한 유용한 피드백을받지 못하면 개발이 살아남을 수 있습니다. 이것은 서버 문제가 될 수

$success = mail($webMaster, $emailSubject, $body, $headers); 
+0

사실! 디버그 메시지는 매우 중요합니다! 또는 공개로 표시하지 않으려면 파일로 설정하십시오. 호스팅 제공 업체에게 물어보십시오. – ariefbayu

+0

제공자로 인해 PHP 오류를 변경할 수없는 경우. 이 코드를 스크립트에 추가하십시오 error_reporting (E_ALL); ini_set ('display_errors', '1'); – Trevor

2

이것은 당신의 오류입니다. 시스템 관리자 나 웹 서비스 공급자에게 문의하십시오. 그들은 문제를 해결할 수 있습니다.

0

:

$success = mail($webMaster; $emailSubject; $body; $headers); 

변경 그것에 : :)

관련 문제