3v4l.org

run code in 300+ PHP versions simultaneously
if ($_SERVER['REQUEST_METHOD'] == 'POST'){define('LIVE', FALSE);function my_error_handler ($e_number, $e_message, $e_file, $e_line, $e_vars) { $message = "An error occurred in script '$e_file' on line $e_line: $e_message\n"; $message .= print_r ($e_vars, 1); if (!LIVE) { echo '<pre>' . $message . "\n"; debug_print_backtrace(); echo '</pre><br />'; } else { echo '<div class="error">A system error occurred. We apologize for the inconvenience.</div><br />'; } }set_error_handler ('my_error_handler');$isbn = $_POST['ISBN'];$title = trim($_REQUEST['title']);$description = trim($_REQUEST['description']);$price = trim($_REQUEST['price']);$publisher = trim($_REQUEST['publisher']);$pubdate = trim($_REQUEST['pubdate']);$edition = trim($_REQUEST['edition']);$pages = trim($_REQUEST['pages']);$catname = trim($_REQUEST['CategoryName']);$firstname = trim($_REQUEST['strFName']);$lastname =trim( $_REQUEST['strLName']);////////////////////////////////////////////////////////////////$errors = array(); if (!preg_match ('/^[0-9]+{13}&/', $isbn)) {$errors[] = 'ISBN must be numeric and 13 characters long';} if (empty($_POST["title"])) {$errors[] = 'Title cannot be empty';} if (empty($_POST["description"])) {$errors[] = 'Description cannot be empty';} if (!preg_match ('/^$[0-9\.]&/', $price)) {$errors[] = 'Price must be in $USD';} if (empty($_POST["publisher"])) {$errors[] = 'Publisher cannot be empty';} if (!preg_match ('!^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d!', $pubdate)) {$errors[] = 'Date must be in dd-mm-yyyy';} if (!preg_match ('/^[0-9]{2}$/', $edition)) {$errors[] = 'Edition must be numeric and 2 digits long';} if (!preg_match ('/^[0-9]$/', $pages)) {$errors[] = 'Pages must be numeric';} if (empty($_POST["catname"])) {$errors[] = 'Category cannot be empty';} if (empty($_POST["firstname"])) {$errors[] = 'First Name cannot be empty';} if (empty($_POST["lastname"])) {$errors[] = 'Last Name cannot be empty';} if (empty($errors)) { $sql_ba = "INSERT INTO bookauthors (strFName, strLName) values('$firstname', '$lastname');"; $sql_bd = "INSERT INTO bookdescriptions (ISBN, title, description, price, publisher, pubdate, edition, pages) values('$isbn', '$title', '$description', '$price', '$publisher', '$pubdate', '$edition', '$pages');"; $sql_bab = "INSERT INTO bookauthorsbooks (ISBN, AuthorID) values('$isbn', LAST_INSERT_ID());"; $sql_bc = "INSERT INTO bookcategories (CategoryName) values('$catname');"; $sql_bcb = "INSERT INTO bookcategoriesbooks (CategoryID, ISBN) VALUES(LAST_INSERT_ID(), '$isbn');"; $sql = $sql_ba . $sql_bd . $sql_bab . $sql_bc . $sql_bc; echo $sql; $success = ''; if(mysqli_multi_query($conn, $sql)) { do { $success+=mysqli_affected_rows($conn); } while (mysqli_more_results($conn) && mysqli_next_result($conn)); } if ($success == 5) { echo "All records have been successfully inserted"; } } else { echo '<h1>Error!</h1> <p style="color:red;">The following error(s) occurred:<br />'; foreach ($errors as $msg) { echo " - $msg<br />\n"; } echo '</p><p>Please try again.</p>'; }/////////////////////////////////////////////////////////////////} mysqli_close($conn);?><form action="insertbook.php" method="post"> <fieldset><legend>Enter your information in the form below:</legend> <div id="field"> <label for="ISBN">ISBN: </label> <input type="text" name="ISBN" value="<?php if (isset($isbn)) echo htmlentities($isbn);?>"/> </div> <div id="field"> <label for="title">Title: </label> <input type="text" name="title" value="<?php if (isset($title)) echo htmlentities($title);?>"/> </div> <div id="field"> <label for="description">Description: </label> <input type="text" name="description" value="<?php if (isset($description)) echo htmlentities($description);?>"/> </div> <div id="field"> <label for="price">Price: </label> <input type="text" name="price" value="<?php if (isset($price)) echo htmlentities($price);?>"/> </div> <div id="field"> <label for="publisher">Publisher: </label> <input type="text" name="publisher" value="<?php if (isset($publisher)) echo htmlentities($publisher);?>"/> </div> <div id="field"> <label for="pubdate">Publish Date: </label> <input type="text" name="pubdate" value="<?php if (isset($pubdate)) echo htmlentities($pubdate);?>"/> </div> <div id="field"> <label for="edition">Edition: </label> <input type="text" name="edition" value="<?php if (isset($edition)) echo htmlentities($edition);?>"/> </div> <div id="field"> <label for="pages">Pages: </label> <input type="text" name="pages" value="<?php if (isset($pages)) echo htmlentities($pages); ?>"/> </div> <div id="field"> <label for="CategoryName">Category Name: </label> <input type="text" name="CategoryName" value="<?php if (isset($CategoryName)) echo htmlentities($CategoryName);?>"/> </div> <div id="field"> <label for="strFName">Author First Name: </label> <input type="text" name="strFName" value="<?php if (isset($strFName)) echo htmlentities($strFName);?>"/> </div> <div id="field"> <label for="strLName">Author Last Name</label> <input type="text" name="strLName" value="<?php if (isset($strLName)) echo htmlentities($strLName);?>"/> </div> <br> <input id="submit" type="submit" value="Submit" name="submit"> </fieldset></form>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 7
Branch analysis from position: 3
2 jumps found. (Code = 43) Position 1 = 10, Position 2 = 14
Branch analysis from position: 10
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 21
Branch analysis from position: 17
2 jumps found. (Code = 43) Position 1 = 24, Position 2 = 28
Branch analysis from position: 24
2 jumps found. (Code = 43) Position 1 = 31, Position 2 = 35
Branch analysis from position: 31
2 jumps found. (Code = 43) Position 1 = 38, Position 2 = 42
Branch analysis from position: 38
2 jumps found. (Code = 43) Position 1 = 45, Position 2 = 49
Branch analysis from position: 45
2 jumps found. (Code = 43) Position 1 = 52, Position 2 = 56
Branch analysis from position: 52
2 jumps found. (Code = 43) Position 1 = 59, Position 2 = 63
Branch analysis from position: 59
2 jumps found. (Code = 43) Position 1 = 66, Position 2 = 70
Branch analysis from position: 66
2 jumps found. (Code = 43) Position 1 = 73, Position 2 = 77
Branch analysis from position: 73
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 77
Branch analysis from position: 70
Branch analysis from position: 63
Branch analysis from position: 56
Branch analysis from position: 49
Branch analysis from position: 42
Branch analysis from position: 35
Branch analysis from position: 28
Branch analysis from position: 21
Branch analysis from position: 14
Branch analysis from position: 7
filename:       /in/DOLa7
function name:  (null)
number of ops:  79
compiled vars:  !0 = $isbn, !1 = $title, !2 = $description, !3 = $price, !4 = $publisher, !5 = $pubdate, !6 = $edition, !7 = $pages, !8 = $CategoryName, !9 = $strFName, !10 = $strLName
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    1     0  E >   ECHO                                                     'if+%28%24_SERVER%5B%27REQUEST_METHOD%27%5D+%3D%3D+%27POST%27%29%7Bdefine%28%27LIVE%27%2C+FALSE%29%3Bfunction+my_error_handler+%28%24e_number%2C+%24e_message%2C+%24e_file%2C+%24e_line%2C+%24e_vars%29+%09%7B%09%09%24message+%3D+%22An+error+occurred+in+script+%27%24e_file%27+on+line+%24e_line%3A+%24e_message%5Cn%22%3B%09%09%24message+.%3D+print_r+%28%24e_vars%2C+1%29%3B%09%09if+%28%21LIVE%29+%09%09%09%7B+%09%09%09%09echo+%27%3Cpre%3E%27+.+%24message+.+%22%5Cn%22%3B%09%09%09%09debug_print_backtrace%28%29%3B%09%09%09%09echo+%27%3C%2Fpre%3E%3Cbr+%2F%3E%27%3B%09%09%09%7D+%09%09else+%09%09%09%7B+%09%09%09%09echo+%27%3Cdiv+class%3D%22error%22%3EA+system+error+occurred.+We+apologize+for+the+inconvenience.%3C%2Fdiv%3E%3Cbr+%2F%3E%27%3B%09%09%09%7D%09%7Dset_error_handler+%28%27my_error_handler%27%29%3B%24isbn+%3D+%24_POST%5B%27ISBN%27%5D%3B%24title+%3D+trim%28%24_REQUEST%5B%27title%27%5D%29%3B%24description+%3D+trim%28%24_REQUEST%5B%27description%27%5D%29%3B%24price+%3D+trim%28%24_REQUEST%5B%27price%27%5D%29%3B%24publisher+%3D+trim%28%24_REQUEST%5B%27publisher%27%5D%29%3B%24pubdate+%3D+trim%28%24_REQUEST%5B%27pubdate%27%5D%29%3B%24edition+%3D+trim%28%24_REQUEST%5B%27edition%27%5D%29%3B%24pages+%3D+trim%28%24_REQUEST%5B%27pages%27%5D%29%3B%24catname+%3D+trim%28%24_REQUEST%5B%27CategoryName%27%5D%29%3B%24firstname+%3D+trim%28%24_REQUEST%5B%27strFName%27%5D%29%3B%24lastname+%3Dtrim%28+%24_REQUEST%5B%27strLName%27%5D%29%3B%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%24errors+%3D+array%28%29%3B+%09if+%28%21preg_match+%28%27%2F%5E%5B0-9%5D%2B%7B13%7D%26%2F%27%2C+%24isbn%29%29+%09%09%7B%24errors%5B%5D+%3D+%27ISBN+must+be+numeric+and+13+characters+long%27%3B%7D%09if++%28empty%28%24_POST%5B%22title%22%5D%29%29+%09%09%7B%24errors%5B%5D+%3D+%27Title+cannot+be+empty%27%3B%7D%09if++%28empty%28%24_POST%5B%22description%22%5D%29%29+%09%09%7B%24errors%5B%5D+%3D+%27Description+cannot+be+empty%27%3B%7D%09if++%28%21preg_match+%28%27%2F%5E%24%5B0-9%5C.%5D%26%2F%27%2C+%24price%29%29+%09%09%7B%24errors%5B%5D+%3D+%27Price+must+be+in+%24USD%27%3B%7D%09if++%28empty%28%24_POST%5B%22publisher%22%5D%29%29+%09%09%7B%24errors%5B%5D+%3D+%27Publisher+cannot+be+empty%27%3B%7D%09if++%28%21preg_match+%28%27%21%5E%280%5B1-9%5D%7C%5B12%5D%5B0-9%5D%7C3%5B01%5D%29%5B-+%2F.%5D%280%5B1-9%5D%7C1%5B012%5D%29%5B-+%2F.%5D%2819%7C20%29%5Cd%5Cd%21%27%2C+%24pubdate%29%29+%09%09%7B%24errors%5B%5D+%3D+%27Date+must+be+in+dd-mm-yyyy%27%3B%7D%09if++%28%21preg_match+%28%27%2F%5E%5B0-9%5D%7B2%7D%24%2F%27%2C+%24edition%29%29+%09%09%7B%24errors%5B%5D+%3D+%27Edition+must+be+numeric+and+2+digits+long%27%3B%7D%09if++%28%21preg_match+%28%27%2F%5E%5B0-9%5D%24%2F%27%2C+%24pages%29%29+%09%09%7B%24errors%5B%5D+%3D+%27Pages+must+be+numeric%27%3B%7D%09%09%09if++%28empty%28%24_POST%5B%22catname%22%5D%29%29+%09%09%7B%24errors%5B%5D+%3D+%27Category+cannot+be+empty%27%3B%7D%09if++%28empty%28%24_POST%5B%22firstname%22%5D%29%29+%09%09%7B%24errors%5B%5D+%3D+%27First+Name+cannot+be+empty%27%3B%7D%09if++%28empty%28%24_POST%5B%22lastname%22%5D%29%29+%09%09%7B%24errors%5B%5D+%3D+%27Last+Name+cannot+be+empty%27%3B%7D%09%09%09%09%09if+%28empty%28%24errors%29%29+%09%09%7B+%09%09%09%24sql_ba+%3D+%22INSERT+INTO+bookauthors+%28strFName%2C+strLName%29+values%28%27%24firstname%27%2C+%27%24lastname%27%29%3B%22%3B%09%09%09%24sql_bd+%3D+%22INSERT+INTO+bookdescriptions+%28ISBN%2C+title%2C+description%2C+price%2C+publisher%2C+pubdate%2C+edition%2C+pages%29+values%28%27%24isbn%27%2C+%27%24title%27%2C+%27%24description%27%2C+%27%24price%27%2C+%27%24publisher%27%2C+%27%24pubdate%27%2C+%27%24edition%27%2C+%27%24pages%27%29%3B%22%3B%09%09%09%24sql_bab+%3D+%22INSERT+INTO+bookauthorsbooks+%28ISBN%2C+AuthorID%29+values%28%27%24isbn%27%2C+LAST_INSERT_ID%28%29%29%3B%22%3B%09%09%09%24sql_bc+%3D+%22INSERT+INTO+bookcategories+%28CategoryName%29+values%28%27%24catname%27%29%3B%22%3B%09%09%09%24sql_bcb+%3D+%22INSERT+INTO+bookcategoriesbooks+%28CategoryID%2C+ISBN%29+VALUES%28LAST_INSERT_ID%28%29%2C+%27%24isbn%27%29%3B%22%3B%09%09%09%24sql+%3D+%24sql_ba+.+%24sql_bd+.+%24sql_bab+.+%24sql_bc+.+%24sql_bc%3B%09%09%09echo+%24sql%3B%09%09%09%24success+%3D+%27%27%3B%09%09%09if%28mysqli_multi_query%28%24conn%2C+%24sql%29%29+%09%09%09%09%7B%09%09%09%09%09do+%7B%09%09%09%09%09%09%24success%2B%3Dmysqli_affected_rows%28%24conn%29%3B%09%09%09%09%09%09%7D%09%09%09%09%09while+%28mysqli_more_results%28%24conn%29+%26%26+mysqli_next_result%28%24conn%29%29%3B%09%09%09%09%7D%09%09%09if+%28%24success+%3D%3D+5%29%09%09%09%09%7B%09%09%09%09%09echo+%22All+records+have+been+successfully+inserted%22%3B%09%09%09%09%7D%09%09%7D+%09%09else+%09%09%7B%09%09%09echo+%27%3Ch1%3EError%21%3C%2Fh1%3E%09%09%09%3Cp+style%3D%22color%3Ared%3B%22%3EThe+following+error%28s%29+occurred%3A%3Cbr+%2F%3E%27%3B%09%09%09foreach+%28%24errors+as+%24msg%29+%09%09%09%7B%09%09%09%09echo+%22+-+%24msg%3Cbr+%2F%3E%5Cn%22%3B%09%09%09%7D%09%09%09echo+%27%3C%2Fp%3E%3Cp%3EPlease+try+again.%3C%2Fp%3E%27%3B%09%09%7D%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%7D%09mysqli_close%28%24conn%29%3B%3F%3E%3Cform+action%3D%22insertbook.php%22+method%3D%22post%22%3E%09%3Cfieldset%3E%3Clegend%3EEnter+your+information+in+the+form+below%3A%3C%2Flegend%3E%09%09%3Cdiv+id%3D%22field%22%3E%09%09%09%3Clabel+for%3D%22ISBN%22%3EISBN%3A+%3C%2Flabel%3E%09%09%09%3Cinput+type%3D%22text%22+name%3D%22ISBN%22+value%3D%22'
          1        ISSET_ISEMPTY_CV                                         !0
          2      > JMPZ                                                     ~11, ->7
          3    >   INIT_FCALL                                               'htmlentities'
          4        SEND_VAR                                                 !0
          5        DO_ICALL                                         $12     
          6        ECHO                                                     $12
          7    >   ECHO                                                     '%22%2F%3E+%09%09%3C%2Fdiv%3E%09%09%3Cdiv+id%3D%22field%22%3E%09%09%09%3Clabel+for%3D%22title%22%3ETitle%3A+%3C%2Flabel%3E%09%09%09%3Cinput+type%3D%22text%22+name%3D%22title%22+value%3D%22'
          8        ISSET_ISEMPTY_CV                                         !1
          9      > JMPZ                                                     ~13, ->14
         10    >   INIT_FCALL                                               'htmlentities'
         11        SEND_VAR                                                 !1
         12        DO_ICALL                                         $14     
         13        ECHO                                                     $14
         14    >   ECHO                                                     '%22%2F%3E%09%09%3C%2Fdiv%3E%09%09%3Cdiv+id%3D%22field%22%3E%09%09%09%3Clabel+for%3D%22description%22%3EDescription%3A+%3C%2Flabel%3E%09%09%09%3Cinput+type%3D%22text%22+name%3D%22description%22+value%3D%22'
         15        ISSET_ISEMPTY_CV                                         !2
         16      > JMPZ                                                     ~15, ->21
         17    >   INIT_FCALL                                               'htmlentities'
         18        SEND_VAR                                                 !2
         19        DO_ICALL                                         $16     
         20        ECHO                                                     $16
         21    >   ECHO                                                     '%22%2F%3E%09%09%3C%2Fdiv%3E%09%09%3Cdiv+id%3D%22field%22%3E%09%09%09%3Clabel+for%3D%22price%22%3EPrice%3A+%3C%2Flabel%3E%09%09%09%3Cinput+type%3D%22text%22+name%3D%22price%22+value%3D%22'
         22        ISSET_ISEMPTY_CV                                         !3
         23      > JMPZ                                                     ~17, ->28
         24    >   INIT_FCALL                                               'htmlentities'
         25        SEND_VAR                                                 !3
         26        DO_ICALL                                         $18     
         27        ECHO                                                     $18
         28    >   ECHO                                                     '%22%2F%3E%09%09%3C%2Fdiv%3E%09%09%09%3Cdiv+id%3D%22field%22%3E%09%09%09%3Clabel+for%3D%22publisher%22%3EPublisher%3A+%3C%2Flabel%3E%09%09%09%3Cinput+type%3D%22text%22+name%3D%22publisher%22+value%3D%22'
         29        ISSET_ISEMPTY_CV                                         !4
         30      > JMPZ                                                     ~19, ->35
         31    >   INIT_FCALL                                               'htmlentities'
         32        SEND_VAR                                                 !4
         33        DO_ICALL                                         $20     
         34        ECHO                                                     $20
         35    >   ECHO                                                     '%22%2F%3E%09%09%3C%2Fdiv%3E%09%09%3Cdiv+id%3D%22field%22%3E%09%09%09%3Clabel+for%3D%22pubdate%22%3EPublish+Date%3A+%3C%2Flabel%3E%09%09%09%3Cinput+type%3D%22text%22+name%3D%22pubdate%22+value%3D%22'
         36        ISSET_ISEMPTY_CV                                         !5
         37      > JMPZ                                                     ~21, ->42
         38    >   INIT_FCALL                                               'htmlentities'
         39        SEND_VAR                                                 !5
         40        DO_ICALL                                         $22     
         41        ECHO                                                     $22
         42    >   ECHO                                                     '%22%2F%3E%09%09%3C%2Fdiv%3E%09%09%3Cdiv+id%3D%22field%22%3E%09%09%09%3Clabel+for%3D%22edition%22%3EEdition%3A+%3C%2Flabel%3E%09%09%09%3Cinput+type%3D%22text%22+name%3D%22edition%22+value%3D%22'
         43        ISSET_ISEMPTY_CV                                         !6
         44      > JMPZ                                                     ~23, ->49
         45    >   INIT_FCALL                                               'htmlentities'
         46        SEND_VAR                                                 !6
         47        DO_ICALL                                         $24     
         48        ECHO                                                     $24
         49    >   ECHO                                                     '%22%2F%3E%09%09%3C%2Fdiv%3E%09%09%3Cdiv+id%3D%22field%22%3E%09%09%09%3Clabel+for%3D%22pages%22%3EPages%3A+%3C%2Flabel%3E%09%09%09%3Cinput+type%3D%22text%22+name%3D%22pages%22+value%3D%22'
         50        ISSET_ISEMPTY_CV                                         !7
         51      > JMPZ                                                     ~25, ->56
         52    >   INIT_FCALL                                               'htmlentities'
         53        SEND_VAR                                                 !7
         54        DO_ICALL                                         $26     
         55        ECHO                                                     $26
         56    >   ECHO                                                     '%22%2F%3E%09%09%3C%2Fdiv%3E%09%09%3Cdiv+id%3D%22field%22%3E%09%09%09%3Clabel+for%3D%22CategoryName%22%3ECategory+Name%3A+%3C%2Flabel%3E%09%09%09%3Cinput+type%3D%22text%22+name%3D%22CategoryName%22+value%3D%22'
         57        ISSET_ISEMPTY_CV                                         !8
         58      > JMPZ                                                     ~27, ->63
         59    >   INIT_FCALL                                               'htmlentities'
         60        SEND_VAR                                                 !8
         61        DO_ICALL                                         $28     
         62        ECHO                                                     $28
         63    >   ECHO                                                     '%22%2F%3E%09%09%3C%2Fdiv%3E%09%09%3Cdiv+id%3D%22field%22%3E%09%09%09%3Clabel+for%3D%22strFName%22%3EAuthor+First+Name%3A+%3C%2Flabel%3E%09%09%09%3Cinput+type%3D%22text%22+name%3D%22strFName%22+value%3D%22'
         64        ISSET_ISEMPTY_CV                                         !9
         65      > JMPZ                                                     ~29, ->70
         66    >   INIT_FCALL                                               'htmlentities'
         67        SEND_VAR                                                 !9
         68        DO_ICALL                                         $30     
         69        ECHO                                                     $30
         70    >   ECHO                                                     '%22%2F%3E%09%09%3C%2Fdiv%3E%09%09%3Cdiv+id%3D%22field%22%3E%09%09%09%3Clabel+for%3D%22strLName%22%3EAuthor+Last+Name%3C%2Flabel%3E%09%09%09%3Cinput+type%3D%22text%22+name%3D%22strLName%22+value%3D%22'
         71        ISSET_ISEMPTY_CV                                         !10
         72      > JMPZ                                                     ~31, ->77
         73    >   INIT_FCALL                                               'htmlentities'
         74        SEND_VAR                                                 !10
         75        DO_ICALL                                         $32     
         76        ECHO                                                     $32
         77    >   ECHO                                                     '%22%2F%3E%09%09%3C%2Fdiv%3E%09%09%09%3Cbr%3E%09%09%09%3Cinput+id%3D%22submit%22+type%3D%22submit%22+value%3D%22Submit%22+name%3D%22submit%22%3E%09%3C%2Ffieldset%3E%3C%2Fform%3E'
         78      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
147.32 ms | 1408 KiB | 15 Q