Я недавно начал изучать php, и сейчас я создаю форму «Связаться с нами», которая отправит пользовательский ввод на мой адрес электронной почты. Я много дней думал об этом, но я не понимаю. Я также хочу получать вход пользователя в свой адрес электронной почты, а также обнаруживать IP-адрес пользователя. Когда я отправил форму, я получил каждый другой ввод, но IP-адрес, хотя я использовал «localhost».
Я пробовал с <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"); }