1<!DOCTYPE html> 2<html lang="th"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1"> 6 <title>à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸</title> 7 8 <meta name="csrf-token" content="6a83212da24217ddc81afc3e92719bbc25b23226a08ae6a8965de4da824f60b0"> 9 10 <link href="https://fonts.googleapis.com/css2?family=Sarabun:wght@300;400;500;600;700&display=swap" rel="stylesheet"> 11 <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"> 12 <link href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/all.min.css" rel="stylesheet"> 13 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css"> 14 15 <!-- ð¢ Select2 CSS --> 16 <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/select2.min.css" rel="stylesheet" /> 17 <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/select2-bootstrap-5-theme.min.css" rel="stylesheet" /> 18 <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"> 19 <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> 20 <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> 21 <link rel="manifest" href="/site.webmanifest"> 22 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css"> 23
23<script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
23 24 <!-- CSS --> 25 <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"> 26 <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" rel="stylesheet"> 27 <link href="/student/public//css/app.css" rel="stylesheet"> 28 <link href="/student/public//css/components/sidebar.css" rel="stylesheet"> 29 <link href="/student/public//css/components/navbar.css" rel="stylesheet"> 30 <link href="/student/public//css/components/toast.css" rel="stylesheet"> 31 <link href="/student/public//css/pages/grade-table.css" rel="stylesheet"> 32 <link href="/student/public//css/pages/student-card.css" rel="stylesheet"> 33 <link rel="stylesheet" href="/student/public//css/components.css"> 34 35</head> 36<body class=""> 37 38 39 40<div class="offcanvas offcanvas-start bg-dark text-white d-lg-none" tabindex="-1" id="sidebar" style="width: 250px;"> 41 <div class="offcanvas-header border-bottom border-secondary"> 42 <h5 class="offcanvas-title"><i class="fas fa-graduation-cap me-2"></i>à¹à¸¡à¸à¸¹à¸£à¸°à¸à¸à¸à¸°à¹à¸à¸µà¸¢à¸</h5> 43 <button type="button" class="btn-close btn-close-white" data-bs-dismiss="offcanvas"></button> 44 </div> 45 <div class="offcanvas-body p-0"> 46 <ul class="list-group list-group-flush"> 47 48 <li class="list-group-item bg-dark border-0"> 49 <a href="/student/" 50 class="text-white text-decoration-none sidebar-link d-flex align-items-center 51 "> 52 <i class="fas fa-home me-3 text-center" style="width: 20px;"></i> 53 <span class="link-text">หà¸à¹à¸²à¸«à¸¥à¸±à¸</span> 54 </a> 55 </li> 56 57 <li class="list-group-item bg-dark border-0"> 58 <a href="/student/auth/login" 59 class="text-white text-decoration-none sidebar-link d-flex align-items-center 60 "> 61 <i class="fas fa-sign-in-alt me-3 text-center" style="width: 20px;"></i> 62 <span class="link-text">à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸¹à¸à¸¥à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸</span> 63 </a> 64 </li> 65 66 <li class="list-group-item bg-dark border-0"> 67 <a href="https://app.sskru.ac.th/admission/register" 68 target="_blank" 69 class="text-white text-decoration-none sidebar-link d-flex align-items-center"> 70 <i class="fas fa-edit me-3 text-center" style="width: 20px;"></i> 71 <span class="link-text">สมัà¸à¸£à¹à¸£à¸µà¸¢à¸</span> 72 </a> 73 </li> 74 75 <li class="list-group-item bg-dark border-0"> 76 <a href="/student/student/report" 77 class="text-white text-decoration-none sidebar-link d-flex align-items-center 78 "> 79 <i class="fas fa-file-alt me-3 text-center" style="width: 20px;"></i> 80 <span class="link-text">รายà¸à¸²à¸à¸à¸±à¸§à¸à¸±à¸à¸¨à¸¶à¸à¸©à¸²</span> 81 </a> 82 </li> 83 84 </ul> 85 </div> 86</div> 87 88<div id="sidebarDesktop" class="sidebar-desktop bg-dark text-white d-none d-lg-block border-end border-secondary"> 89 <div class="p-3 text-center border-bottom border-secondary" style="height: 60px; overflow: hidden;"> 90 <div class="fw-bold fs-5 d-flex align-items-center justify-content-center h-100"> 91 <i class="fas fa-university fa-lg text-warning"></i> 92 <span class="link-text ms-2">à¸à¸²à¸à¸à¸°à¹à¸à¸µà¸¢à¸à¸¯</span> 93 </div> 94 </div> 95 96 <ul class="list-group list-group-flush mt-2"> 97 <li class="list-group-item bg-dark border-0"> 98 <a href="/student/" 99 class="text-white text-decoration-none sidebar-link d-flex align-items-center 100 "> 101 <i class="fas fa-home me-3 text-center" style="width: 20px;"></i> 102 <span class="link-text">หà¸à¹à¸²à¸«à¸¥à¸±à¸</span> 103 </a> 104 </li> 105 106 <li class="list-group-item bg-dark border-0"> 107 <a href="/student/auth/login" 108 class="text-white text-decoration-none sidebar-link d-flex align-items-center 109 "> 110 <i class="fas fa-sign-in-alt me-3 text-center" style="width: 20px;"></i> 111 <span class="link-text">à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸¹à¸à¸¥à¸à¸²à¸£à¹à¸£à¸µà¸¢à¸</span> 112 </a> 113 </li> 114 115 <li class="list-group-item bg-dark border-0"> 116 <a href="https://app.sskru.ac.th/admission/register" 117 target="_blank" 118 class="text-white text-decoration-none sidebar-link d-flex align-items-center"> 119 <i class="fas fa-edit me-3 text-center" style="width: 20p
119x;"></i> 120 <span class="link-text">สมัà¸à¸£à¹à¸£à¸µà¸¢à¸</span> 121 </a> 122 </li> 123 124 <li class="list-group-item bg-dark border-0"> 125 <a href="/student/student/report" 126 class="text-white text-decoration-none sidebar-link d-flex align-items-center 127 "> 128 <i class="fas fa-file-alt me-3 text-center" style="width: 20px;"></i> 129 <span class="link-text">รายà¸à¸²à¸à¸à¸±à¸§à¸à¸±à¸à¸¨à¸¶à¸à¸©à¸²</span> 130 </a> 131 </li> 132 133 </ul> 134</div> 135 136 137<style> 138.active-reg { 139 color: #ffc107 !important; 140 font-weight: bold; 141 background-color: rgba(255, 255, 255, 0.1); 142} 143.sidebar-link:hover { 144 background-color: rgba(255, 255, 255, 0.05); 145} 146</style> 147 <div id="wrapper"> 148 149<nav class="navbar navbar-dark bg-primary navbar-expand-lg shadow-sm"> 150 <div class="container-fluid"> 151 152 <button id="sidebarToggle" 153 class="btn btn-outline-light d-none d-lg-inline-block me-3"> 154 <i class="fas fa-bars"></i> 155 </button> 156 157 <button class="btn btn-outline-light d-lg-none me-2" 158 type="button" 159 data-bs-toggle="offcanvas" 160 data-bs-target="#sidebar"> 161 <i class="fas fa-bars"></i> 162 </button> 163 164 165 <div class="collapse navbar-collapse" id="topnav"> 166 167 <ul class="navbar-nav ms-auto align-items-center"> 168 169 <li class="nav-item me-3 text-white fw-semibold d-none d-lg-block"> 170 <i class="fas fa-graduation-cap me-1"></i> 171 à¸à¸²à¸à¸à¸°à¹à¸à¸µà¸¢à¸à¸¯ มรภ.ศà¸. 172 </li> 173 174 <li class="nav-item"> 175 <a class="nav-link btn btn-outline-light px-3" 176 href="/student/auth/login"> 177 <i class="fas fa-sign-in-alt me-1"></i> 178 <span class="d-none d-sm-inline">à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸</span> 179 </a> 180 </li> 181 182 </ul> 183 </div> 184 </div> 185</nav> 186 <main class="container-fluid py-4 flex-grow-1"> 187 <div class="row"> 188 <div class="col-12"> 189 <div class="card border-0 shadow-sm"> 190 <div class="card-body p-4"> 191 <div class="container py-5"> 192 <div class="row justify-content-center"> 193 <div class="col-md-5 col-lg-4"> 194 195 <div class="card shadow-sm border-0"> 196 <div class="card-header bg-white border-bottom-0 text-center pt-4 pb-0"> 197 <h3 class="mb-0 fw-bold">Student Login</h3> 198 <p class="text-muted small">à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¸±à¸à¸¨à¸¶à¸à¸©à¸²</p> 199 </div> 200 201 <div class="card-body p-4"> 202 203 <div id="login-alert"> 204 </div> 205 206 <form 207 hx-post="/student/auth/login" 208 hx-target="#login-alert" 209 hx-swap="innerHTML" 210 hx-indicator="#login-spinner" 211 hx-disabled-elt="#login-btn" 212 > 213 <input type="hidden" name="csrf_token" value="6a83212da24217ddc81afc3e92719bbc25b23226a08ae6a8965de4da824f60b0"> 214 215 <div class="mb-3"> 216 <label class="form-label">รหัสà¸à¸±à¸à¸¨à¸¶à¸à¸©à¸²</label> 217 <input 218 type="text" 219 name="username" 220 class="form-control" 221 required 222 autofocus 223 placeholder="à¸à¸£à¸à¸à¸£à¸«à¸±à¸ªà¸à¸±à¸à¸¨à¸¶à¸à¸©à¸²" 224 > 225 </div> 226 227 <div class="mb-3"> 228 <label class="form-label">à¹à¸¥à¸à¸à¸±à¸à¸£à¸à¸£à¸°à¸à¸²à¸à¸</label> 229 <input 230 type="password" 231 name="password" 232 class="form-control" 233 required 234 placeholder="13 หลัà¸" 235 > 236 </div> 237 238 <div class="d-grid mt-4"> 239 <button type="submit" class="btn btn-primary" id="login-btn">
240 <span>à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸</span> 241 <span 242 id="login-spinner" 243 class="htmx-indicator spinner-border spinner-border-sm ms-2" 244 role="status" 245 ></span> 246 </button> 247 </div> 248 </form> 249 250 </div> 251 </div> 252 253 <div class="text-center mt-3"> 254 <a href="/student/" class="text-decoration-none text-muted small"> 255 â à¸à¸¥à¸±à¸à¸«à¸à¹à¸²à¸«à¸¥à¸±à¸ 256 </a> 257 </div> 258 259 </div> 260 </div> 261</div> 262 </div> 263 </div> 264 </div> 265 </div> 266 </main> 267 268 <footer class="bg-primary text-white py-3 mt-auto"> 269 <div class="container"> 270 <div class="d-flex flex-column flex-md-row justify-content-between align-items-center small"> 271 272 <div class="text-center text-md-start mb-2 mb-md-0"> 273 <div class="fw-bold"> 274 ระà¸à¸à¸à¸²à¸à¸à¸°à¹à¸à¸µà¸¢à¸à¹à¸¥à¸°à¸à¸£à¸°à¸¡à¸§à¸¥à¸à¸¥à¸à¸²à¸£à¸¨à¸¶à¸à¸©à¸² 275 </div> 276 <div class="opacity-75"> 277 มหาวิà¸à¸¢à¸²à¸¥à¸±à¸¢à¸£à¸²à¸à¸ ัà¸à¸¨à¸£à¸µà¸ªà¸°à¹à¸à¸© 278 </div> 279 </div> 280 281 <div class="text-center text-md-end"> 282 <ul class="list-inline mb-1"> 283 <li class="list-inline-item"> 284 <a href="/student/calendar" 285 class="text-white text-decoration-none opacity-75"> 286 à¸à¸à¸´à¸à¸´à¸à¸à¸²à¸£à¸¨à¸¶à¸à¸©à¸² 287 </a> 288 </li> 289 <li class="list-inline-item">|</li> 290 <li class="list-inline-item"> 291 <a href="/student/reg-manual" 292 class="text-white text-decoration-none opacity-75"> 293 à¸à¸¹à¹à¸¡à¸·à¸à¸à¸±à¸à¸¨à¸¶à¸à¸©à¸² 294 </a> 295 </li> 296 </ul> 297 298 <div class="opacity-75"> 299 © 2026 300 à¸à¸±à¸à¸à¸²à¹à¸¥à¸°à¸à¸¹à¹à¸¥à¸£à¸°à¸à¸à¹à¸à¸¢ à¸à¸¨.à¸à¸£.à¹à¸à¸©à¸à¸² à¹à¸à¸à¹à¸à¹à¸§ 301 </div> 302 </div> 303 304 </div> 305 </div> 306</footer> 307 </div> 308 309 310 <div id="toast-container"></div> 311 312 <div id="modal-container"></div> 313 314 <div id="loading-spinner" class="d-none position-fixed top-0 start-0 w-100 h-100 bg-white bg-opacity-75 justify-content-center align-items-center" style="z-index: 2000;"> 315 <div class="text-center"> 316 <div class="spinner-border text-primary" role="status" style="width: 3rem; height: 3rem;"></div> 317 <div class="mt-2 fw-bold text-primary small text-uppercase">Loading...</div> 318 </div> 319 </div> 320 321
321<script src="https://hub.sskru.ac.th/survey/public/js/survey.js" 322 data-survey="oass-student" 323 data-system-name="ระà¸à¸à¸à¸£à¸´à¸à¸²à¸£à¸à¸¹à¹à¸à¸£à¸à¸à¸±à¸à¸¨à¸¶à¸à¸©à¸²" 324 data-system-url="https://app.sskru.ac.th/student" 325 data-delay="3000"> 326</script>
326 327
327<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
327 328
328<script src="https://unpkg.com/[email protected]"></script>
328 329 330 <!-- ð¢ jQuery (required for Select2) --> 331
331<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
331 332 333 <!-- ð¢ Select2 JS --> 334
334<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js"></script>
334 335 336
336<script src="/student/assets/js/app.js"></script>
336 337
337<script> 338 window.PATTERNS = { 339 thai_name: v => /^[à¸-à¹\s]+$/.test(v), 340 phone: v => /^[0-9]{9,10}$/.test(v), 341 idcard: v => /^[0-9]{13}$/.test(v), 342 date_th: v => /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/.test(v), 343 email: v => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(v), 344 }; 345 </script>
345 346 347 </body> 348</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.