2014-09-03 2 views
0

Я пытаюсь передать кучу переменных в php для функции при нажатии кнопки. Кнопка запускает функцию, но некоторые из переменных имеют неправильные значения.Параметры вызова функции 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

Проверьте свой '$ _REQUEST' или ваши входы –

+0

что вы получаете в var' $ total' и '$ barcode'? – kefy

+0

Перед отправкой динамических значений в качестве проверки параметров статическими значениями. Возможно, значение $ _REQUEST установлено неправильно. – MH2K9

ответ

0

Вы называете фиксации с переменными:

$TID,$total,$itemCount,$barcoded,$barcodedQTY,$nonBarcoded,$nonBarcodedQTY 

Скорее всего, вы не подтвердили, что все они имеют значения. Вам нужно проверить, что для каждого из них с isset() - вы также можете сделать это в тройном операторе.

Без кода, однако, это примерно столько же, сколько вы можете получить.

+0

У нас по-прежнему нет кода, в котором вы устанавливаете переменные. Это то, что делает мой код - настройка и проверка, чтобы убедиться, что они не пустое и/или задание по умолчанию, если они пусты. – Chad

+0

Я понимаю, что вы не знаете, как их набор, после их набора (подтвержденного vardump), они все равно должны быть переданы правильно, правильно? ? – user2329830

+0

Не обязательно, вы можете подавить свои предупреждения, в которых case будет выглядеть так, как будто все установлено, когда что-то на самом деле не является, в центре внимания моего ответа, - используйте 'isset()' для проверки ** каждой ** переменной (будь то в if или trernary). И ты оставляешь это на произвол. Мы не можем подтвердить, что если мы не увидим больше кода. – Chad

Смежные вопросы