1

標準の html フォームで contact.php ファイルを作成しましたが、PHP を使用して入力された情報を取得し、電子メールを作成しました。

このページは現在、私の Web サイトの 1 つで動作していますが、ファイルをコピーして何も変更していない場合、ブラウザはそれをコメントアウトします。

これを回避する方法をオンラインで調べましたが、サーバーに問題があると言っているだけで、両方のWebサイトが同じサーバー上にあるため、問題ではありません。

一部の人々が推奨するように、追加ハンドラーを htaccess ファイルに入れてみましたが、効果はありませんでした。

どんな助けでも大歓迎です。

これが私のコードです

$ToEmail = 'email@hotmail.co.uk'; 
$EmailSubject = 'Website Enquiry '; 
$mailheader = "From: ".$_POST["email"]."\r\n"; 
$mailheader .= "Reply-To: ".$_POST["email"]."\r\n"; 
$mailheader .= "Content-type: text/html;"; 
$MESSAGE_BODY = "<strong>Name:</strong> <br />".$_POST["yourname"]."<br>"; 
$MESSAGE_BODY .= "<strong>Email:</strong><br /> ".$_POST["email"]."<br>"; 
$MESSAGE_BODY .= "<strong>Phone Number:</strong> <br /> ".$_POST["Telephone-Number"]."<br>";
$heard = $_POST['heard'];
foreach($_POST['heard'] as $value) {
$heard_msg .= "$value, ";   
}
$MESSAGE_BODY .= "<strong>How they heard about us:</strong><br /> ".$heard_msg."<br>";
$MESSAGE_BODY .= "<strong>Enquiry:</strong> <br /> ".nl2br($_POST["Message"])."<br>"; 
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure");
echo '<h1>Thanks for you Enquiry</h1>'; 
echo '<p>Please carry on browsing our site</p>'; 
echo '<a href="http://www.website.com/"> Return to home page</a>';

「php」で始まるすべての php if ステートメント内

4

2 に答える 2

5

ブラウザーは PHP をコメントアウトすべきではなく、PHP を表示することさえすべきではありません。

最も可能性が高いのは、<?が PHP エンジンによって解析されておらず、ブラウザに配信されていないことです。ブラウザはそれを不明なタグとして扱い、無視します。

解決策は次のとおりです。

  1. すべての PHP インストールで有効になっているわけではないため、短いタグは使用しないでください。<? some codeに変更した場合<?php some code
  2. PHP をサポートするサーバーで PHP を実行しようとしていることを確認してください。
于 2013-05-16T08:31:26.170 に答える