2013-04-16 2 views
1

안녕하세요. 누군가가 내 코드를 들여다보고이 문제의 원인에 대한 단서를 제공 할 수 있기를 바랍니다. 보내기 버튼을 테스트 할 때 약속 한대로 모든 일이 발생하고 msg와 리디렉션이 전송되지만 전자 메일은 입력 한 응답없이 모든 필드를 표시합니다.연락처 양식에서 데이터없이 전자 메일을 보냅니다.

<form action="contactformprocess.php" method="post" enctype="text/plain" name="form1" id="form1"> 
      <p> 
       <label><span class="GoldText">What is your movie about?</span> What are you trying to tell us?<span id="What"> 
       <textarea name="what" id="what" cols="45" rows="5"></textarea> 
       <span id="countWhat">&nbsp;</span><span class="textareaRequiredMsg">Please Fill.</span><span class="textareaMaxCharsMsg">Exceeded maximum number of characters.</span></span></label> 
      </p> 
      <p> 
       <label>Why is this Project Important to you? <span class="GoldText">What is it's purpose?</span><span id="why"> 
       <textarea name="why" cols="45" rows="5" id="why"></textarea> 
       <span id="countwhy">&nbsp;</span><span class="textareaRequiredMsg">Please Fill.</span><span class="textareaMaxCharsMsg">Exceeded maximum number of characters.</span></span></label> 
      </p> 
      <p> 
       <label>What will people gain from watching it?<br /> 
       <span class="GoldText">What sentiments are we left with?</span><span id="Contribution"> 
       <textarea name="contribution" cols="45" rows="5" id="contribution"></textarea> 
       <span id="countContribution">&nbsp;</span><span class="textareaMaxCharsMsg">Exceeded maximum number of characters.</span></span></label> 
      </p> 
      <fieldset> 
       <legend>Where and when is it shot? (For dated events)</legend> 
       <p> 
       <label>Location: 
        <input type="text" name="location" id="location" /> 
       </label> 
       </p> 
       <p> 
       <label>Date(s): <span id="EventDateStart"> 
       <input name="eventdatestart" type="text" id="eventdatestart" /> 
       <span class="textfieldInvalidFormatMsg">Invalid format.</span></span></label> 
       to<span id="EventDateEnd"> 
       <label> 
       <input name="eventdateend" type="text" id="eventdateend" /> 
       </label> 
<span class="textfieldInvalidFormatMsg">Invalid format.</span></span>    </p> 
       <p> 
       <label>Time: <span id="EventTimeStart"> 
       <input name="eventtimestart" type="text" id="eventtimestart" /> 
</span></label> 
       </p> 
      </fieldset> 
      <fieldset> 
       <legend>Please tell us who you are.</legend> 
       <p> 
       <label>Name    </label> 
       <span id="ClientName"> 
       <label> 
        <input type="text" name="clientname" id="clientname" /> 
       </label> 
       <span class="textfieldRequiredMsg">Please Fill.</span></span></p> 
       <p> 
       <label>Phone 
        <input name="phone" type="text" id="phone" value="optional" /> 
       </label> 
       </p> 
       <p> 
       <label>Email    <span id="OnlineContact"> 
       <input type="text" name="onlinecontact" id="onlinecontact" /> 
       <span class="textfieldRequiredMsg">Please Fill.</span><span class="textfieldInvalidFormatMsg">Invalid format.</span></span></label> 
       </p> 
       <p> 
       <label>What other details help clarify your vision?<span id="FinalThoughts"> 
        <textarea name="finalthoughts" cols="45" rows="5" id="finalthoughts"></textarea> 
       <span id="countFinalThoughts">&nbsp;</span><span class="textareaMaxCharsMsg">Exceeded maximum number of characters.</span></span></label> 
       </p> 
       <p> 
       <label>Send 
        <input name="button" type="submit" id="button" onclick="MM_validateForm('clientname','','R','phone','','NisNum','onlinecontact','','RisEmail','what','','R','why','','R');return document.MM_returnValue" value="Send" /> 
       </label> 
       </p> 
      </fieldset> 
      </form> 

이것은 PHP는 다음과 같습니다 :

/* Email Variables */ 
$emailSubject = 'contactformprocess'; /*Make sure this matches the name of your file*/ 
$webMaster = '[email protected]'; 

/*design by Mark Leroy @ http://www.helpvid.net*/ 

/* Data Variables */ 
$what = $_REQUEST['what']; 
$why = $_REQUEST['why']; 
$contribution = $_REQUEST['contribution']; 
$location = $_REQUEST['location']; 
$eventdatestart = $_REQUEST['eventdatestart']; 
$eventdateend = $_REQUEST['eventdateend']; 
$eventtimestart = $_REQUEST['eventtimestart']; 
$clientname = $_REQUEST['clientname']; 
$phone = $_REQUEST['phone']; 
$onlinecontact = $_REQUEST['onlinecontact']; 
$finalthoughts = $_REQUEST['finalthoughts']; 



$body = <<<EOD 
<br><hr><br> 
What: $what <br> 
Why: $why <br> 
Contribution: $contribution <br> 
Location: $location <br> 
EventDateStart: $eventdatestart <br> 
EventDateEnd: $eventdateend <br> 
EventTimeStart: $eventtimestart <br> 
ClientName: $clientname <br> 
Phone: $phone <br> 
OnlineContact: $onlinecontact <br> 
FinalThoughts: $finalthoughts <br> 
EOD; 
$headers = "From: $email\r\n"; 
$headers .= "Content-type: text/html\r\n"; 
$success = mail($webMaster, $emailSubject, $body, 
$headers); 

내가 이전 게시물을 검토하고 대문자가 문제였다보고, 그래서 그 들여다 여전히이 문제를 얻을 여기 형태이다. 다른 모든 세부 사항은 나에게 잘 어울립니다 .... 나는 어떤 도움을 주셔서 감사합니다.

답변

0

비표준이므로 HTML 양식의 enctype = "text/plain"을 생략 해보십시오.

더 일반적으로 코드를 디버깅하는 방법을 배우기 시작해야합니다. 디버깅은 코드 작업의 중요한 부분입니다. "here"문서 (< < < EOD 구조체)를 사용하면 시작시 또는 EOD 이전에 < < < EOD 뒤에 공백이 없어야한다는 요구 사항을 찾기가 어렵 기 때문에 미묘한 버그가 발생할 수 있습니다. 결국.

내가 먼저 데이터가 같이 모든 스크립트에 전달지고 있는지 확인하기 위해, 마지막 문에서 "$ 본문"에 대한 필드 중 하나를 대체하려고 할 것이다는 :

$success = mail($webMaster, $emailSubject, $_REQUEST['what'], $headers); 
+0

entype을 변경 지금 결과를 얻고 있습니다. – user2284733

+0

나는 그것을 간과했다. 나는이 코드를 오랫동안 열심히 보았습니다. 진심으로 감사드립니다! – user2284733

+0

그러면 답변을 수락 된 것으로 표시해야하므로 다른 사람들도이 기능을 유용하게 사용할 수 있습니다. –

관련 문제