[英]Why am I getting an email notification when users go to my site?
我正在開發一個網站,並且在測試中注意到,轉到URL時會收到一封電子郵件ping。 基本上返回的是空白通知。
我懷疑這與我在“操作”字段中輸入的內容有關嗎?
<form id="frmContact" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
我也在html聲明標簽上方輸入了php腳本...
<?php
$to = "17antonio.ortiz@gmail.com";
$from = $_REQUEST['email'];
$name = $_REQUEST['name'];
$headers = "From: $from";
$subject = "You have a message sent from your site";
$fields = array();
$fields{"name"} = "name";
$fields{"email"} = "email";
$fields{"comments"} = "comments";
$body = "Here is what was sent:\n\n"; foreach($fields as $a => $b){ $body .= sprintf("%20s: %s\n",$b,$_REQUEST[$a]); }
$send = mail($to, $subject, $body, $headers);
?>
<!DOCTYPE html>
任何見識將不勝感激!
PS有反正使電子郵件中的文本向左對齊嗎? :)看起來有點有趣居中!
因為您的腳本是在每次請求頁面時執行的。 您要做的是設置某種條件。 例如,您應該檢查是否對此頁面發出了POST請求,然后才執行PHP代碼(這是如果您通過POST提交表單數據)。 在這里查看示例。
每次加載頁面時都會執行php代碼。 您可能想要的是僅在表單發布后才運行php代碼:
if ($_SERVER['REQUEST_METHOD'] == "POST")
{
// paste all your php code to send the email here
}
您應該先檢查表單是否已發布或您自己。 您可以通過檢查是否設置了任何表單字段來檢查它
<?php
if(isset($_REQUEST['email']))
{
$to = "17antonio.ortiz@gmail.com";
$from = $_REQUEST['email'];
$name = $_REQUEST['name'];
$headers = "From: $from";
$subject = "You have a message sent from your site";
$fields = array();
$fields{"name"} = "name";
$fields{"email"} = "email";
$fields{"comments"} = "comments";
$body = "Here is what was sent:\n\n"; foreach($fields as $a => $b){ $body .= sprintf("%20s: %s\n",$b,$_REQUEST[$a]); }
$send = mail($to, $subject, $body, $headers);
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.