2013-02-21 4 views
0

간단한 문의 양식을 설정하려고합니다. 모든 것은 정확하게 스타일이 지정되었지만 제출을 클릭하면 아무데도 걸리지 않고 그냥 contact.php를 열려고 시도합니다. 실제로 메시지를 보내는 코드에는 뭔가 빠져 있다고 생각합니다. 나는 그것이 놓치고있는 것이 상당히 간단하다고 확신하지만, 이것은 내 머리 위로 조금있다. 어떤 도움을 주셔서 감사합니다.문의 양식을 보내지 않음

<form action="mail.php" method="POST"> 
    <p>Name</p> <input type="text" name="name"> 
    <p>Company</p> <input type="text" name="company"> 
    <p>Email</p> <input type="text" name="email"> 
    <p>Phone</p> <input type="text" name="phone"> 
    <p>Message</p><textarea name="message" rows="4" cols="25"></textarea><br /> 
    <input type="submit" value="Submit"> 
    </form> 

<?php 

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

$to ='[email protected]'; 
$send_contact=mail($to,$subject,$message,$header); 

// Check, if message sent to your email 
// display message "We've received your information" 

if($send_contact){ 
echo "We've received your contact information"; 
} 
else { 
echo "ERROR"; 
} 
?> 

편집 : 나는 mail.php의 전체 URL을 추가 한 후 마지막으로 이메일을 수신 할 수 있었다 ... 메시지를 제외하고는 정보를 단 하나도 포함되지 않았다. 보낸 사람이 Apache로 표시되었습니다 ... 양식에 입력 된 정보가 전자 메일에 포함되도록하려면 어떻게해야합니까? 지금까지 모든 도움에 감사드립니다.

+0

contact.php 또는 mail.php를 열려고합니까? 서버에서 PHP가 제대로 실행되고 있는지 확인하십시오. –

+0

mail.php를 열려고합니다. 귀하의 질문에 대답하면 내 다른 PHP 파일의 정보와 스타일을 내 페이지에서 볼 수 있습니다 (제출을 클릭하기 전에). – usefulbattery

+0

mail.php에 대한 사용 권한을 확인하십시오 - 755, 777을 시도하십시오. 또한 직접 mail.php로 이동하여 어떤 일이 발생하는지 확인하십시오. mail.php의 콘텐츠를 여기 게시 할 수 있습니까? –

답변

0

동일한 페이지 내에 코드를 지정하고 있으므로 양식에서 action을 생략 할 수 있습니다. 또한 스크립트가 실행되면 PHP를 실행하는 조건을 지정하십시오.

<?php 
if(isset($_POST['submit'])){ 
$name = $_POST['name']; 
$company = $_POST['company']; 
$email = $_POST['email']; 
$phone = $_POST['phone']; 
$message = $_POST['message']; 
$formcontent="From: $name \n Message: $message"; 
$recipient = "[email protected]"; 
$subject = "Contact Form"; 
$mailheader = "From: $email \r\n"; 

$to ='[email protected]'; 
$send_contact=mail($to,$subject,$message,$header); 

// Check, if message sent to your email 
// display message "We've received your information" 

if($send_contact){ 
echo "We've received your contact information"; 
} 
else { 
echo "ERROR"; 
} } 
?> 
<form action = "<?= $_SERVER["PHP_SELF"]; ?>"method="POST"> 
    <p>Name</p> <input type="text" name="name"> 
    <p>Company</p> <input type="text" name="company"> 
    <p>Email</p> <input type="text" name="email"> 
    <p>Phone</p> <input type="text" name="phone"> 
    <p>Message</p><textarea name="message" rows="4" cols="25"></textarea><br /> 
    <input type="submit" value="Submit" name="submit"> 
    </form> 

희망 하시겠습니까?

편집 : 현재 파일 이름이 무엇인지 모르지만 동적으로 유지하려면 $_SERVER["PHP_SELF"]을 사용하는 것이 좋습니다. 그러나 사용해보십시오! :)

+0

도와 주셔서 감사합니다. 불행히도 제출을 명중 한 후에 404 메시지가 나타납니다 (물론 내 이메일 주소를 입력 했음). 아마도 내 mail.php에 연결되어 있지 않기 때문일까? – usefulbattery

+0

방금 ​​내 대답을 편집했습니다. 지금 코드를 확인하십시오. – Karma

+0

카르마, 감사합니다. PHP 대신 단순히 mail.php를 사용하고 직접 링크를 포함 시켰습니다. 그러나 지금 나는 새로운 문제가 있습니다 .... 방금 ​​이메일을 받았지만 "아파치"에서 온 것이고 이메일에있는 메시지를 제외한 모든 정보를 나열합니다. 필요한 정보가 모두 포함되도록하려면 어떻게해야합니까? – usefulbattery

관련 문제