Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 164
  • Last Modified:

$_SESSION number 1 is lost somehow when i go to add the third item to the invoice ?

$_SESSION
number 1 is lost somehow when i go to add the third item to the invoice ?










    function additem(){

         if($_SESSION['totalitems'] > 0){

          $totalitems = $_SESSION['totalitems'] + 1;
          $_SESSION['totalitems'] = $totalitems; //keep track of total items
          $_SESSION['qty'.$totalitems]  = $_REQUEST['qty'];
          $_SESSION['interchangenumber'.$totalitems]  = $_REQUEST['interchangenumber'];
          $_SESSION['interchangeid'.$totalitems]  = $_REQUEST['interchangeid'];
          $_SESSION['description'.$totalitems]  = $_REQUEST['description'];
          $_SESSION['rate'.$totalitems]  = $_REQUEST['rate'];
          $_SESSION['amount'.$totalitems]  = $_REQUEST['amount'];
          $_SESSION['taxable'.$totalitems]  = $_REQUEST['taxable'];
          $_SESSION['notes'.$totalitems]  = $_REQUEST['notes'];
          $_SESSION['partid'.$totalitems]  = $_REQUEST['partid'];

         }else{
          //add first item SO use the 1 after each item

          $_SESSION['qty1']  = $_REQUEST['qty'];
          $_SESSION['interchangenumber1']  = $_REQUEST['interchangenumber'];
          $_SESSION['interchangeid1']  = $_REQUEST['interchangeid'];
          $_SESSION['description1']  = $_REQUEST['description'];
          $_SESSION['rate1']  = $_REQUEST['rate'];
          $_SESSION['amount1']  = $_REQUEST['amount'];
          $_SESSION['taxable1']  = $_REQUEST['taxable'];
          $_SESSION['notes1']  = $_REQUEST['notes'];
          $_SESSION['partid1']  = $_REQUEST['partid'];
          $_SESSION['tracking1']  = $_REQUEST['tracking'];
          $_SESSION['vendorid1']  = $_REQUEST['vendorid'];
          $_SESSION['totalitems']  = 1;


            }


         }








   function showallitems(){

         $items = $_SESSION['totalitems'] + 1;
         for($a=1; $a < $items; $a++){

             $totalitems = $a;


echo '
<form name="remove'.$totalitems.'" action="" method="post">
<table width="73%" border="1" cellspacing="0" cellpadding="0" bordercolor="#000066">
  <tr bgcolor="#99CCFF" bordercolor="#000066">
    <td width="10%" align="center" valign="center" true styleid="StyleQty" bgcolor="#990000" bordercolor="#FFFFFF"><font color="#FFFFFF">Hidden</font></td>
    <td width="10%" align="center" valign="center" true styleid="StyleQty"><font face="Verdana" size="-1" color="#000000">Quantity</font></td>
      <td width="10%" align="center" valign="center" true styleid="StyleQty">PartID</td>
    <td width="14%" align="center" valign="center" true styleid="StyleQty">Interchange
      # </td>
    <td width="37%" align="center" valign="center" true styleid="StyleItemDesc">
      <font face="Verdana" size="-1" color="#000000">Description</font> </td>
    <td width="8%" align="center" valign="center" true styleid="StyleRate"> <font face="Verdana" size="-1" color="#000000">Rate</font>
    </td>
    <td width="6%" align="center" valign="center" true styleid="StyleItemAmount">
      <font face="Verdana" size="-1" color="#000000">Amount</font> </td>
    <td width="15%" align="center" valign="center" true styleid="StyleTaxFlag">
      <font face="Verdana" size="-1" color="#000000">Tax&nbsp;</font> </td>
  </tr>
  <tr bgcolor="#99CCFF" bordercolor="#000066">
    <td width="10%" align="center" valign="center" true styleid="StyleQty" bgcolor="#990000" bordercolor="#FFFFFF" height="13">&nbsp;
    </td>
    <td width="10%" align="center" valign="center" true styleid="StyleQty" height="13">
      <input type="text" name="qty'.$totalitems.'" size="4" maxlength="3" value="'.$_SESSION['qty'.$totalitems].'" readonly>
    </td>
    <td width="10%" align="center" valign="center" true styleid="StyleQty" height="13">
        <input type="text" name="interchangeid'.$totalitems.'" value="'.$_SESSION['interchangeid'.$totalitems].'" size="9" readonly>
      <br>
      </td>
    <td width="14%" align="center" valign="center" true styleid="StyleQty" height="13"><font face="Verdana" size="-1" color="#000000">
      <input type="text" name="interchangenumber'.$totalitems.'" value="'.$_SESSION['interchangenumber'.$totalitems].'" size="13" readonly>
      </font></td>
    <td width="37%" align="center" valign="center" true styleid="StyleItemDesc" height="13"><font face="Verdana" size="-1" color="#000000">
      <input type="text" name="description'.$totalitems.'" size="45" value="'.$_SESSION['description'.$totalitems].'" readonly>
      </font></td>
    <td width="8%" align="center" valign="center" true styleid="StyleRate" height="13"><font face="Verdana" size="-1" color="#000000">
      <input type="text" name="rate'.$totalitems.'" size="8"  value="'.$_SESSION['rate'.$totalitems].'" readonly>
      </font></td>
    <td width="6%" align="center" valign="center" true styleid="StyleItemAmount" height="13"><font face="Verdana" size="-1" color="#000000">
      <input type="text" name="amount'.$totalitems.'" size="7"  value="'.$_SESSION['amount'.$totalitems].'" readonly>
      </font></td>
    <td width="15%" align="center" valign="center" true styleid="StyleTaxFlag" height="13">NT</td>
  </tr>
</table>
<table width="73%" border="1" cellspacing="0" cellpadding="0" bordercolor="#000066">
  <tr>
    <td bgcolor="#990000" width="29%">
      <div align="center"><font color="#FFFFFF">Hidden Notes about Item</font></div>
    </td>
    <td bgcolor="#990000" width="38%">
      <div align="center"><font color="#FFFFFF">Hidden Vendor &amp; Tracking</font></div>
    </td>
    <td bgcolor="#990000" width="33%">
      <div align="center"><font color="#FFFFFF">Misc</font></div>
    </td>
  </tr>
  <tr>
    <td bgcolor="#990000" width="29%">
      <textarea name="notes'.$totalitems.'" cols="50" rows="5" readonly>'.$_SESSION['notes'.$totalitems].'</textarea>
    </td>
    <td bgcolor="#990000" width="38%">
      <p><font color="#FFFFFF">Tracking # </font>
        <input type="text" name="tracking'.$totalitems.'"  value="'.$_SESSION['tracking'.$totalitems].'" readonly>
      </p>
      <p><font color="#FFFFFF">Vendorid #
        <input type="text" name="vendorid'.$totalitems.'"  value="'.$_SESSION['vendorid'.$totalitems].'" readonly>
        </font></p>
    </td>
    <td bgcolor="#990000" width="33%">
     <input type="hidden" name="removeitem" value="true">
    <input type="hidden" name="removeid" value='.$totalitems.'>
      <input type="submit" name="removeitem'.$totalitems.'" value="Remove Item">
    </td>
  </tr>
</table>
 </form>
';


         }



         }

