[英]PHP form processor not working
我不久前才開始學習php,目前正在建立“與我們聯系”表單,該表單會將用戶輸入發送到我的電子郵件中。 我已經嘗試了好幾天了,但我沒有明白。 我還希望能夠在我的電子郵件中接收用戶的輸入,也能夠檢測用戶的IP地址。 提交表單時,盡管使用了“ localhost”,但我收到了除IP地址之外的所有其他輸入。
我嘗試使用<input type="hidden" name="message" value="<?php echo $_SERVER['REMOTE_ADDR']; ?>">
但我在線閱讀說,最好不要使用<input type="hidden">
然后只處理表單處理器腳本中的所有內容。 請幫助我。
<?php
$emailError = "";
$messageError = "";
function getUserIp(){
$client = $_SERVER['HTTP_CLIENT_IP'];
$forward = $_SERVER['HTTP_X_FORWARD_FOR'];
$remote = $_SERVER['REMOTE_ADDR'];
if(filter_var($client, FILTER_VALIDATE_IP)) {
$ip = $client;
}elseif(filter_var($forward, FILTER_VALIDATE_IP)) {
$ip = $client;
}else{
$ip = $remote;
}
return $ip;
}
if(isset($_POST['submit'])){
//declares variable
$email = $_POST["email"];
$subject = $_POST["subject"];
$message = $_POST["message"];
if(empty($_POST['email'])){
$emailError = "Please enter your email";
}
if(empty($_POST['subject'])){
$subjectError = "Please enter a subject?";
}
}
if(!empty($_POST['email']) && !empty($_POST['subject'])){
// Send the email
$to = "you@yourdomain.com";
$email = "From: $email";
$subject = "Subject: $subject";
$message = "$message" . "\n\n\n==- Sent from the website with IP Address: " . $ip . " -==";;
$headers = "From: $email,";
$send_contact=mail($to,$email,$subject,$message,$headers);
header("Location: domain");
}
?>
在以下部分更改-
if(!empty($_POST['email']) && !empty($_POST['subject'])){
// Send the email
$to = "you@yourdomain.com";
$ip =getUserIp();
$email = "From: $email";
$subject = "Subject: $subject";
$message = "$message" . "\n\n\n==- Sent from the website with IP Address: " . $ip . " -==";;
$headers = "From: $email,";
$send_contact=mail($to,$email,$subject,$message,$headers);
header("Location: domain");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.