提交我的PHP表单时,我试图获取最终用户的IP地址,并将其插入带有记录的数据库表中。
我的表单发布到另一个php页面。:
<form name="contact_form" method="post" action="http://x.com/promotions/boston_mailer.php">
<table border="0"> ...etc...
我将我的boston_mailer.php设置为获取IP地址:
$ipaddress = $_SERVER['REMOTE_ADDR'];
$sql = "INSERT INTO
ucm_signup
( fname, lname, email, phone, iama, buyfrom, ipaddress )
VALUES
( '$_POST[fname]', '$_POST[lname]', '$_POST[mail]', '$_POST[phone]',
'$_POST[iama]', '$_POST[buyfrom]', '$_SERVER[$ipaddress]')";
我的数据库表(phpMyAdmin)有一个名为“ipaddress”的列,设置为大小为30的VARCHAR。
当我提交表单时,IP地址为零。 “”。我错过了什么?我需要在form.php页面中添加一些内容吗?谢谢
答案 0 :(得分:1)
您的查询不是$_SERVER[$ipaddress]
,而是发送$ipaddress
,因为$_SERVER[$ipaddress]
未定义。
正确的方式......
$ipaddress = $_SERVER['REMOTE_ADDR'];
$sql = "INSERT INTO
ucm_signup
( fname, lname, email, phone, iama, buyfrom, ipaddress )
VALUES
( '$_POST[fname]', '$_POST[lname]', '$_POST[mail]', '$_POST[phone]',
'$_POST[iama]', '$_POST[buyfrom]', '$ipaddress')";