3v4l.org

run code in 300+ PHP versions simultaneously
<?php session_start(); $error_message = ""; // ログインボタンが押されたかを判定 // 初めてのアクセスでは認証は行わずエラーメッセージは表示しないように if (isset($_POST["login"])) { // ID・パスの入力チェック(未実装、現状はIDに半角数字以外を入れるとおかしくなる) // 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 = 77
Branch analysis from position: 6
2 jumps found. (Code = 47) Position 1 = 17, Position 2 = 19
Branch analysis from position: 17
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 19
2 jumps found. (Code = 47) Position 1 = 25, Position 2 = 27
Branch analysis from position: 25
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 27
2 jumps found. (Code = 47) Position 1 = 38, Position 2 = 41
Branch analysis from position: 38
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 41
2 jumps found. (Code = 43) Position 1 = 50, Position 2 = 70
Branch analysis from position: 50
1 jumps found. (Code = 42) Position 1 = 71
Branch analysis from position: 71
2 jumps found. (Code = 47) Position 1 = 75, Position 2 = 77
Branch analysis from position: 75
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 77
2 jumps found. (Code = 43) Position 1 = 79, Position 2 = 82
Branch analysis from position: 79
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 82
Branch analysis from position: 70
2 jumps found. (Code = 47) Position 1 = 75, Position 2 = 77
Branch analysis from position: 75
Branch analysis from position: 77
Branch analysis from position: 77
filename:       /in/KYb5R
function name:  (null)
number of ops:  84
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, ->77
   16     6    >   ASSIGN                                                   !1, 'localhost'
   17     7        ASSIGN                                                   !2, 'root'
   18     8        ASSIGN                                                   !3, ''
   19     9        ASSIGN                                                   !4, 'test'
   22    10        INIT_FCALL_BY_NAME                                       'mysql_connect'
         11        SEND_VAR_EX                                              !1
         12        SEND_VAR_EX                                              !2
         13        SEND_VAR_EX                                              !3
         14        DO_FCALL                                      0  $19     
         15        ASSIGN                                           ~20     !5, $19
         16      > JMPNZ_EX                                         ~20     ~20, ->19
         17    > > 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'
         18*       BOOL                                             ~20     <true>
   25    19    >   INIT_FCALL_BY_NAME                                       'mysql_select_db'
         20        SEND_VAR_EX                                              !4
         21        SEND_VAR_EX                                              !5
         22        DO_FCALL                                      0  $21     
         23        ASSIGN                                           ~22     !6, $21
         24      > JMPNZ_EX                                         ~22     ~22, ->27
         25    > > 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'
         26*       BOOL                                             ~22     <true>
   28    27    >   ASSIGN                                                   !7, 'select+%2A+from+user+'
   29    28        FETCH_R                      global              ~24     '_REQUEST'
         29        FETCH_DIM_R                                      ~25     ~24, 'user_id'
         30        CONCAT                                           ~26     'where+user_id%3D+', ~25
         31        ASSIGN_OP                                     8          !7, ~26
   30    32        INIT_FCALL_BY_NAME                                       'mysql_query'
         33        SEND_VAR_EX                                              !7
         34        SEND_VAR_EX                                              !5
         35        DO_FCALL                                      0  $28     
         36        ASSIGN                                           ~29     !8, $28
         37      > JMPNZ_EX                                         ~29     ~29, ->41
         38    >   CONCAT                                           ~30     '%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%3Cbr%2F%3ESQL%3A', !7
         39      > EXIT                                                     ~30
         40*       BOOL                                             ~29     <true>
   31    41    >   INIT_FCALL_BY_NAME                                       'mysql_fetch_assoc'
         42        SEND_VAR_EX                                              !8
         43        DO_FCALL                                      0  $31     
         44        ASSIGN                                                   !9, $31
   34    45        FETCH_DIM_R                                      ~33     !9, 'password'
         46        FETCH_R                      global              ~34     '_REQUEST'
         47        FETCH_DIM_R                                      ~35     ~34, 'password'
         48        IS_EQUAL                                                 ~33, ~35
         49      > JMPZ                                                     ~36, ->70
   37    50    >   FETCH_R                      global              ~39     '_REQUEST'
         51        FETCH_DIM_R                                      ~40     ~39, 'user_id'
         52        FETCH_W                      global              $37     '_SESSION'
         53        ASSIGN_DIM                                               $37, 'user_id'
         54        OP_DATA                                                  ~40
   38    55        FETCH_DIM_R                                      ~43     !9, 'name'
         56        FETCH_W                      global              $41     '_SESSION'
         57        ASSIGN_DIM                                               $41, 'name'
         58        OP_DATA                                                  ~43
   39    59        FETCH_DIM_R                                      ~46     !9, 'class'
         60        FETCH_W                      global              $44     '_SESSION'
         61        ASSIGN_DIM                                               $44, 'user_class'
         62        OP_DATA                                                  ~46
   42    63        ASSIGN                                                   !10, 'top.php'
   43    64        INIT_FCALL                                               'header'
         65        NOP                                                      
         66        FAST_CONCAT                                      ~48     'Location%3A+', !10
         67        SEND_VAL                                                 ~48
         68        DO_ICALL                                                 
         69      > JMP                                                      ->71
   49    70    >   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'
   53    71    >   INIT_FCALL_BY_NAME                                       'mysql_close'
         72        SEND_VAR_EX                                              !5
         73        DO_FCALL                                      0  $51     
         74      > JMPNZ_EX                                         ~52     $51, ->77
         75    > > 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'
         76*       BOOL                                             ~52     <true>
   60    77    >   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'
   76    78      > JMPZ                                                     !0, ->82
   77    79    >   CONCAT                                           ~53     '%3Cfont+color%3D%22red%22%3E', !0
         80        CONCAT                                           ~54     ~53, '%3C%2Ffont%3E'
         81        ECHO                                                     ~54
   80    82    >   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%E6%95%B4%E3%81%88%E3%81%9F%E3%81%84+--%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'
   88    83      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
148.51 ms | 1404 KiB | 17 Q