首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php函数调用参数不传递

php函数调用参数不传递
EN

Stack Overflow用户
提问于 2014-09-03 02:54:02
回答 1查看 56关注 0票数 0

当按下按钮时,我试图将php中的一组变量传递给函数。按钮可以很好地触发函数,但有些变量的值不正确。

代码语言:javascript
复制
        <?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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-03 03:13:55

使用变量调用commit:

代码语言:javascript
复制
$TID,$total,$itemCount,$barcoded,$barcodedQTY,$nonBarcoded,$nonBarcodedQTY

很可能你还没有确认它们都有价值。您需要用isset()检查每个操作--您也可以在三元操作符中这样做。

代码语言:javascript
复制
// 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 != ""

但是,如果没有更多的代码,这将是您所能得到的最大帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25635504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档