3v4l.org

run code in 300+ PHP versions simultaneously
<?php if ($_SERVER['REQUEST_METHOD'] == 'POST') { session_start(); $gebruikersnaam = $_POST['gebruikersnaam']; $emailadres = $_POST['emailadres']; $geboortedatum = date('d-m-Y',strtotime($_POST['geboortedatum'])); $wachtwoord = $_POST['wachtwoord']; $wachtwoord2 = $_POST['wachtwoord2']; if (strlen($gebruikersnaam) < 3 OR strlen($gebruikersnaam) > 20) { die("Uw gebruikersnaam ($gebruikersnaam) moet minimaal 3 en mag maximaal 20 tekens bevatten."); } elseif (filter_var($emailadres, FILTER_VALIDATE_EMAIL) == FALSE OR strlen($emailadres) > 45) { die("Voer alstublieft een correct e-mailadres in, deze mag maximaal 45 tekens bevatten."); } list($year,$month,$day) = explode("-",$geboortedatum); $year_diff = date("Y") - $year; $month_diff = date("m") - $month; $day_diff = date("d") - $day; if ($day_diff < 0 || $month_diff < 0) $year_diff--; elseif ($year_diff < 13) { die("Sorry, de minimumleeftijd is 13 jaar oud."); } elseif ($wachtwoord != $wachtwoord2) { die("Sorry, de wachtwoorden komen niet overeen."); } elseif ( ($_REQUEST["txtCaptcha"] == $_SESSION["security_code"]) && (!empty($_REQUEST["txtCaptcha"]) && !empty($_SESSION["security_code"])) ) { echo "<h1>Captcha goed ingevuld!</h1>"; } else { echo "<h1>Captcha niet goed ingevuld.</h1>"; } } else { header('Location: index.php'); } ?>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 112
Branch analysis from position: 4
2 jumps found. (Code = 47) Position 1 = 31, Position 2 = 34
Branch analysis from position: 31
2 jumps found. (Code = 43) Position 1 = 35, Position 2 = 40
Branch analysis from position: 35
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 40
2 jumps found. (Code = 47) Position 1 = 46, Position 2 = 49
Branch analysis from position: 46
2 jumps found. (Code = 43) Position 1 = 50, Position 2 = 51
Branch analysis from position: 50
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 51
2 jumps found. (Code = 47) Position 1 = 79, Position 2 = 81
Branch analysis from position: 79
2 jumps found. (Code = 43) Position 1 = 82, Position 2 = 84
Branch analysis from position: 82
1 jumps found. (Code = 42) Position 1 = 111
Branch analysis from position: 111
1 jumps found. (Code = 42) Position 1 = 115
Branch analysis from position: 115
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 84
2 jumps found. (Code = 43) Position 1 = 86, Position 2 = 88
Branch analysis from position: 86
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 88
2 jumps found. (Code = 43) Position 1 = 90, Position 2 = 92
Branch analysis from position: 90
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 92
2 jumps found. (Code = 46) Position 1 = 98, Position 2 = 107
Branch analysis from position: 98
2 jumps found. (Code = 46) Position 1 = 102, Position 2 = 106
Branch analysis from position: 102
2 jumps found. (Code = 43) Position 1 = 108, Position 2 = 110
Branch analysis from position: 108
1 jumps found. (Code = 42) Position 1 = 111
Branch analysis from position: 111
Branch analysis from position: 110
1 jumps found. (Code = 42) Position 1 = 115
Branch analysis from position: 115
Branch analysis from position: 106
Branch analysis from position: 107
Branch analysis from position: 81
Branch analysis from position: 49
Branch analysis from position: 34
Branch analysis from position: 112
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/q30CB
function name:  (null)
number of ops:  116
compiled vars:  !0 = $gebruikersnaam, !1 = $emailadres, !2 = $geboortedatum, !3 = $wachtwoord, !4 = $wachtwoord2, !5 = $year, !6 = $month, !7 = $day, !8 = $year_diff, !9 = $month_diff, !10 = $day_diff
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   FETCH_R                      global              ~11     '_SERVER'
          1        FETCH_DIM_R                                      ~12     ~11, 'REQUEST_METHOD'
          2        IS_EQUAL                                                 ~12, 'POST'
          3      > JMPZ                                                     ~13, ->112
    3     4    >   INIT_FCALL                                               'session_start'
          5        DO_ICALL                                                 
    4     6        FETCH_R                      global              ~15     '_POST'
          7        FETCH_DIM_R                                      ~16     ~15, 'gebruikersnaam'
          8        ASSIGN                                                   !0, ~16
    5     9        FETCH_R                      global              ~18     '_POST'
         10        FETCH_DIM_R                                      ~19     ~18, 'emailadres'
         11        ASSIGN                                                   !1, ~19
    6    12        INIT_FCALL                                               'date'
         13        SEND_VAL                                                 'd-m-Y'
         14        INIT_FCALL                                               'strtotime'
         15        FETCH_R                      global              ~21     '_POST'
         16        FETCH_DIM_R                                      ~22     ~21, 'geboortedatum'
         17        SEND_VAL                                                 ~22
         18        DO_ICALL                                         $23     
         19        SEND_VAR                                                 $23
         20        DO_ICALL                                         $24     
         21        ASSIGN                                                   !2, $24
    7    22        FETCH_R                      global              ~26     '_POST'
         23        FETCH_DIM_R                                      ~27     ~26, 'wachtwoord'
         24        ASSIGN                                                   !3, ~27
    8    25        FETCH_R                      global              ~29     '_POST'
         26        FETCH_DIM_R                                      ~30     ~29, 'wachtwoord2'
         27        ASSIGN                                                   !4, ~30
    9    28        STRLEN                                           ~32     !0
         29        IS_SMALLER                                       ~33     ~32, 3
         30      > JMPNZ_EX                                         ~33     ~33, ->34
         31    >   STRLEN                                           ~34     !0
         32        IS_SMALLER                                       ~35     20, ~34
         33        BOOL                                             ~33     ~35
         34    > > JMPZ                                                     ~33, ->40
   10    35    >   ROPE_INIT                                     3  ~37     'Uw+gebruikersnaam+%28'
         36        ROPE_ADD                                      1  ~37     ~37, !0
         37        ROPE_END                                      2  ~36     ~37, '%29+moet+minimaal+3+en+mag+maximaal+20+tekens+bevatten.'
         38      > EXIT                                                     ~36
         39*       JMP                                                      ->51
   12    40    >   INIT_FCALL                                               'filter_var'
         41        SEND_VAR                                                 !1
         42        SEND_VAL                                                 274
         43        DO_ICALL                                         $39     
         44        BOOL_NOT                                         ~40     $39
         45      > JMPNZ_EX                                         ~40     ~40, ->49
         46    >   STRLEN                                           ~41     !1
         47        IS_SMALLER                                       ~42     45, ~41
         48        BOOL                                             ~40     ~42
         49    > > JMPZ                                                     ~40, ->51
   13    50    > > EXIT                                                     'Voer+alstublieft+een+correct+e-mailadres+in%2C+deze+mag+maximaal+45+tekens+bevatten.'
   15    51    >   INIT_FCALL                                               'explode'
         52        SEND_VAL                                                 '-'
         53        SEND_VAR                                                 !2
         54        DO_ICALL                                         $43     
         55        FETCH_LIST_R                                     $44     $43, 0
         56        ASSIGN                                                   !5, $44
         57        FETCH_LIST_R                                     $46     $43, 1
         58        ASSIGN                                                   !6, $46
         59        FETCH_LIST_R                                     $48     $43, 2
         60        ASSIGN                                                   !7, $48
         61        FREE                                                     $43
   16    62        INIT_FCALL                                               'date'
         63        SEND_VAL                                                 'Y'
         64        DO_ICALL                                         $50     
         65        SUB                                              ~51     $50, !5
         66        ASSIGN                                                   !8, ~51
   17    67        INIT_FCALL                                               'date'
         68        SEND_VAL                                                 'm'
         69        DO_ICALL                                         $53     
         70        SUB                                              ~54     $53, !6
         71        ASSIGN                                                   !9, ~54
   18    72        INIT_FCALL                                               'date'
         73        SEND_VAL                                                 'd'
         74        DO_ICALL                                         $56     
         75        SUB                                              ~57     $56, !7
         76        ASSIGN                                                   !10, ~57
   19    77        IS_SMALLER                                       ~59     !10, 0
         78      > JMPNZ_EX                                         ~59     ~59, ->81
         79    >   IS_SMALLER                                       ~60     !9, 0
         80        BOOL                                             ~59     ~60
         81    > > JMPZ                                                     ~59, ->84
         82    >   PRE_DEC                                                  !8
         83      > JMP                                                      ->111
   20    84    >   IS_SMALLER                                               !8, 13
         85      > JMPZ                                                     ~62, ->88
   21    86    > > EXIT                                                     'Sorry%2C+de+minimumleeftijd+is+13+jaar+oud.'
         87*       JMP                                                      ->111
   23    88    >   IS_NOT_EQUAL                                             !3, !4
         89      > JMPZ                                                     ~63, ->92
   24    90    > > EXIT                                                     'Sorry%2C+de+wachtwoorden+komen+niet+overeen.'
         91*       JMP                                                      ->111
   26    92    >   FETCH_R                      global              ~64     '_REQUEST'
         93        FETCH_DIM_R                                      ~65     ~64, 'txtCaptcha'
         94        FETCH_R                      global              ~66     '_SESSION'
         95        FETCH_DIM_R                                      ~67     ~66, 'security_code'
         96        IS_EQUAL                                         ~68     ~65, ~67
         97      > JMPZ_EX                                          ~68     ~68, ->107
   27    98    >   FETCH_IS                                         ~69     '_REQUEST'
         99        ISSET_ISEMPTY_DIM_OBJ                         1  ~70     ~69, 'txtCaptcha'
        100        BOOL_NOT                                         ~71     ~70
        101      > JMPZ_EX                                          ~71     ~71, ->106
        102    >   FETCH_IS                                         ~72     '_SESSION'
        103        ISSET_ISEMPTY_DIM_OBJ                         1  ~73     ~72, 'security_code'
        104        BOOL_NOT                                         ~74     ~73
        105        BOOL                                             ~71     ~74
        106    >   BOOL                                             ~68     ~71
        107    > > JMPZ                                                     ~68, ->110
   28   108    >   ECHO                                                     '%3Ch1%3ECaptcha+goed+ingevuld%21%3C%2Fh1%3E'
        109      > JMP                                                      ->111
   30   110    >   ECHO                                                     '%3Ch1%3ECaptcha+niet+goed+ingevuld.%3C%2Fh1%3E'
        111    > > JMP                                                      ->115
   34   112    >   INIT_FCALL                                               'header'
        113        SEND_VAL                                                 'Location%3A+index.php'
        114        DO_ICALL                                                 
   36   115    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
160.64 ms | 1408 KiB | 25 Q