こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

[PHP]PCアクセス制限について

以下のように設定しましたが、「89」番目がエラーになってしまいます。
何が原因なのでしょうか?

Parse error: syntax error, unexpected $end in /index.php on line 89
<?php
if (isDoCoMoIP()) {
}
if (isAuIP()) {
}
if (isSoftBankIP()) {
}


function isDoCoMoIP(){
{
require_once 'Net/IPv4.php';// PEAR Net_IPv4
//DoCoMo のIP帯域をセット
$ip_list = array(
'210.153.84.0/24',
'210.136.161.0/24',
'210.153.86.0/24',
'124.146.174.0/24',
'124.146.175.0/24'
);
foreach ($ip_list as $ip) {
if (Net_IPv4::ipInNetwork($_SERVER['REMOTE_ADDR'], $ip)) {
print "DoCoMo";
return true;
}
}
}
function isAuIP(){
{
require_once 'Net/IPv4.php';// PEAR Net_IPv4
// au のIP帯域をセット
$ip_list = array(
'210.230.128.224/28',
'121.111.227.160/27',
'61.117.1.0/28',
'219.108.158.0/27',
'219.125.146.0/28',
'61.117.2.32/29',
'61.117.2.40/29',
'219.108.158.40/29',
'219.125.148.0/25',
'222.5.63.0/25',
'222.5.63.128/25',
'222.5.62.128/25',
'59.135.38.128/25',
'219.108.157.0/25',
'219.125.145.0/25',
'121.111.231.0/25',
'121.111.227.0/25',
'118.152.214.192/26',
'118.159.131.0/25',
'118.159.133.0/25'
);
foreach ($ip_list as $ip) {
if (Net_IPv4::ipInNetwork($_SERVER['REMOTE_ADDR'], $ip)) {
print "au";
return true;
}
}
}
function isSoftBankIP(){
{
require_once 'Net/IPv4.php';// PEAR Net_IPv4
//SoftBank のIP帯域をセット
$ip_list = array(
'123.108.236.0/24',
'123.108.237.0/27',
'202.179.204.0/24',
'202.253.96.224/27',
'210.146.7.192/26',
'210.146.60.192/26',
'210.151.9.128/26',
'210.169.130.112/28',
'210.175.1.128/25',
'210.228.189.0/24',
'211.8.159.128/25'
);
foreach ($ip_list as $ip) {
if (Net_IPv4::ipInNetwork($_SERVER['REMOTE_ADDR'], $ip)) {
print "SoftBank";
return true;
}
}
}
return false;
}
print "PC";
?>

投稿日時 - 2009-04-12 17:42:39

QNo.4873712

すぐに回答ほしいです

質問者が選んだベストアンサー

質問文のコードだけ見ると、括弧の対応が取れてないような。
単なる転記誤りかもしれませんが。

まあsyntax errorだから、lintモードでチェックしてみるか、正しく動くまでコードを削って、そこからコードを追加していってどこで失敗してるか確認してみては。

投稿日時 - 2009-04-12 18:03:38

補足

以下のように直してみました。
ですが、
↓こんなエラーが出てしまいました。
Parse error: syntax error, unexpected '}' in /index.php on line 89
<?php
if (isDoCoMoIP()) {
}
if (isAuIP()) {
}
if (isSoftBankIP()) {
}


function isDoCoMoIP(){
require_once 'Net/IPv4.php';// PEAR Net_IPv4
{
//DoCoMo のIP帯域をセット
$ip_list = array(
'210.153.84.0/24',
'210.136.161.0/24',
'210.153.86.0/24',
'124.146.174.0/24',
'124.146.175.0/24'
);
foreach ($ip_list as $ip) {
if (Net_IPv4::ipInNetwork($_SERVER['REMOTE_ADDR'], $ip)) {
print "DoCoMo";
return true;
}
}
}
}
function isAuIP(){
require_once 'Net/IPv4.php';// PEAR Net_IPv4
{
// au のIP帯域をセット
$ip_list = array(
'210.230.128.224/28',
'121.111.227.160/27',
'61.117.1.0/28',
'219.108.158.0/27',
'219.125.146.0/28',
'61.117.2.32/29',
'61.117.2.40/29',
'219.108.158.40/29',
'219.125.148.0/25',
'222.5.63.0/25',
'222.5.63.128/25',
'222.5.62.128/25',
'59.135.38.128/25',
'219.108.157.0/25',
'219.125.145.0/25',
'121.111.231.0/25',
'121.111.227.0/25',
'118.152.214.192/26',
'118.159.131.0/25',
'118.159.133.0/25'
);
foreach ($ip_list as $ip) {
if (Net_IPv4::ipInNetwork($_SERVER['REMOTE_ADDR'], $ip)) {
print "au";
return true;
}
}
}
}
function isSoftBankIP(){
require_once 'Net/IPv4.php';// PEAR Net_IPv4
{
//SoftBank のIP帯域をセット
$ip_list = array(
'123.108.236.0/24',
'123.108.237.0/27',
'202.179.204.0/24',
'202.253.96.224/27',
'210.146.7.192/26',
'210.146.60.192/26',
'210.151.9.128/26',
'210.169.130.112/28',
'210.175.1.128/25',
'210.228.189.0/24',
'211.8.159.128/25'
);
foreach ($ip_list as $ip) {
if (Net_IPv4::ipInNetwork($_SERVER['REMOTE_ADDR'], $ip)) {
print "SoftBank";
return true;
}
}
}
}
return false;
}
print "PC";
?>

投稿日時 - 2009-04-15 21:01:49

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

{}のセットが合ってないのが原因です。
プログラムは良く見てましょう!

投稿日時 - 2009-04-12 18:03:33

あなたにオススメの質問