选择IP';使用PHP从MySQL数据库中使用通配符


Selecting IP's with wildcards from MySQL database using PHP

我正试图根据客户端浏览器的IP地址在客户端浏览器上执行Javascript。我有一个用户信息表,比如他们的名字,还有另一个表,它有IP和在它们上执行的Javascript。

例如,我希望每个IP为192.168.0.*(我的本地网络)的人每次查看此页面时都能重定向到谷歌。在数据库中,列出的IP是192.168.0.%,在javascript列中,我有window.location.href = 'http://www.google.com';

IP为192.168.0.5的人转到我的页面。PHP运行一个SQL查询来查找他们的IP,并检查是否有任何特定的Javascript需要执行(如果它不在数据库中,则客户端不会发生任何事情)。它应该发现window.location.href = 'http://www.google.com';需要执行,因为它们符合通配符。

我可以在SQL表中的条目中保留通配符,并且仍然让它们的行为就像在查询中使用一样吗?mysql_query("SELECT javascript_to_execute FROM ip_table WHERE ip='$user_IP'");工作吗?

是的,您可以将通配符%存储为字符串的一部分。IP范围192.168.0.*可以作为192.168.0.%保存在数据库中。查询将是SELECT javascript FROM ip_table WHERE '$user_IP' LIKE ip