我正在使用jquery插件,它对我的字段进行了屏蔽,并且只允许用户输入正确的值。它工作得很好,但现在当我提交表单时,对象IP是一个数组,我只需要检索IP号(10.1.25.2/30)
结果:
$ip = $_POST['ipaddress'];
print_r($ip);
//It returns to me
Array ( [abcd] => Array ( [0] => 10.1.25.2/30 ) )
我需要内爆数组或以这种方式做某事..请帮忙。
整个代码:
HTML页面包含jQuery插件:
<script src="scripts/jquery.min.js" type="text/javascript">
<script src="jquery.validate/jquery.caret.js" type="text/javascript"></script>
<script src="jquery.validate/jquery.ipaddress.js" type="text/javascript"></script>
<script>
$(function(){
$('#ip').ipaddress({cidr:true});
});
</script>
<form name="form1" method="post" action="equipAction.php">
<tr>
<td>IP</td>
<td><input name="ipaddress[abcd][]" id="ip" type="text" value="<?=$ip;?>" />
<b>»» IP atribuído ao contrato do Cliente/Torre </b> </td>
</tr>
<input type='submit' name="alt" value="Edit" class="btn" />
</form>
现在我的动作PHP代码:
if ($_POST["alt"] == "Edit") {
# Dados do form
$idequip = $_GET['id'];
$contrato = $_POST['contrato'];
$transmi = $_POST['transmissor'];
$ip = $_POST['ipaddress'];
$local = $_POST['local']; //tipo_equip
$obs = $_POST['obs'];
$usado = $_POST['usado'];
echo "<br />";
print_r($ip);
# Atualiza dados do equipamento mestre
# desenvolvendo
$res = mysql_query("UPDATE equipment SET idtorre='$transmi', ip='$ip', tipo_equip='$local', obs='$obs', usado_cliente='$usado' WHERE id='$idequip'") or die("Erro na query: atualização equipamento mestre.");
#header("Location: equipamento_adm.php?return=3&ip=$control");
exit;
}
那一切!
答案 0 :(得分:4)
这是一个简单的多维数组,您可以像这样检索您的值:
$ip = $_POST['ipaddress'];
$justip = $ip['abcd'][0];
现在$justip
变量中只有ip地址。
您应该阅读有关数组的文档:http://ch.php.net/manual/en/language.types.array.php
答案 1 :(得分:1)
此页面上有多少表格?
它出现在数组而不是$ _POST ['ipaddress']中的原因是:html形式的<input name="ipaddress[abcd][]" id="ip" type="text" value="<?=$ip;?>" />
。 [abcd][]
使它使ipaddress成为一个数组,其中包含一个带有'abcd'键的数组,其中第一个可用键填充了表单中的值。如果您执行了<input name="ipaddress" id="ip" type="text" value="<?=$ip;?>" />
,那么IP地址将直接通过$_POST['ipaddress']
提供。
如果您有多个表单,请使用name="ipaddress[]"
,每个表单都会填充$_POST['ipaddress']
数组的一个键,因此$_POST['ipaddress'][0]
将是第一个表单,$_POST['ipaddress'][1]
将是第二种形式,等等。
答案 2 :(得分:0)
顺便说一下,如果你从
切换<input name="ipaddress[abcd][]" id="ip" type="text" value="<?=$ip;?>" />
到
<input name="ipaddress[abcd]" id="ip" type="text" value="<?=$ip;?>" />
你将摆脱数组(注意输入的name属性中删除的[]
)。