3v4l.org

run code in 300+ PHP versions simultaneously
<?php session_start(); $error_message = ""; // ログインボタンが押されたかを判定 // 初めてのアクセスでは認証は行わずエラーメッセージは表示しない if (isset($_POST["login"])) { // ID・パスの入力チェック if (trim($_POST["user_id"]) == ''){ $error_message = "ID・パスワードを入力してください"; exit(); } elseif (trim($_POST["password"]) == ''){ $error_message = "ID・パスワードを入力してください" ; exit(); } elseif (!ctype_digit($_POST["user_id"]) == false) { $error_message = "IDは半角数字で入力してください"; exit(); } elseif (!ctype_digit($_POST["password"]) == false) { $error_message = "パスワードは半角英数字で入力してください"; exit(); } // DB $url = "localhost"; $user = "root"; $pass = ""; $db = "test"; // MySQLへ接続する $link = mysql_connect($url,$user,$pass) or die("MySQLへの接続に失敗しました。"); // データベースを選択する $sdb = mysql_select_db($db,$link) or die("データベースの選択に失敗しました。"); // クエリを送信する ID・パス照会 $sql = "select * from user "; $sql.= "where user_id= " . $_REQUEST["user_id"] ; $result = mysql_query($sql, $link) or die("クエリの送信に失敗しました。 <br/>SQL:".$sql); $row = mysql_fetch_assoc($result); // ①パスワードが一致する場合、ログイン if ($row["password"] == $_REQUEST["password"]){ // ログインが成功した証をセッションに保存 $_SESSION["user_id"] = $_REQUEST["user_id"]; $_SESSION["name"] = $row["name"]; $_SESSION["user_class"] = $row["class"]; // トップ画面へリダイレクト $login_url = "top.php"; header("Location: {$login_url}"); } // ②一致しない場合、エラーメッセージを格納 else{ $error_message = "ID・パスワードをお確かめください。"; } // MySQLへの接続を閉じる mysql_close($link) or die("MySQL切断に失敗しました。"); // ボタン判定終わり } ?> <html> <head> <title>ログイン画面</title> </head> <body> <center> <br> <br> <font size="2" >日程調整ツール「作成さん」</font><br> <br> <font size="5" >ログイン</font><br> <br> <br> <?php if ($error_message) { print '<font color="red">'.$error_message.'</font>'; } ?> <!-- できたらフォーム位置調整 --> <form action="login.php" method="POST">      ID:<input type="text" name="user_id" value="" /><br /> パスワード:<input type="password" name="password" value"" /><br /> <input type="submit" name="login" value="送信" /> </form> </center> </body> </html>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 6, Position 2 = 118
Branch analysis from position: 6
2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 16
Branch analysis from position: 13
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 16
2 jumps found. (Code = 43) Position 1 = 23, Position 2 = 26
Branch analysis from position: 23
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 26
2 jumps found. (Code = 43) Position 1 = 34, Position 2 = 37
Branch analysis from position: 34
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 37
2 jumps found. (Code = 43) Position 1 = 45, Position 2 = 47
Branch analysis from position: 45
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 47
2 jumps found. (Code = 47) Position 1 = 58, Position 2 = 60
Branch analysis from position: 58
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 60
2 jumps found. (Code = 47) Position 1 = 66, Position 2 = 68
Branch analysis from position: 66
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 68
2 jumps found. (Code = 47) Position 1 = 79, Position 2 = 82
Branch analysis from position: 79
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 82
2 jumps found. (Code = 43) Position 1 = 91, Position 2 = 111
Branch analysis from position: 91
1 jumps found. (Code = 42) Position 1 = 112
Branch analysis from position: 112
2 jumps found. (Code = 47) Position 1 = 116, Position 2 = 118
Branch analysis from position: 116
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 118
2 jumps found. (Code = 43) Position 1 = 120, Position 2 = 123
Branch analysis from position: 120
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 123
Branch analysis from position: 111
2 jumps found. (Code = 47) Position 1 = 116, Position 2 = 118
Branch analysis from position: 116
Branch analysis from position: 118
Branch analysis from position: 118
filename:       /in/ditNm
function name:  (null)
number of ops:  125
compiled vars:  !0 = $error_message, !1 = $url, !2 = $user, !3 = $pass, !4 = $db, !5 = $link, !6 = $sdb, !7 = $sql, !8 = $result, !9 = $row, !10 = $login_url
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL                                               'session_start'
          1        DO_ICALL                                                 
    5     2        ASSIGN                                                   !0, ''
    9     3        FETCH_IS                                         ~13     '_POST'
          4        ISSET_ISEMPTY_DIM_OBJ                         0          ~13, 'login'
          5      > JMPZ                                                     ~14, ->118
   12     6    >   INIT_FCALL                                               'trim'
          7        FETCH_R                      global              ~15     '_POST'
          8        FETCH_DIM_R                                      ~16     ~15, 'user_id'
          9        SEND_VAL                                                 ~16
         10        DO_ICALL                                         $17     
         11        IS_EQUAL                                                 $17, ''
         12      > JMPZ                                                     ~18, ->16
   13    13    >   ASSIGN                                                   !0, 'ID%E3%83%BB%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%82%92%E5%85%A5%E5%8A%9B%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84'
   14    14      > EXIT                                                     
         15*       JMP                                                      ->47
   17    16    >   INIT_FCALL                                               'trim'
         17        FETCH_R                      global              ~20     '_POST'
         18        FETCH_DIM_R                                      ~21     ~20, 'password'
         19        SEND_VAL                                                 ~21
         20        DO_ICALL                                         $22     
         21        IS_EQUAL                                                 $22, ''
         22      > JMPZ                                                     ~23, ->26
   18    23    >   ASSIGN                                                   !0, 'ID%E3%83%BB%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%82%92%E5%85%A5%E5%8A%9B%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84'
   19    24      > EXIT                                                     
         25*       JMP                                                      ->47
   22    26    >   INIT_FCALL                                               'ctype_digit'
         27        FETCH_R                      global              ~25     '_POST'
         28        FETCH_DIM_R                                      ~26     ~25, 'user_id'
         29        SEND_VAL                                                 ~26
         30        DO_ICALL                                         $27     
         31        BOOL_NOT                                         ~28     $27
         32        BOOL_NOT                                         ~29     ~28
         33      > JMPZ                                                     ~29, ->37
   23    34    >   ASSIGN                                                   !0, 'ID%E3%81%AF%E5%8D%8A%E8%A7%92%E6%95%B0%E5%AD%97%E3%81%A7%E5%85%A5%E5%8A%9B%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84'
   24    35      > EXIT                                                     
         36*       JMP                                                      ->47
   27    37    >   INIT_FCALL                                               'ctype_digit'
         38        FETCH_R                      global              ~31     '_POST'
         39        FETCH_DIM_R                                      ~32     ~31, 'password'
         40        SEND_VAL                                                 ~32
         41        DO_ICALL                                         $33     
         42        BOOL_NOT                                         ~34     $33
         43        BOOL_NOT                                         ~35     ~34
         44      > JMPZ                                                     ~35, ->47
   28    45    >   ASSIGN                                                   !0, '%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%81%AF%E5%8D%8A%E8%A7%92%E8%8B%B1%E6%95%B0%E5%AD%97%E3%81%A7%E5%85%A5%E5%8A%9B%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84'
   29    46      > EXIT                                                     
   34    47    >   ASSIGN                                                   !1, 'localhost'
   35    48        ASSIGN                                                   !2, 'root'
   36    49        ASSIGN                                                   !3, ''
   37    50        ASSIGN                                                   !4, 'test'
   40    51        INIT_FCALL_BY_NAME                                       'mysql_connect'
         52        SEND_VAR_EX                                              !1
         53        SEND_VAR_EX                                              !2
         54        SEND_VAR_EX                                              !3
         55        DO_FCALL                                      0  $41     
         56        ASSIGN                                           ~42     !5, $41
         57      > JMPNZ_EX                                         ~42     ~42, ->60
         58    > > EXIT                                                     'MySQL%E3%81%B8%E3%81%AE%E6%8E%A5%E7%B6%9A%E3%81%AB%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82'
         59*       BOOL                                             ~42     <true>
   43    60    >   INIT_FCALL_BY_NAME                                       'mysql_select_db'
         61        SEND_VAR_EX                                              !4
         62        SEND_VAR_EX                                              !5
         63        DO_FCALL                                      0  $43     
         64        ASSIGN                                           ~44     !6, $43
         65      > JMPNZ_EX                                         ~44     ~44, ->68
         66    > > EXIT                                                     '%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AE%E9%81%B8%E6%8A%9E%E3%81%AB%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82'
         67*       BOOL                                             ~44     <true>
   46    68    >   ASSIGN                                                   !7, 'select+%2A+from+user+'
   47    69        FETCH_R                      global              ~46     '_REQUEST'
         70        FETCH_DIM_R                                      ~47     ~46, 'user_id'
         71        CONCAT                                           ~48     'where+user_id%3D+', ~47
         72        ASSIGN_OP                                     8          !7, ~48
   48    73        INIT_FCALL_BY_NAME                                       'mysql_query'
         74        SEND_VAR_EX                                              !7
         75        SEND_VAR_EX                                              !5
         76        DO_FCALL                                      0  $50     
         77        ASSIGN                                           ~51     !8, $50
         78      > JMPNZ_EX                                         ~51     ~51, ->82
   50    79    >   CONCAT                                           ~52     '%E3%82%AF%E3%82%A8%E3%83%AA%E3%81%AE%E9%80%81%E4%BF%A1%E3%81%AB%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%0A%0A%3Cbr%2F%3ESQL%3A', !7
         80      > EXIT                                                     ~52
         81*       BOOL                                             ~51     <true>
   51    82    >   INIT_FCALL_BY_NAME                                       'mysql_fetch_assoc'
         83        SEND_VAR_EX                                              !8
         84        DO_FCALL                                      0  $53     
         85        ASSIGN                                                   !9, $53
   54    86        FETCH_DIM_R                                      ~55     !9, 'password'
         87        FETCH_R                      global              ~56     '_REQUEST'
         88        FETCH_DIM_R                                      ~57     ~56, 'password'
         89        IS_EQUAL                                                 ~55, ~57
         90      > JMPZ                                                     ~58, ->111
   57    91    >   FETCH_R                      global              ~61     '_REQUEST'
         92        FETCH_DIM_R                                      ~62     ~61, 'user_id'
         93        FETCH_W                      global              $59     '_SESSION'
         94        ASSIGN_DIM                                               $59, 'user_id'
         95        OP_DATA                                                  ~62
   58    96        FETCH_DIM_R                                      ~65     !9, 'name'
         97        FETCH_W                      global              $63     '_SESSION'
         98        ASSIGN_DIM                                               $63, 'name'
         99        OP_DATA                                                  ~65
   59   100        FETCH_DIM_R                                      ~68     !9, 'class'
        101        FETCH_W                      global              $66     '_SESSION'
        102        ASSIGN_DIM                                               $66, 'user_class'
        103        OP_DATA                                                  ~68
   62   104        ASSIGN                                                   !10, 'top.php'
   63   105        INIT_FCALL                                               'header'
        106        NOP                                                      
        107        FAST_CONCAT                                      ~70     'Location%3A+', !10
        108        SEND_VAL                                                 ~70
        109        DO_ICALL                                                 
        110      > JMP                                                      ->112
   69   111    >   ASSIGN                                                   !0, 'ID%E3%83%BB%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%82%92%E3%81%8A%E7%A2%BA%E3%81%8B%E3%82%81%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82'
   73   112    >   INIT_FCALL_BY_NAME                                       'mysql_close'
        113        SEND_VAR_EX                                              !5
        114        DO_FCALL                                      0  $73     
        115      > JMPNZ_EX                                         ~74     $73, ->118
        116    > > EXIT                                                     'MySQL%E5%88%87%E6%96%AD%E3%81%AB%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82'
        117*       BOOL                                             ~74     <true>
   80   118    >   ECHO                                                     '%0A%3Chtml%3E%0A%3Chead%3E%0A%3Ctitle%3E%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E7%94%BB%E9%9D%A2%3C%2Ftitle%3E%0A%3C%2Fhead%3E%0A%3Cbody%3E%0A%0A%3Ccenter%3E%0A%3Cbr%3E%0A%3Cbr%3E%0A%3Cfont+size%3D%222%22+%3E%E6%97%A5%E7%A8%8B%E8%AA%BF%E6%95%B4%E3%83%84%E3%83%BC%E3%83%AB%E3%80%8C%E4%BD%9C%E6%88%90%E3%81%95%E3%82%93%E3%80%8D%3C%2Ffont%3E%3Cbr%3E%0A%3Cbr%3E%0A%3Cfont+size%3D%225%22+%3E%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%3C%2Ffont%3E%3Cbr%3E%0A%3Cbr%3E%0A%3Cbr%3E%0A'
   96   119      > JMPZ                                                     !0, ->123
   97   120    >   CONCAT                                           ~75     '%3Cfont+color%3D%22red%22%3E', !0
        121        CONCAT                                           ~76     ~75, '%3C%2Ffont%3E'
        122        ECHO                                                     ~76
  100   123    >   ECHO                                                     '%3C%21--+%E3%81%A7%E3%81%8D%E3%81%9F%E3%82%89%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E4%BD%8D%E7%BD%AE%E8%AA%BF%E6%95%B4+--%3E+%0A%3Cform+action%3D%22login.php%22+method%3D%22POST%22%3E%0A%E3%80%80%E3%80%80%E3%80%80%E3%80%80%E3%80%80ID%EF%BC%9A%3Cinput+type%3D%22text%22+name%3D%22user_id%22+value%3D%22%22+%2F%3E%3Cbr+%2F%3E%0A%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%EF%BC%9A%3Cinput+type%3D%22password%22+name%3D%22password%22+value%22%22+%2F%3E%3Cbr+%2F%3E%0A%3Cinput+type%3D%22submit%22+name%3D%22login%22+value%3D%22%E9%80%81%E4%BF%A1%22+%2F%3E%0A%3C%2Fform%3E%0A%3C%2Fcenter%3E%0A%3C%2Fbody%3E%0A%3C%2Fhtml%3E'
  108   124      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
155.78 ms | 1408 KiB | 21 Q