正如标题所说的,我如何在他们注册时将他们的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.";
}
}
}
}
?>