2012-09-27 3 views
-2

매우 간단하고 쉬운 연락처 양식을 작성하고 있는데, 별도의 페이지에서 작업했을 때 완벽하게 작동했지만 현재 웹 사이트에 추가했을 때 $ _POST을 얻을 수 없습니다. 왜. 여기에 코드를 사전에정의되지 않은 색인?

$to ="enter email here"; 
     $name = $_POST["name"]; 
     $email = $_POST["email"]; 
     $header = "From " . $name; 
     $message = $_POST["message"]; 
     $content = "From: ". $name ."<br /> Email: " . $email ."<br /> Message: " . $message; 

     if(!filter_var($email, FILTER_VALIDATE_EMAIL)){ 
      echo "illegal email"; 
     } 
     else 
      { 
      if (!empty($name) && !empty($message)){ 
       mail($to, $header, $content); 
       echo"sent <br />"; 
       echo $content; 
      }else 
       { 
       if(empty($email)) 
        { 
         echo "your email is empty"; 
        } 
        elseif(empty($name)) 
        { 
         echo "please enter your name"; 
        } 
        elseif(empty($message)){ 
         echo "can't send empty messages"; 
        } 
       } 
      } 

HTML

<form method="post" action="mail.php"> 
     <table> 
      <tr> 
       <td> 
       Name: 
       </td> 
       <td> 
        <input type="text" name="name" /> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        Email: 
       </td> 
       <td> 
        <input type="text" name="email"/> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        Subject: 
       </td> 
       <td> 
        <input type="text" name="subject"/> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        Message: <br /><br/><br/> 
       </td> 
       <td> 
        <textarea style="resize:vertical;" name="message"></textarea> 
       </td> 
      </tr> 
      <tr> 
       <td> 

       </td> 
       <td> 
        <input type="submit"/> 
       </td> 
      </tr> 
     </table> 
    </form> 

감사하고 죄송의 경우 반복

+0

0 % ... 왜 귀찮게합니까? –

+0

PHP 코드가 mail.php 파일에 있습니까? – Dan

+2

이 양식은 스팸봇으로 스팸을 보내는 데 쉽게 사용된다는 것을 알고 계신 것 같습니까? 귀하의 코드가 나에게 맞는 것 같습니다. @Joe 그냥 그를 도와 다른 사람이 이것을 읽는 사람, 모든 것이 포인트에 관한 것은 아닙니다. –

답변

0

그것의 뭔가 관련이 중 하나를 서버 또는해야하므로, 깨진 것을 확실히 $ _POST 코드에서 오류가 발생했습니다.

양식을 가져 오는 웹 사이트에 다른 PHP가 있습니까? 그렇다면 어떤 방식 으로든 영향을 미치지 않는지 확인해야합니다.

한 가지 더 확인해야 할 것은 PHP 업데이트가 실수로 업로드 제한 크기를 "8M"에서 "10MB"로 변경 한 것으로보고되었습니다. php.ini 파일을 스캔하여 업로드 제한에서 "M"대신 원치 않는 "MB"가 아닌지 확인하십시오. 거기에 정말 무엇을 공개한다

<?php var_dump($_POST); ?> 

을 : 당신은 여전히이 후 원인을 발견하지 않은 경우 내가 줄 수

마지막으로 제안, 사용하려고합니다. 당신이 양식을 제출 한 후 그 출력이 표시되지 않는 경우

echo "Testing PHP..."; 

, 오른쪽 파일의 양식을 게시 있는지 확인하십시오 PHP 실제로 정상에이 같은 것을 추가하여 실행되는

1

확인 . 예를 들어, 당신은 사용할 필요가 있습니다

<form method="post" action="/mail.php"> 

또는

<form method="post" action="/php/mail.php"> 

... 코드가 웹 사이트의 구조에 따라.

+0

오, 당신은 악마 같아요! :) – Flosculus

+0

오! 나는 미안하다 젠체, 나는 당신이 실제 경로 자체를 확인하는 것에 대해 언급 한 곳에서 당신의 코멘트를 자세히 읽지 않았다. 나는 내가 약속 한 답변에 대한 당신의 의견을 하이 잭하려고하지 않았다! – Dan

+1

문제 없습니다. – Flosculus

관련 문제