1

データを電子メールIDに電子メールで送信するためのフォームを作成しました。しかし、フォームに入力して送信すると、ブラウザは次のように言っています。

サーバーエラー。の取得中に Web サイトでエラーが発生しましたhttp://localhost/process.php

コードは次のとおりです。

form1.html

<html>
<head>
<title>Form</title>
</head>
<body>

<form method = "post" action = "process.php">
Enter your name <input type = "text" name = "namee" id = "namee" value = "enter your name" />
Enter your phone number <input type = "text" name = "phone" id = "phone" />
<br>
<input type  = "submit" value = "post it!" />
</form>


</body>
</html>

プロセス.php

<?php

$person_name = $_POST["namee"];
$person_number = $_POST["phone"];

$to = "example234671_1@gmail.com";
$subject = "form filled up";
$body = $person_name. "<br>" $person_number . "<br>" . $person_name ;


mail($to, $subject, $body);

echo "Thank you!" ;
?>

エラーは何ですか??

4

4 に答える 4

2
$body = $person_name. "<br>" $person_number . "<br>" . $person_name ;

この行は間違っています。連結子がありません。

$body = $person_name. "<br>" . $person_number . "<br>" . $person_name ;
于 2013-08-31T15:12:38.970 に答える
1

ここに構文エラーがあります。

$body = $person_name. "<br>" $person_number . "<br>" . $person_name ;

"<br>"次のように、連結ドットが後に続く必要があります。

$body = $person_name. "<br>" . $person_number . "<br>" . $person_name ;

ただし、開発中は、php エラーの表示を有効にする必要があります。PHP ランタイム構成をご覧ください。

于 2013-08-31T15:12:58.270 に答える
1

連結ドットを逃したと既に述べたように、別のエラーも表示されます。

"<br>" 

は HTML であり、適切なコンテンツ タイプがないと、電子メールに HTML を表示できません。

詳細と例については、http://php.net/manual/en/function.mail.php をご覧ください

または、改行に \n を使用します。

于 2013-08-31T15:16:59.787 に答える
1

メールを適切にフォーマットするには、改行として使用するヘッダーを使用するtext/html必要があります。<br>

それ以外の場合、メール本文は次のように表示されますJohn Doe<br>213-555-0123<br>etc.

さらに、他の人がすでに述べているように、次の連結が欠落しています。

$body = $person_name. "<br>" $person_number . "<br>" . $person_name ;

次のように読む必要があります。

$body = $person_name. "<br>" . $person_number . "<br>" . $person_name;

ヘッダーを追加して書き直します。

<?php

$person_name = $_POST["namee"];
$person_number = $_POST["phone"];
$to = "example@gmail.com";
$subject = "form filled up";
$from="email@example.com";
$body = $person_name. "<br>" . $person_number . "<br>" . $person_name;

$header = 'MIME-Version: 1.0' . "\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$header .= "From: ". $from . " $from " . "\r\n";

mail($to, $subject, $body, $header);
echo "Thank you!";
?>
于 2013-08-31T15:28:34.927 に答える