Php 联系人表单需要城市/州代码段

Php 联系人表单需要城市/州代码段,php,forms,email,Php,Forms,Email,我的PHP联系人表单工作正常,并在后续电子邮件中输出包括发件人IP地址在内的所有信息。我在编写PHP表单以接收表单生成的电子邮件中发件人的城市和州时遇到问题 我尝试了几个代码片段,但我得到的最多的是表单上方网页上的城市和州输出。我需要把它写在电子邮件里。寻找免费服务 PHP表单 <?php include 'contact_config.php'; session_start(); error_reporting (E_ALL ^ E_NOTICE); $post = (!empty($

我的PHP联系人表单工作正常,并在后续电子邮件中输出包括发件人IP地址在内的所有信息。我在编写PHP表单以接收表单生成的电子邮件中发件人的城市和州时遇到问题

我尝试了几个代码片段,但我得到的最多的是表单上方网页上的城市和州输出。我需要把它写在电子邮件里。寻找免费服务

PHP表单

<?php
include 'contact_config.php';
session_start();
error_reporting (E_ALL ^ E_NOTICE);

$post = (!empty($_POST)) ? true : false;

if($post)
{
include 'functions.php';

$name = stripslashes($_POST['name']);
$email = trim($_POST['email']);
$level = stripslashes($_POST['level']);
$age = stripslashes($_POST['age']);
$drums = stripslashes($_POST['drums']);
$referral = stripslashes($_POST['referral']);
$city = json_decode(file_get_contents("http://ipinfo.io/{$ip}"));
$subject = " Website Inquiry";
$message = "

Name:  ".$_POST['name']
."

E-mail Address:  ".$_POST['email']
."

Level:  ".$_POST['level']
."

Age:  ".$_POST['age']
."

Drums:  ".$_POST['drums']
."

Referral:  ".$_POST['referral']
."

Message:  ".$_POST['content']
."

City:  ".$_POST['city']
."

IP Address:  ". $_SERVER['REMOTE_ADDR'];

$error = '';

// Check name

if(!$name)
{
$error .= 'Please enter your name.<br />';
}

// Check email

if(!$email)
{
$error .= 'Please enter an e-mail address.<br />';
}

if($email && !ValidateEmail($email))
{
$error .= 'Please enter a valid e-mail address.<br />';
}

if(isset($_SESSION['captcha_keystring']) && strtolower($_SESSION['captcha_keystring']) != strtolower($_POST['captcha']))
{
$error .= "Incorrect captcha numbers.<br />";
}

if(!$error)
{

$mail = mail(WEBMASTER_EMAIL, $subject, $message,
 "From: ".$name." <".$email.">\r\n"
."Reply-To: ".$email."\r\n"
."X-Mailer: PHP/" . phpversion());

if($mail)
{
echo 'OK';
}

}
else
{
echo '<div class="notification_error">'.$error.'</div>';
}

}
?>

查看代码的这一部分:

$message = "

Name:  ".$_POST['name']
."

E-mail Address:  ".$_POST['email']
."

Level:  ".$_POST['level']
."

Age:  ".$_POST['age']
."

Drums:  ".$_POST['drums']
."

Referral:  ".$_POST['referral']
."

Message:  ".$_POST['content']
."

City:  ".$_POST['city']
."

IP Address:  ". $_SERVER['REMOTE_ADDR'];
您正在将变量合并为新变量。只需将$_POST['state']或您如何调用这些字段添加到这个大变量中。因为你已经添加了$u POST['city']


因此,如果它没有显示在电子邮件中,您发送的字段将以不同的方式命名。

使用
$city
,而不是
$\u POST['city']
,否?如果你可以输出它,你应该能够发送它。“寻找免费服务。”错误的地方,那么,我们不是一个免费的编码服务。Stackoverflow编码人员提供了帮助,讨论免费和付费的定位服务。但是,大多数帖子都会将位置输出发送到包含表单的网页,而不是表单生成的电子邮件。你的意思是?城市:“..$\u POST['City']”州:“..$\u POST['State']”。这应该可以做到,但前提是城市和州通过POST提交,并且没有在其他地方生成、操纵或更改。这是否正确$city=json_decode(文件获取内容(“{$ip}”);或者我需要更改吗?我的电子邮件显示:城市:州:IP地址:65.8.161.226城市和州为空…IP地址正确。我做错了什么?好像$u POST['city']和$u POST['state']是空的。仔细检查html公式中的字段是否与括号中的字段名称完全相同