3v4l.org

run code in 300+ PHP versions simultaneously
<!DOCTYPE html> <html> <script type="text/javascript"> function jsfunction(chkbox, qtyloop, total) { document.getElementById(chkbox); document.getElementById(qtyloop); document.getElementById(total); if (document.getElementById(chkbox).checked) { document.getElementById(qtyloop).disabled = false; } else { document.getElementById(qtyloop).disabled = true; document.getElementById(total).innerHTML =0; } }; function QtymultiplyPrice(qty, price,total) { document.getElementById(total).innerHTML = qty * price; myvariable = document.getElementById(total).innerHTML; document.getElementById("granttotal").value += myvariable; }; </script> <body> <form action="" method="get"> <?php $item=array("A"=> array("price" => 10, "image"=>"http://image.made-in-china.com/2f0j00aecQtAECqqGP/Amon-15-Touch-POS-Monitor.jpg", "description"=>"POS Monitor"), "B"=> array("price" => 11, "image"=>"http://www3.pcmag.com/media/images/321794-lenovo-ideapad-z400-touch.jpg", "description"=>"Laptop"), "C"=> array("price" => 12, "image"=>"http://www.bensultd.com/img/items/full/gvrEVhZXf5wGam2.gif", "description"=>"POS printer"), "D"=> array("price" => 13, "image"=>"http://upload.wikimedia.org/wikipedia/commons/1/13/Barcode-scanner.jpg", "description"=>"Barcode Scanner"), "E"=> array("price" => 14, "image"=>"http://www.apipos.com/images/cf-405-m-b.jpg", "description"=>"Cash Drawer")); $var=1; $loopqty=1; $check=1; $xtotal=1; $granttotal=0; $gtotal=1; ?> <table id="table1" border=1 width='600' <tr> <th>No</th> <th>item</th> <th>Image</th> <th>Description</th> <th>Check</th> <th>Price</th> <th>Qty</th> <th>Total</th> </tr> <?php foreach($item as $myItem=>$kk){ echo "<tr>"; echo "<td>".$var."</td>"; echo "<td>".$myItem."</td>"; $price=$kk["price"]; $image=$kk["image"]; $description=$kk["description"]; ?> <td> <?php echo '<img src="'.$image.'" height=70 width=70>'; ?> </td> <?php echo "<td>".$description."</td>"; ?> <td> <input type="checkbox" name="chkbox" id="chkbox<?php echo $check; ?>" onchange="jsfunction('chkbox<?php echo $check; ?>','quantity<?php echo $loopqty;?>','total<?php echo $xtotal;?>')" /> </td> <?php echo "<td>".$price."</td>"; ?> <td> <select id="quantity<?php echo $loopqty;?>" name="quantity" onchange="QtymultiplyPrice(this.value,<?php echo $price; ?>, 'total<?php echo $xtotal;?>')" disabled="true"> <?php for($i=1;$i<=1000;$i++) { echo "<option id="."option".$loopqty." value=".$i.">".$i."</option>"; } ?> </select> </td> <td><span id="total<?php echo $xtotal; ?>" name="total">0</span></td> <?php $var++; $check++; $loopqty++; $xtotal++; $gtotal++; echo "</tr>"; } ?> <tr> <td colspan=7> Grant Total </td> <td> <input id="granttotal" type="text" name="granttotal" size =1/> </td> </tr> </table> <button onClick="window.print()">Print this page</button> <button>Reset</button> </form> </body> </html>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 10, Position 2 = 74
Branch analysis from position: 10
2 jumps found. (Code = 78) Position 1 = 11, Position 2 = 74
Branch analysis from position: 11
1 jumps found. (Code = 42) Position 1 = 62
Branch analysis from position: 62
2 jumps found. (Code = 44) Position 1 = 64, Position 2 = 54
Branch analysis from position: 64
1 jumps found. (Code = 42) Position 1 = 10
Branch analysis from position: 10
Branch analysis from position: 54
2 jumps found. (Code = 44) Position 1 = 64, Position 2 = 54
Branch analysis from position: 64
Branch analysis from position: 54
Branch analysis from position: 74
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 74
filename:       /in/Eb04R
function name:  (null)
number of ops:  77
compiled vars:  !0 = $item, !1 = $var, !2 = $loopqty, !3 = $check, !4 = $xtotal, !5 = $granttotal, !6 = $gtotal, !7 = $kk, !8 = $myItem, !9 = $price, !10 = $image, !11 = $description, !12 = $i
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    1     0  E >   ECHO                                                     '%3C%21DOCTYPE+html%3E%0A%3Chtml%3E%0A%3Cscript+type%3D%22text%2Fjavascript%22%3E%0A%0Afunction+jsfunction%28chkbox%2C+qtyloop%2C+total%29+%7B%0A+++++document.getElementById%28chkbox%29%3B%0A+++++document.getElementById%28qtyloop%29%3B%0A+++++document.getElementById%28total%29%3B%0A++++++++++%0A+if++%28document.getElementById%28chkbox%29.checked%29+%7B%0A++++++++document.getElementById%28qtyloop%29.disabled+%3D+false%3B%0A++++%7D%0A++++else+%7B%0A++++++++document.getElementById%28qtyloop%29.disabled+%3D+true%3B%0A++++++++document.getElementById%28total%29.innerHTML+%3D0%3B%0A++++%7D%0A++%7D%3B%0A++%0A+function+QtymultiplyPrice%28qty%2C+price%2Ctotal%29%0A+%7B++%0A++++document.getElementById%28total%29.innerHTML+%3D+qty+%2A+price%3B%0A++++myvariable+%3D+document.getElementById%28total%29.innerHTML%3B%0A++++document.getElementById%28%22granttotal%22%29.value+%2B%3D+myvariable%3B%0A++++%0A+%7D%3B%0A+%0A%0A%0A%3C%2Fscript%3E%0A%3Cbody%3E%0A%3Cform+action%3D%22%22+method%3D%22get%22%3E%0A'
   33     1        ASSIGN                                                   !0, <array>
   48     2        ASSIGN                                                   !1, 1
   49     3        ASSIGN                                                   !2, 1
   50     4        ASSIGN                                                   !3, 1
   51     5        ASSIGN                                                   !4, 1
   52     6        ASSIGN                                                   !5, 0
   53     7        ASSIGN                                                   !6, 1
   55     8        ECHO                                                     '%3Ctable+id%3D%22table1%22+border%3D1+width%3D%27600%27%0A%3Ctr%3E%0A%3Cth%3ENo%3C%2Fth%3E%0A%3Cth%3Eitem%3C%2Fth%3E%0A%3Cth%3EImage%3C%2Fth%3E%0A%3Cth%3EDescription%3C%2Fth%3E%0A%3Cth%3ECheck%3C%2Fth%3E%0A%3Cth%3EPrice%3C%2Fth%3E%0A%3Cth%3EQty%3C%2Fth%3E%0A%3Cth%3ETotal%3C%2Fth%3E%0A%3C%2Ftr%3E%0A%0A'
   68     9      > FE_RESET_R                                       $20     !0, ->74
         10    > > FE_FETCH_R                                       ~21     $20, !7, ->74
         11    >   ASSIGN                                                   !8, ~21
   69    12        ECHO                                                     '%3Ctr%3E'
   70    13        CONCAT                                           ~23     '%3Ctd%3E', !1
         14        CONCAT                                           ~24     ~23, '%3C%2Ftd%3E'
         15        ECHO                                                     ~24
   71    16        CONCAT                                           ~25     '%3Ctd%3E', !8
         17        CONCAT                                           ~26     ~25, '%3C%2Ftd%3E'
         18        ECHO                                                     ~26
   72    19        FETCH_DIM_R                                      ~27     !7, 'price'
         20        ASSIGN                                                   !9, ~27
   73    21        FETCH_DIM_R                                      ~29     !7, 'image'
         22        ASSIGN                                                   !10, ~29
   74    23        FETCH_DIM_R                                      ~31     !7, 'description'
         24        ASSIGN                                                   !11, ~31
   76    25        ECHO                                                     '%3Ctd%3E%0A'
   78    26        CONCAT                                           ~33     '%3Cimg+src%3D%22', !10
         27        CONCAT                                           ~34     ~33, '%22+height%3D70+width%3D70%3E'
         28        ECHO                                                     ~34
   80    29        ECHO                                                     '%3C%2Ftd%3E%0A%0A'
   83    30        CONCAT                                           ~35     '%3Ctd%3E', !11
         31        CONCAT                                           ~36     ~35, '%3C%2Ftd%3E'
         32        ECHO                                                     ~36
   85    33        ECHO                                                     '%0A%0A%3Ctd%3E%0A%3Cinput+type%3D%22checkbox%22+name%3D%22chkbox%22+id%3D%22chkbox'
   88    34        ECHO                                                     !3
         35        ECHO                                                     '%22+onchange%3D%22jsfunction%28%27chkbox'
         36        ECHO                                                     !3
         37        ECHO                                                     '%27%2C%27quantity'
         38        ECHO                                                     !2
         39        ECHO                                                     '%27%2C%27total'
         40        ECHO                                                     !4
         41        ECHO                                                     '%27%29%22+%2F%3E%0A%3C%2Ftd%3E%0A%0A'
   92    42        CONCAT                                           ~37     '%3Ctd%3E', !9
         43        CONCAT                                           ~38     ~37, '%3C%2Ftd%3E'
         44        ECHO                                                     ~38
   94    45        ECHO                                                     '%0A%3Ctd%3E%0A%3Cselect+id%3D%22quantity'
   96    46        ECHO                                                     !2
         47        ECHO                                                     '%22+name%3D%22quantity%22+onchange%3D%22QtymultiplyPrice%28this.value%2C'
         48        ECHO                                                     !9
         49        ECHO                                                     '%2C+%27total'
         50        ECHO                                                     !4
         51        ECHO                                                     '%27%29%22+disabled%3D%22true%22%3E%0A'
   97    52        ASSIGN                                                   !12, 1
         53      > JMP                                                      ->62
   99    54    >   CONCAT                                           ~40     '%3Coption+id%3Doption', !2
         55        CONCAT                                           ~41     ~40, '+value%3D'
         56        CONCAT                                           ~42     ~41, !12
         57        CONCAT                                           ~43     ~42, '%3E'
         58        CONCAT                                           ~44     ~43, !12
         59        CONCAT                                           ~45     ~44, '%3C%2Foption%3E'
         60        ECHO                                                     ~45
   97    61        PRE_INC                                                  !12
         62    >   IS_SMALLER_OR_EQUAL                                      !12, 1000
         63      > JMPNZ                                                    ~47, ->54
  102    64    >   ECHO                                                     '++++%0A%3C%2Fselect%3E%0A%3C%2Ftd%3E%0A%0A%0A%0A%3Ctd%3E%3Cspan+id%3D%22total'
  108    65        ECHO                                                     !4
         66        ECHO                                                     '%22+name%3D%22total%22%3E0%3C%2Fspan%3E%3C%2Ftd%3E%0A%0A'
  111    67        PRE_INC                                                  !1
  112    68        PRE_INC                                                  !3
  113    69        PRE_INC                                                  !2
  114    70        PRE_INC                                                  !4
  115    71        PRE_INC                                                  !6
  116    72        ECHO                                                     '%3C%2Ftr%3E'
   68    73      > JMP                                                      ->10
         74    >   FE_FREE                                                  $20
  119    75        ECHO                                                     '%0A%3Ctr%3E%0A%3Ctd+colspan%3D7%3E%0AGrant+Total%0A%3C%2Ftd%3E%0A%3Ctd%3E%0A%3Cinput+id%3D%22granttotal%22+type%3D%22text%22+name%3D%22granttotal%22++size+%3D1%2F%3E%0A%3C%2Ftd%3E+%0A%3C%2Ftr%3E%0A%3C%2Ftable%3E%0A%3Cbutton+onClick%3D%22window.print%28%29%22%3EPrint+this+page%3C%2Fbutton%3E%0A%3Cbutton%3EReset%3C%2Fbutton%3E%0A%3C%2Fform%3E%0A%3C%2Fbody%3E%0A%3C%2Fhtml%3E'
  133    76      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
141.57 ms | 1403 KiB | 13 Q