如何在注册时将客户端IP地址添加到数据库


How do I add client IP Address to Database while registering.

正如标题所说的,我如何在他们注册时将他们的IP地址添加到我的SQL数据库中。我正在托管一个游戏服务器来跟踪哪个ID在哪个IP上。

        <?php
           if($_POST['B1'])
                {
                mysql_select_db($mydbacc);
                $userid = trim($_POST['id']);
                $password=trim($_POST['pass']);
                $passretype=trim($_POST['retpass']);
                $hash=$_POST['hash'];
            if($password != $passretype) {
                        echo "Password not equal to Retyped Password.";
                    }else{
                        if(!ereg("^[0-9a-zA-Z]{4,12}$",$password))
                        {
                            echo "Only letters or numbers, length of 4 to 12 characters";
                        }
                        else
                        {
                            $res = mysql_query("select * from account where name = '".$userid."' order by id desc");
                            if(mysql_num_rows($res) == 0)
                            {
                                mysql_query("insert into account (name,Password,Reg_date) values ('".$userid."','".$hash."','".date("y-m-d H:i:s", time())."')");
                                echo "Account registered successfully.";
                            }
                            else
                            {
                                echo "Account Already exists in database.";
                            }
                        }
                    }

                    }
           ?>

这是用户用来注册帐户的代码,是否有任何代码放在某个地方,它可以在IP表上保存他们的IP地址?

谢谢!

尝试$ip = $_SERVER['REMOTE_ADDR'];

应该给你IP

您需要在Account表中创建一列来保存IP地址,然后通过更改查询插入该列,如下所示:

       <?php
       if($_POST['B1'])
            {
            mysql_select_db($mydbacc);
            $userid = trim($_POST['id']);
            $password=trim($_POST['pass']);
            $passretype=trim($_POST['retpass']);
            $hash=$_POST['hash'];
            $IP = $_SERVER['REMOTE_ADDR'];
        if($password != $passretype) {
                    echo "Password not equal to Retyped Password.";
                }else{
                    if(!ereg("^[0-9a-zA-Z]{4,12}$",$password))
                    {
                        echo "Only letters or numbers, length of 4 to 12 characters";
                    }
                    else
                    {
                        $res = mysql_query("select * from account where name = '".$userid."' order by id desc");
                        if(mysql_num_rows($res) == 0)
                        {
                            mysql_query("insert into account (name,Password,Reg_date, IP) values ('".$userid."','".$hash."','".date("y-m-d H:i:s", time())."), '".$IP."'");
                            echo "Account registered successfully.";
                        }
                        else
                        {
                            echo "Account Already exists in database.";
                        }
                    }
                }

                }
       ?>