从表单中将IP地址插入表中

时间:2014-03-20 16:21:59

标签: php sql forms

提交我的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页面中添加一些内容吗?谢谢

1 个答案:

答案 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')";