Php 将IP地址存储在单列中
这是我的代码,在用户登录时插入一个IP地址值。Php 将IP地址存储在单列中,php,mysql,Php,Mysql,这是我的代码,在用户登录时插入一个IP地址值。 如果用户尝试从其他IP登录,则用户将收到一封电子邮件进行确认。用户单击电子邮件中发送的链接后,IP地址将更新。我不想更新IP地址,而是希望在用户确认其身份时存储所有IP,以便用户能够登录到我们存储在阵列中的相同IP 基本上我想将IP地址存储为一个数组 <?php include 'header.php'; include('config.php'); $eemail=$_GET['email'];
如果用户尝试从其他IP登录,则用户将收到一封电子邮件进行确认。用户单击电子邮件中发送的链接后,IP地址将更新。我不想更新IP地址,而是希望在用户确认其身份时存储所有IP,以便用户能够登录到我们存储在阵列中的相同IP 基本上我想将IP地址存储为一个数组
<?php
include 'header.php';
include('config.php');
$eemail=$_GET['email'];
if(isset($_POST['scode']))
{
$unncode=$_POST['uncode'];
$sql1="SELECT * FROM nennetwork WHERE code ='$unncode'";
$res=mysql_query($sql1);
$rows = mysql_fetch_array($res);
$ccode = $rows['code'] ;
if($unncode==$ccode)
$eemail=$_GET['email'];
$ips = $_SERVER['REMOTE_ADDR'];
if(mysql_query("update nennetwork set useripp= '".$ips ."' WHERE email ='$eemail'"))
{
$mmmsg= "You can <a href='".'index.php'."' class='ac'>Login</a> if the code matches the code that we have sent you.";
}
else{
$mmmsg="Please submit the numeric code that we sent to your email.";
}}
?>
好的,除了SQL注入的大量案例之外(请阅读php.net上的php pdo,非常简单易用的示例)
您的疑难查询没有插入:
if(mysql_查询(“更新网络集useripp=”“$ips.”“其中email=”$eemail'))
可替换为:
INSERT INTO nennetwork (useripp, email) VALUES (?,?)
ON DUPLICATE KEY UPDATE useripp=?;
为此,您需要1个索引:
CREATE UNIQUE INDEX idx_nennetwork_nn_1 ON nennetwork(email);
这将导致重复键触发更新或插入,具体取决于所涉及的数据
(阅读php pdo,了解如何将?、?和?替换为绑定变量和一些更安全的代码)。好的,除了SQL注入的大量案例之外(阅读php.net上的php pdo,非常简单易用的示例)
您的疑难查询没有插入:
if(mysql_查询(“更新网络集useripp=”“$ips.”“其中email=”$eemail'))
可替换为:
INSERT INTO nennetwork (useripp, email) VALUES (?,?)
ON DUPLICATE KEY UPDATE useripp=?;
为此,您需要1个索引:
CREATE UNIQUE INDEX idx_nennetwork_nn_1 ON nennetwork(email);
这将导致重复键触发更新或插入,具体取决于所涉及的数据
(阅读php pdo,了解如何将?、?和?替换为绑定变量和一些更安全的代码)。正确规范化数据,这样就不需要在表中存储数组
在这种情况下,您应该有一个单独的带有IP地址的表:
CREATE TABLE your_user_ip (
id int primary key auto_increment,
userid int not null
ip varchar(5) not null);
正确规范化数据,这样就不需要在表中存储数组
在这种情况下,您应该有一个单独的带有IP地址的表:
CREATE TABLE your_user_ip (
id int primary key auto_increment,
userid int not null
ip varchar(5) not null);
用这个
您的代码中存在一些错误,这些错误都已修复
用这个
您的代码中存在一些错误,这些错误都已修复
您可以包含一些错误输出吗?没有错误,代码运行正常。它更新了值,但没有插入新值“如果用户尝试从其他Ip登录,则用户将收到一封电子邮件进行确认。”请不要我的一天可以更改几次我已经给出了更新查询,但我想插入一个新值,保留以前的值。是的,但我想存储所有值扫描您是否包含一些错误输出?没有错误,代码运行正常。它更新值,但不插入新值“如果用户尝试从不同的Ip登录,则用户将收到一封电子邮件进行确认。”请不要更改我的一天可以更改几次我已给出更新查询,但我也想插入一个新值保留以前的值。是的,但我想存储所有值