我正在尝试在按下按钮时将php中的一堆变量传递给函数。该按钮触发函数正常,但某些变量的值不正确。
<?php
function Commit($TID,$total,$itemCount,$barcoded,$barcodedQTY,$nonBarcoded,$nonBarcodedQTY)
{
var_dump($TID); //int 2 - correct
var_dump($total); //string '0.00' (length=4) - incorrect
var_dump($itemCount); //int 1 -incorrect value
var_dump($barcoded); // array (empty) // incorrect
var_dump($barcodedQTY); // array (empty) // incorrect
var_dump($nonBarcoded); // array (empty) // incorrect
var_dump($nonBarcodedQTY); //null - incorrect
}
var_dump($TID); // int 2
var_dump($total); // string "87.80
var_dump($itemCount);// int 3
var_dump($barcoded); // array (size=1) 0 => string '1' (length=1)
var_dump($barcodedQTY); // array (size=1) 0 => int 4
var_dump($nonBarcoded); // array (size=1) 0 => string '14' (length=2)
var_dump($nonBarcodedQTY); // array (size=1) 0 => string '4' (length=1)
if (isset($_REQUEST['commit']))
{
if(isset($TID,$total,$itemCount,$barcoded,$barcodedQTY,$nonBarcoded,$nonBarcodedQTY))
{
Commit($TID,$total,$itemCount,$barcoded,$barcodedQTY,$nonBarcoded,$nonBarcodedQTY);
}
else
{
echo 'not all variables were set!';
}
}
?>
<div class="row" id="powerwidgets">
<div class="col-md-12 bootstrap-grid">
<form>
<button class="btn btn-success" name="commit" style="float:right;margin-right:5em">Commit</button>
<button class="btn btn-danger" name="revert" style="float:right;margin-right:14em" onClick="location.href ='index.php'">Cancel</button>
</form>
</div>
</div>
答案 0 :(得分:0)
使用变量调用commit:
$TID,$total,$itemCount,$barcoded,$barcodedQTY,$nonBarcoded,$nonBarcodedQTY
你有机会确认他们都有价值观。您需要使用isset()
检查每个人 - 您也可以在三元运算符中执行此操作。
// isset check before assigning variables
if (!isset($_REQUEST['TID'], $_REQUEST['total'], ...)) die(); // something wasn't set
$TID = $_REQUEST['TID'];
$total = $_REQUEST['total'];
...
/////////////////////////
/////////////////////////
// ternary operators
$TID = isset($_REQUEST['TID']) ? $_REQUEST['TID'] : "default value"; // don't forget to sanitize!
$total = isset($_REQUEST['total']) ? $_REQUEST['total'] : "another default value"; // don't forget to sanitize!
// if default values are not desired, just set the "default" as ""
// and check if variables != ""
如果没有更多代码,这可以获得尽可能多的帮助。