0

我必须把 2 个 id-s 放在一起,$_POST然后我想炸掉它们,例如:

我的 id-s 是 38 和 310。我在我的 html 文件中将 id-s 设置为这个 id = "38.310"。

$_POST我想爆炸 id-s 之后:

$id=$_POST['id'];

echo($id);  // Gives 38.31
$new_id = explode(".", $id);

echo($new_id[0]); // Gives 38
echo($new_id[1]); // Gives 31

让这些 id-s 不四舍五入的方法是什么?

我需要38310!id310也可以1003000...

编辑:

function dostuff(document, message, id, action) {
        var eingabe;
        eingabe = confirm(message);
        if (eingabe === true) {
            document.msgform.action.value = action;
            document.msgform.id.value = id;
            document.msgform.submit();
        } else {
            return true;
        }
        return false;
    }

关联

<a href="#" onclick="dostuff(document, 'MESSAGE',<?php echo($row['vID']);?>.<?php echo($row['id']);?>,'FITTER_fitter_repaired');" class="button small red" >ACTION</a>

$row['vID'] = 38

$行['ID'] = 310

我的提交看起来像这样

<form enctype="multipart/form-data" name="msgform" action="" method="post">
    <input type="hidden" value="" name="action"/>
    <input type="hidden" value="" name="id"/>
</form>
4

4 回答 4

5

不是 100% 确定你为什么这样做,但为什么不直接使用 POST 数组

id[]=38&id[]=310
于 2013-07-30T22:01:04.807 回答
2

是一种让这些 id 不四舍五入的方法吗?

有几种方法,我更喜欢将其转换为整数:

$id = (int)$_POST['id'];

其他方式是intval()or floor()

于 2013-07-30T22:00:30.580 回答
1

我不知道该函数dostuff在做什么,但 Javascript 是邪恶的。在值周围加上引号。通过这种方式,不涉及强制转换,它被作为字符串发布。

<a href="#" 
onclick="dostuff(document, 'MESSAGE', '<?php echo($row['vID']);?>.<?php echo($row['id']);?>','FITTER_fitter_repaired');" class="button small red" >ACTION</a>
                                      ^                                                    ^                             

编辑:

但我也认为李的解决方案会更好。只需制作 2 个输入字段并将它们填写到您的dostuff函数中。您还可以为输入字段提供 id 以使其更容易填写。

<input id="id1" type="hidden" value="" name="id[]"/>
<input id="id2" type="hidden" value="" name="id[]"/>
于 2013-07-30T22:23:34.950 回答
1

或者,如果您不理解@Lee 的回答,您可以使用 a 以外的其他东西.作为分隔符,因此 PHP 不会假定变量是数字。最好不要使用昏迷,因为在某些国家/地区这是小数。

因此,例如使用美元符号 `id="38$310"

$new_id = explode("$", $id);

于 2013-07-30T22:10:44.073 回答