我正在尝试启动管理面板的某种开始,所以如果一个IP等于一个允许的IP,它将显示一个编辑按钮。我目前有我的本地主机和我的服务器的IP仅用于测试目的。但是一旦我给$allowed设置了一个以上的IP,它就不起作用了。
代码如下:
<?PHP
$ip = $_SERVER['REMOTE_ADDR'];
$allowed = '127.0.0.1, 67.202.102.224';
?>
</head>
<body>
<div id="page">
<?PHP
if ($ip == $allowed){
echo '<p>
<button class="btn" onclick="exampleClickToEdit();">Edit</button>
<button class="btn" onclick="exampleClickToSave();">Save</button>
</p>';
}
?>发布于 2012-08-30 19:43:38
也许可以使用in_array()
<?php
$ip = $_SERVER['REMOTE_ADDR'];
$allowed = array('127.0.0.1',
'::1',
'67.202.102.224',
);
?>
<!--dont forget the rest of your head-->
</head>
<body>
<div id="page">
<?php
if (in_array($ip, $allowed)){
echo '<p>
<button class="btn" onclick="exampleClickToEdit();">Edit</button>
<button class="btn" onclick="exampleClickToSave();">Save</button>
</p>';
}
?>发布于 2012-08-30 19:44:21
$ip永远不会与$allowed相提并论。您可以检查$allowed字符串中是否存在$ip:
if (strpos($allowed, $ip) !== FALSE) {发布于 2012-08-30 19:44:59
我不是php专家,但你似乎试图将$ip比作一个永远是假的长字符串127.0.0.1, 67.202.102.224。您需要像这样分隔您的IP:"127.0.0.1", "67.202.102.224"
https://stackoverflow.com/questions/12196062
复制相似问题