2014-04-06 63 views
-2

我一直盯着這個近一個小時,作爲最後的手段,我希望你們中的一些人可能會給我一隻手,弄清楚這個PHP代碼是否顯示爲我的html文件中的普通文本?所有幫助非常感謝。爲什麼這個PHP代碼顯示爲普通文本(html)?

http://jsfiddle.net/YyH27/

<?php 
     $name = $_POST['name']; 
     $email = $_POST['email']; 
     $message = $_POST['message']; 
     $from = 'From:'; 
     $to = ''; 
     $subject = 'Hello'; 
     $human = $_POST['human']; 

     $body = "From: $name\n E-Mail: $email\n Message:\n $message"; 

     if ($_POST['submit'] && $human == '4') {     
      if (mail ($to, $subject, $body, $from)) { 
      echo '<p>Your message has been sent!</p>'; 
     } else { 
      echo '<p>Something went wrong, go back and try again!</p>'; 
     } 
     } else if ($_POST['submit'] && $human != '4') { 
     echo '<p>You answered the anti-spam question incorrectly!</p>'; 
     } 
    ?> 
+2

JSfiddle,真的,真的嗎? –

+0

嘗試將擴展名更改爲.php,一些服務器配置爲不傳遞任何內容到fastcgi,除非它以.php結尾,並且位於特定路徑中。這是比任何轉發任何PHP解釋器更安全的做法。 – amenadiel

+0

JSFiddle是爲JavaScript,不會運行PHP的,你的代碼似乎對我來說是正確的,所以我很肯定你的服務器沒有正確設置,它是什麼服務器(Mac,Windows,Ubuntu,CentOS等)。 ?你安裝了PHP嗎? –

回答

1

我真的只看到兩種可能性:

a)你不運行它的服務器上,但在本地PC上。如果是這樣的話,你沒有存取權限websapce,看WAMP(Windows)或MAMP(蘋果機)

b)你有一個html的文件擴展,而不是.PHP

如果這兩者都不是,給我們更多關於你在哪裏運行腳本,如何保存以及所有內容的信息。由於php內部的錯誤,php應該永遠不會顯示爲純文本,因爲圍繞php的錯誤。

+0

如果我在我的html文件中有php,是否需要將文件重命名爲.php而不是.html? – user3482096

+0

是的。如果文件擴展名不是.php,那麼服務器不會將其作爲PHP進行處理。 – ElGavilan

1

首先,jsfiddle不會運行PHP。

其次,它聽起來像你的PHP服務器配置不正確。

1

如果這是在.html文件中,則需要將Web服務器配置爲run html through PHP

如果您希望JSFiddle運行您的PHP,他們不會那樣做。