
同じスクリプトで送信時(shí)に HTML フォームから PHP を使用して電子メールを送信する
このスクリプトを使用すると、次を使用して HTML フォームから電子メールを送信できます。別のページまたはスクリプトに切り替えることなく PHP を?qū)g行します。
コード説明:
<?php
if (isset($_POST['submit'])) {
$to = $_POST['email'];
$from = "[email protected]";
$headers = "From:" . $from;
$message = "This is a message from an HTML form.\n\n";
foreach ($_POST as $field => $value) {
$message .= ucfirst($field) . ": " . $value . "\n";
}
if (mail($to, "Message from HTML Form", $message, $headers)) {
echo "Mail Sent.";
} else {
echo "Failed to send mail.";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>HTML Form</title>
</head>
<body>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
<label for="name">Name:</label>
<input type="text">
このコードでは、mail_handler.php スクリプトは HTML フォームの一部です。フォームが送信されると、データは同じスクリプトによって処理され、mail() 関數(shù)を使用して電子メールが送信されます。これにより、ユーザーは同じページに留まり、シームレスなエクスペリエンスが提供されます。
追加情報(bào):
- フォームのデフォルトのアクションは、フォーム自體にデータを POST することです。 。アクションを「」または同じ PHP スクリプトとして指定すると、データは処理のために同じページに送信されます。
- コード內(nèi)の foreach ループは、$_POST 配列を反復(fù)処理し、電子メール メッセージの本文を構(gòu)築します。
- htmlspecialchars() 関數(shù)は、フィールド內(nèi)の特殊文字をエスケープすることでクロスサイト スクリプティング (XSS) 攻撃を防ぎます。入力します。
以上が同じページで PHP を使用して HTML フォームから電子メールを送信する方法の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。