如何在注册系统中保存IP地址?

时间:2015-01-01 16:51:36

标签: php ip-address server-variables

我创建了一个可以将用户注册到数据库中的代码。但我也想保存IP。 有人可以帮我解决我的问题吗?因为我从未使用IP创建代码,所以我已尝试搜索但没有。

$podeCriarConta = True; 

    if(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) 
    { 
     $_SESSION['error'] = "<img src='images/picons/error.png'></img> E-mail inválido! Por favor introduza um válido.<br />";  
     $podeCriarConta = False;       
   } 

    if(empty($_POST['password'])) 
    { 
     $_SESSION['error'] = "<img src='images/picons/error.png'></img> Password inválida! Por favor introduza uma válida.<br />";
     $podeCriarConta = False;        
    } 


    if(empty($_POST['username'])) 
    { 
     $_SESSION['error'] = "<img src='images/picons/error.png'></img> Utilizador inválido! Por favor introduza um Utilizador válido.<br />"; 
     $podeCriarConta = False;       
   } 

    if(empty($_POST['nome'])) 
    { 
        $_SESSION['error'] = "<img src='images/picons/error.png'></img> Nome inválido! Por favor introduza um Nome válido.<br />";
        $podeCriarConta = False;                
    } 

    $query = " 
        SELECT 
            1 
        FROM users 
        WHERE 
            username = :username 
    "; 

    $query_params = array( 
        ':username' => $_POST['username'] 
    ); 

    try 
    { 
        $stmt = $db->prepare($query); 
        $result = $stmt->execute($query_params); 
    } 
    catch(PDOException $ex) 
    {  
        die("Failed to run query line 68: " . $ex->getMessage()); 
    } 
    $row = $stmt->fetch(); 

    if($row) 
    { 
     $_SESSION['error'] = "<img src='images/picons/error.png'></img> Nome de Utilizador já se encontra em uso!<br />"; 
    } 
    $query = " 
        SELECT 
            1 
        FROM users 
        WHERE 
            email = :email 
    "; 

    $query_params = array( 
        ':email' => $_POST['email'] 
    ); 

    try 
    { 
        $stmt = $db->prepare($query); 
        $result = $stmt->execute($query_params); 
    } 
    catch(PDOException $ex) 
    { 
       $_SESSION['error'] .= "Failed to run query line 103: " . $ex->getMessage(); 
    } 

    $row = $stmt->fetch(); 

    if($row) 
    { 
        $_SESSION['error'] .= "<img src='images/picons/error.png'></img>  E-mail inválido! Já se encontra em uso.<br />"; 
    } 
    $query = " 
        INSERT INTO users ( 
            nome,
            username, 
            password, 

    "; 

1 个答案:

答案 0 :(得分:2)

您的问题没有显示您的正确要求,但可能是您正在搜索:

$Ip = $_SERVER['REMOTE_ADDR'];  //this will gives you IP address from which the user is viewing the current page.

然后只需保存这个&#34; $&#34;到您的数据库。