我的PHP代码存在一些问题。
<?php
if(!empty($_POST['IP_adress'])){
$IP_adress = $_POST['IP_adress'];
$block[4] = explode(".",$IP_adress);
$i = 0;
var_dump($block);
for($i=0;$i<4;$i++){
if ($block[$i]<0 || $block[$i]>255){//here is line 9
$_SESSION['IP_error'] = "non-valid IP adress";
header('Location: controle.php');
}
}
}
?>
当我启动代码时,var_dump函数表示我的数组($ block)已正确填充,但我有这个错误。
array(1) { [4]=> array(4) { [0]=> string(3) "255" [1]=> string(3) "255" [2]=> string(3) "255" [3]=> string(3) "255" } }
Notice: Undefined offset: 0 in /var/www/html/select.php on line 9
Notice: Undefined offset: 0 in /var/www/html/select.php on line 9
Notice: Undefined offset: 1 in /var/www/html/select.php on line 9
Notice: Undefined offset: 1 in /var/www/html/select.php on line 9
Notice: Undefined offset: 2 in /var/www/html/select.php on line 9
Notice: Undefined offset: 2 in /var/www/html/select.php on line 9
Notice: Undefined offset: 3 in /var/www/html/select.php on line 9
Notice: Undefined offset: 3 in /var/www/html/select.php on line 9
[output errors][1]
你能帮帮我吗?
P.S。对不起语法错误和英语。法国母语人士在这里!
答案 0 :(得分:1)
在第5行中,您使用了$block[4] = explode(".",$IP_adress);
,这就是var_dump输出告诉您的内容。
您已创建一个关联数组,其中展开的IP 数组存储为数组4
的键$block
的值。要访问展开的IP字段,您可以将第5行修改为$block = explode(".",$IP_adress);
,或将第9行修改为if ($block[4][$i]<0 || $block[4][$i]>255){
。