3v4l.org

run code in 300+ PHP versions simultaneously
<?php if(isset($_POST['submit'])){ $name = $_POST['name']; $email = $_POST['email']; $query = $_POST['message']; $email_from = $name.'<'.$email.'>'; $to="michaeldoye@gmail.com"; $subject="Enquiry!"; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $headers .= "From: ".$email_from."\r\n"; $message=" Name: $name <br> Email-Id: $email <br> Message: $query "; if(mail($to,$subject,$message,$headers)){ header("Location:../contact.php?msg=Successful Submission! Thankyou for contacting us."); }else{ header("Location:../contact.php?msg=Error To send Email !"); //contact:-your-email@your-domain.com } } ?> <form name="enq" method="post" action="" onsubmit="return validation();"> <fieldset> <input type="text" name="name" id="name" value="" class="input-block-level" placeholder="Name.." /> <input type="text" name="email" id="email" value="" class="input-block-level" placeholder="Email.." /> <textarea rows="11" name="message" id="message" class="input-block-level" placeholder="Message.."></textarea> <div class="actions"> <input type="submit" value="Send!" name="submit" id="submitButton" class="btn btn-info pull-right" title="Send!" /> </div> </fieldset> </form> <script type="text/javascript"> function validation() { var contactname=document.enq.name.value; var name_exp=/^[A-Za-z\s]+$/; if(contactname=='') { alert("Name Field Should Not Be Empty!"); document.enq.name.focus(); return false; } else if(!contactname.match(name_exp)) { alert("Invalid Name field!"); document.enq.name.focus(); return false; } var email=document.enq.email.value; //var email_exp=/^[A-Za-z0-9\.-_\$]+@[A-Za-z]+\.[a-z]{2,4}$/; var email_exp=/^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; if(email=='') { alert("Please Enter Email-Id!"); document.enq.email.focus(); return false; } else if(!email.match(email_exp)) { alert("Invalid Email ID !"); document.enq.email.focus(); return false; } var message=document.enq.message.value; if(message=='') { alert("Query Field Should Not Be Empty!"); document.enq.message.focus(); return false; } return true; } </script>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 45
Branch analysis from position: 3
2 jumps found. (Code = 43) Position 1 = 38, Position 2 = 42
Branch analysis from position: 38
1 jumps found. (Code = 42) Position 1 = 45
Branch analysis from position: 45
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 42
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 45
filename:       /in/V3d3v
function name:  (null)
number of ops:  47
compiled vars:  !0 = $name, !1 = $email, !2 = $query, !3 = $email_from, !4 = $to, !5 = $subject, !6 = $headers, !7 = $message
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   FETCH_IS                                         ~8      '_POST'
          1        ISSET_ISEMPTY_DIM_OBJ                         0          ~8, 'submit'
          2      > JMPZ                                                     ~9, ->45
    3     3    >   FETCH_R                      global              ~10     '_POST'
          4        FETCH_DIM_R                                      ~11     ~10, 'name'
          5        ASSIGN                                                   !0, ~11
    4     6        FETCH_R                      global              ~13     '_POST'
          7        FETCH_DIM_R                                      ~14     ~13, 'email'
          8        ASSIGN                                                   !1, ~14
    5     9        FETCH_R                      global              ~16     '_POST'
         10        FETCH_DIM_R                                      ~17     ~16, 'message'
         11        ASSIGN                                                   !2, ~17
    6    12        CONCAT                                           ~19     !0, '%3C'
         13        CONCAT                                           ~20     ~19, !1
         14        CONCAT                                           ~21     ~20, '%3E'
         15        ASSIGN                                                   !3, ~21
    7    16        ASSIGN                                                   !4, 'michaeldoye%40gmail.com'
    8    17        ASSIGN                                                   !5, 'Enquiry%21'
    9    18        ASSIGN                                                   !6, 'MIME-Version%3A+1.0%0D%0A'
   10    19        ASSIGN_OP                                     8          !6, 'Content-type%3A+text%2Fhtml%3B+charset%3Diso-8859-1%0D%0A'
   11    20        CONCAT                                           ~27     'From%3A+', !3
         21        CONCAT                                           ~28     ~27, '%0D%0A'
         22        ASSIGN_OP                                     8          !6, ~28
   12    23        ROPE_INIT                                     7  ~31     '+++%0A%09+++++++++Name%3A%0A%09+++++++++'
   14    24        ROPE_ADD                                      1  ~31     ~31, !0
         25        ROPE_ADD                                      2  ~31     ~31, '+++++%0A%09+++++++++%3Cbr%3E%0A%09+++++++++Email-Id%3A%0A%09+++++++++'
   17    26        ROPE_ADD                                      3  ~31     ~31, !1
         27        ROPE_ADD                                      4  ~31     ~31, '++++++++%0A%09+++++++++%3Cbr%3E%0A%09+++++++++Message%3A%0A%09+++++++++'
   20    28        ROPE_ADD                                      5  ~31     ~31, !2
         29        ROPE_END                                      6  ~30     ~31, '++++++++%0A%09+++'
   12    30        ASSIGN                                                   !7, ~30
   22    31        INIT_FCALL                                               'mail'
         32        SEND_VAR                                                 !4
         33        SEND_VAR                                                 !5
         34        SEND_VAR                                                 !7
         35        SEND_VAR                                                 !6
         36        DO_ICALL                                         $36     
         37      > JMPZ                                                     $36, ->42
   23    38    >   INIT_FCALL                                               'header'
         39        SEND_VAL                                                 'Location%3A..%2Fcontact.php%3Fmsg%3DSuccessful+Submission%21+Thankyou+for+contacting+us.'
         40        DO_ICALL                                                 
         41      > JMP                                                      ->45
   25    42    >   INIT_FCALL                                               'header'
         43        SEND_VAL                                                 'Location%3A..%2Fcontact.php%3Fmsg%3DError+To+send+Email+%21'
         44        DO_ICALL                                                 
   30    45    >   ECHO                                                     '%0A%3Cform+name%3D%22enq%22+method%3D%22post%22+action%3D%22%22+onsubmit%3D%22return+validation%28%29%3B%22%3E%0A++%3Cfieldset%3E%0A%0A++++%3Cinput+type%3D%22text%22+name%3D%22name%22+id%3D%22name%22+value%3D%22%22++class%3D%22input-block-level%22+placeholder%3D%22Name..%22+%2F%3E%0A++++%3Cinput+type%3D%22text%22+name%3D%22email%22+id%3D%22email%22+value%3D%22%22+class%3D%22input-block-level%22+placeholder%3D%22Email..%22+%2F%3E%0A++++%3Ctextarea+rows%3D%2211%22+name%3D%22message%22+id%3D%22message%22+class%3D%22input-block-level%22+placeholder%3D%22Message..%22%3E%3C%2Ftextarea%3E%0A++++%3Cdiv+class%3D%22actions%22%3E%0A++++%3Cinput+type%3D%22submit%22+value%3D%22Send%21%22+name%3D%22submit%22+id%3D%22submitButton%22+class%3D%22btn+btn-info+pull-right%22+title%3D%22Send%21%22+%2F%3E%0A++++%3C%2Fdiv%3E%0A%0A++++%3C%2Ffieldset%3E%0A%3C%2Fform%3E+%0A%0A%0A%3Cscript+type%3D%22text%2Fjavascript%22%3E%0A+function+validation%28%29%0A+%7B%0A%0A++++var+contactname%3Ddocument.enq.name.value%3B%0A++++var+name_exp%3D%2F%5E%5BA-Za-z%5Cs%5D%2B%24%2F%3B%0A++++if%28contactname%3D%3D%27%27%29%0A++++%7B%0A++++++++alert%28%22Name+Field+Should+Not+Be+Empty%21%22%29%3B%0A++++++++document.enq.name.focus%28%29%3B%0A++++++++return+false%3B%0A++++%7D%0A++++else+if%28%21contactname.match%28name_exp%29%29%0A++++%7B%0A++++++++alert%28%22Invalid+Name+field%21%22%29%3B%0A++++++++document.enq.name.focus%28%29%3B%0A++++++++return+false%3B%0A++++%7D%0A%0A++++var+email%3Ddocument.enq.email.value%3B%0A++++%2F%2Fvar+email_exp%3D%2F%5E%5BA-Za-z0-9%5C.-_%5C%24%5D%2B%40%5BA-Za-z%5D%2B%5C.%5Ba-z%5D%7B2%2C4%7D%24%2F%3B%0A++++var+email_exp%3D%2F%5E%5Cw%2B%28%5B-%2B.%27%5D%5Cw%2B%29%2A%40%5Cw%2B%28%5B-.%5D%5Cw%2B%29%2A%5C.%5Cw%2B%28%5B-.%5D%5Cw%2B%29%2A%24%2F%3B%0A++++if%28email%3D%3D%27%27%29%0A++++%7B%0A++++++++alert%28%22Please+Enter+Email-Id%21%22%29%3B%0A++++++++document.enq.email.focus%28%29%3B%0A++++++++return+false%3B%0A++++%7D%0A++++else+if%28%21email.match%28email_exp%29%29%0A++++%7B%0A++++++++alert%28%22Invalid+Email+ID+%21%22%29%3B%0A++++++++document.enq.email.focus%28%29%3B%0A++++++++return+false%3B%0A++++%7D%0A%0A%0A++++var+message%3Ddocument.enq.message.value%3B%0A++++if%28message%3D%3D%27%27%29%0A++++%7B%0A++++++++alert%28%22Query+Field+Should+Not+Be+Empty%21%22%29%3B%0A++++++++document.enq.message.focus%28%29%3B%0A++++++++return+false%3B%0A++++%7D%0A++++return+true%3B%0A+%7D%0A%3C%2Fscript%3E'
   90    46      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
168.9 ms | 1392 KiB | 17 Q