2013-07-31 4 views
-1

현재 웹 사이트의 문의 양식 초기 단계에 있지만 PHP 코드를 표시하고 코드를 실행하지 않습니다.PHP 문의 양식이 제대로 작동하지 않습니다.

PHP 코드는 직접 실행될 때 (즉, localhost/script.php에서 실행될 때) 작동합니다.

<?php 
     if ($_POST['email']<>'') { 

      require_once 'Mail.php'; 

      $from = "[email protected]"; 
      $to = "[email protected]"; 
      $subject = "Test subject"; 
      $body = "Test"; 

      $host = "ssl://smtp.gmail.com"; 
      $port = "465"; 
      $username = "[email protected]"; 
      $password = "mypassword"; 

      $headers = array ('From' => $from, 
      'To' => $to, 
      'Subject' => $subject); 
      $smtp = Mail::factory('smtp', 
      array ('host' => $host, 
       'port' => $port, 
       'auth' => true, 
       'username' => $username, 
       'password' => $password)); 

      $mail = $smtp->send($to, $headers, $body); 

      if (PEAR::isError($mail)) { 
      echo("<p>" . $mail->getMessage() . "</p>"); 
      } else { 
      echo("<p>Message successfully sent!</p>"); 
      } 

     } else { 

      <form method="post"> 
       <input type="text" name="nombre" placeholder="Nombre"><p></p> 
       <input type="text" name="email" placeholder="Email"><p></p> 
       <input type="text" name="telefono" placeholder="Teléfono"><p></p> 
       <textarea rows=6 name="mensaje" class="span4" placeholder="Mensaje"></textarea><p></p> 

       <input type="submit" class="btn btn-primary" value="Enviar"> 
      </form> 

     }; 
    ?> 

양식 (순간) PHP 스크립트 관련이없는 것을 내가 알고, 나는 그냥 스크립트 시도하고 실행하려면 :

여기에 코드입니다.

그리고 이것은 내가 HTML을 열 때 보여줍니다 것입니다 (http://i.imgur.com/6jhvcpH.jpg)

+2

PHP 태그를 닫지 않고 HTML과 PHP를 혼합했습니다. 당신은 편집인을 위해 무엇을 사용하고 있습니까? – DevlshOne

+1

! = 같지 않음 또는 이벤트가 더 나은 경우 "if (! empty ($ _ POST [ 'email']))"를 사용하십시오. php 여는 태그와 닫는 태그를 확인하십시오. PHP 코드에 html을 추가하고 있습니다. – user1759572

답변

0

로 교체 그것은 html 형식 다음에 다시 나타납니다.

} else { ?> 

    start html stuff... 
    end html stuff 

<?php 
    } //end else 
?> 
+0

감사! 이것을 수정하고 확장자를 .html에서 .php로 변경하여 수정했습니다. – user2020618

0

열고 다음, 다른 한 후 PHP 블록을 닫아야합니다

<form method="post"> 
     <input type="text" name="nombre" placeholder="Nombre"><p></p> 
     <input type="text" name="email" placeholder="Email"><p></p> 
     <input type="text" name="telefono" placeholder="Teléfono"><p></p> 
     <textarea rows=6 name="mensaje" class="span4" placeholder="Mensaje"></textarea><p></p> 

     <input type="submit" class="btn btn-primary" value="Enviar"> 
    </form> 

echo '<form method="post"> 
     <input type="text" name="nombre" placeholder="Nombre"><p></p> 
     <input type="text" name="email" placeholder="Email"><p></p> 
     <input type="text" name="telefono" placeholder="Teléfono"><p></p> 
     <textarea rows=6 name="mensaje" class="span4" placeholder="Mensaje"></textarea><p></p> 

     <input type="submit" class="btn btn-primary" value="Enviar"> 
    </form>'; 
0

에코 HTML 양식 및 파일을 확인은 .PHP 확장자 (.PHP)를 사용

0

비록 <> 당신이 사용할 수있는 수 비항 등 연산자는! = 연산자. if 문에는 하나의 연산자 만 있습니다. ! =와 <>의 유일한 차이점이 우선합니다.

내가 사용하는 것이 비록는 isset

if (isset($_POST['email'])) 

또는

if (!empty($_POST['email'])) 

가 더 읽기 때문에 빈

.

또한 html과 PHP가 혼합되어 있습니다. PHP에서 html을 반향시켜야합니다. 당신은 그들이 엄격한 기준을 지원하지 않는 정적 Mail::factoryPEAR::isError를 호출하기 때문에 귀하의 코멘트에

echo '<form method="post"> 
    <input type="text" name="nombre" placeholder="Nombre"><p></p> 
    <input type="text" name="email" placeholder="Email"><p></p> 
    <input type="text" name="telefono" placeholder="Teléfono"><p></p> 
    <textarea rows=6 name="mensaje" class="span4" placeholder="Mensaje"></textarea><p></p> 

    <input type="submit" class="btn btn-primary" value="Enviar"> 
    </form>'; 

오류는 당신이 얻을.

당신은 당신의 코드의 상단에 다음 함수 호출

error_reporting(E_ALL^E_STRICT); 

와 엄격한 오류를 해제 할 수 있습니다.

관련 문제