0
aot2002
Asked:
aot2002
1 Solution
 
RoonaanCommented:
A suggestion as to organize you're basket.

You could instead of doing your numbering yourself, have an array in your session:

$_SESSION['items'] = array(1 => 'data from item1', 2 => 'data from item2');

function additem would then be:

    function additem(){
        $itemdata = array();
        $itemdata['qty']  = $_REQUEST['qty'];
        $itemdata['interchangenumber']  = $_REQUEST['interchangenumber'];
        $itemdata['interchangeid']  = $_REQUEST['interchangeid'];
        $itemdata['description']  = $_REQUEST['description'];
        $itemdata['rate']  = $_REQUEST['rate'];
        $itemdata['amount']  = $_REQUEST['amount'];
        $itemdata['taxable']  = $_REQUEST['taxable'];
        $itemdata['notes']  = $_REQUEST['notes'];
        $itemdata['partid']  = $_REQUEST['partid'];
        $itemdata['tracking]  = $_REQUEST['tracking'];
        $itemdata['vendorid1']  = $_REQUEST['vendorid'];
       
        if(!isset($_SESSION['itemdata'])) $_SESSION['itemdata'] = array();
        if(!is_array($_SESSION['itemdata'])) $_SESSION['itemdata'] = array();
        $_SESSION['itemdata'][] = $itemdata; //add item to basket-array;
     }

You'd have to change your showallitems function, but for testing you could just use var_export of print_r;

regards

-r-
0

Featured Post

[Webinar] Cloud and Mobile-First Strategy

Maybe you’ve fully adopted the cloud since the beginning. Or maybe you started with on-prem resources but are pursuing a “cloud and mobile first” strategy. Getting to that end state has its challenges. Discover how to build out a 100% cloud and mobile IT strategy in this webinar.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now