Test Results
โ Database Connection
Connected to database successfully
โ Student Table Exists
Table found
โ wil_attendance Table Exists
Table found
โ Sample Student Data
Found 1670 student record(s)
โ Sample Student Record
ID: 0305055944089, Name: Siyabonga Langelihle Manyathela
{
"id_number": "0305055944089",
"first_name": "Siyabonga Langelihle",
"last_name": "Manyathela",
"email": "manyathelasiyabonga4@gmail.com"
}
โ wil_attendance Column Detection
Using column: student_number
โ Helper Functions Loaded
All required helper functions available
โ validate_student_id() Function
Student found: Akshay Jagjivan
{
"id_number": "9909015244083",
"first_name": "Akshay",
"last_name": "Jagjivan",
"email": "akshay.jagivan@sparrowportal.co.za",
"sign": "iVBORw0KGgoAAAANSUhEUgAAAUMAAADlCAYAAADJAZVAAAAABHNCSVQICAgIfAhkiAAAG6VJREFUeJztnW2S5KgORd0vZl\/OWpmzV2b3yvx+9FBDkQgESCDwPREZMZ1TaWMbLvoC\/7rv+94AAODh\/DO6AaCc67q+\/\/v1eg1tCwCr8L\/RDQB8ruvaXq\/Xdl3X9n6\/t+u6fggjAKAeWIaTcF3X9vX1te37vv3+\/Xvbtm378+fPtsE6BEAEWIYT8H6\/t6+vr23zBNAByxAAGSCGxnm9Xt+WoOM4jmHtAWBVIIZGcfFB3xLc930Lk\/9wkQGQAWJoEBcf9IXwOI4Pl3jf9wGtA2BNIIbGcELocxzH9n6\/P\/42jB8CAOpBNtkQMSE8z\/PDFUadIQDy\/MIKFDuEMcKYEG7btv369ev7v\/H4AJABbrIRuELog5ghAHJADA3wfr8\/kiWUEPouMmKGAMgBMRzM+\/3+UUdIJUtiwDIEQA6I4UCu6yoWQiRPANABYjgQX\/j2fWdbhAAAeSCGgwjjhFhjDMBYIIYDiMUJucBNBkCO9\/v97ZGhznAAfp1gScIk\/C0eHQD1+OVs53nCMuxNKHyIEwLQn7Cud4Ob3JcW93gLXGSU1QBQRyiErq4XYtiJmjIaAIAssQUObhxCDDshUUaD5AkA9eQWOGDXmg6gjGY8\/j2n\/jvEvXTr9Xph8pmcmGv8YZDcQJXjOO5t274\/x3FUH2vf9+\/jnOcp2cwlOM\/zPs\/zPo7j3vf9x\/2S+Oz7fh\/HgXs\/Eed5fvQDagxCDJWREsLwWE8fkE74NEQvJ4hSzxPocp7nx\/NLPTPUGSoSxihab\/WTawydO+tcm9Ide\/zsu3N5c66vO2f4Qq4QJMPsEY69jfOceir1k5B0j+9gltv3XaqZpvFdXq7V5ruy0taza0\/KhQbjiT0jTl+AGCohKYT3\/fMBrzzoSlzffd9VRI9DShSfHsIYRSw+WGI4QAwVCAeK9DFXE0OuAI4UPwrKcl3tGVknHHOuP5UAMRRG2j12rJhJ9mdySghnsbRiliIEUZ+YNVh77yGGwmgNBmlLcyRUB55NAGPELBSgQ2wCauk7848sQ2i4x44VxDAlgjMLYAgEUR+N0MS8I8sgWlahP7hmHFhPEUEfCKIOsdpBqT4EMRRCU7BmTp48TQR9QkFc\/Xq10U5UQQwF0EqaOGZc9RCbwZ8igj6zW\/UW0LQGfSCGAmhnemeKF1Iu8ZOFAPegnp5lS\/ZHl3E0kyZ3ZFa0jHR2bxVmDnOMgppUNfsStvBqpGXnag7+FlMax5fguq6Pbcq2DWt2QR2xdcX7vqtvfYfNXRvA+0z+XvPX19cPIdz3fTvP85H3I4a\/IQT2sqRxe0eGQnieZ5\/7pmZzLk7ovmq5P1ZXnkhW\/o+i19K+J26yUQoVYukJxLCSXnEgi\/HC2WODoZBrDzqIIc2I2CCFnRE2EdpJEx9LYji7NZgq\/tbG0nO0ggVr0AdPpoJeQmDJopjZGrSwAsZquGMElqxBH4hhIT2tQgslGTNbgxZE0AEx\/Is1a9AHYlhAr6SJY7QYzmgNWt0R5+liaNUa9IEYFtBbnEYOoNmswVhSxIIIOkZPbCOZZUUSxJBJT\/fYMSLo3msdqARWrcAYTxRDan26lWcSAjFk0ttCGrEMb4bdmjkvibIkgg5LybAezGIN+kAMGYywCnvudkK9SMeSoMxkBcZ4ihjOZg36QAwz9E6aOHq5VZatwZwAziCCDr8fWbm\/0swWZw7BRg0Zwo0SVlpv+3q9PjZXOM8z+3J1LfwXxadeEr\/v+\/Z+v4e1s5XV1idTGytM94xGq7FlRrjHDs1MsqVaL7c+eBULkGJFN3nmGtQYEMMEIx+wlghbcYtLBHBmEXSstuP1jDWoOSCGBCOtwltJDEcnSZ5gAVKsUlqzmjXoAzGMoP1OkxzSLhVVO9iDJwugzwpiuKI16AMxjDB6xpN0qUa4xbPWAmoysxiubA36IJscYG336pZsXCzLp5ktprb\/d7gM49Z4XaAfy2SKOYxWY0uMdo9j7ahpA1VErQHcYB6zbdTwFGvQB2LoYeX9xC0DJxYf1LiW2VeE9GYmMVw9NkgBMfyX0dljn9p29IgPpmKBK5XCSOPfJ6v354nWoA\/E8F8sPfwaMYwJodSggxXYjpWJluKp1qCPzSfTGUsFsTVlNWFHlrqGnAgex\/GowdKCVTF8ujXoY+vJDMBK0iTWHk5bNITQ0nb5K2B1KR6swZ88vrRm5o0Ywo0WWtufKo1ZtpyiA34fs3D\/ruvavr6+Pr6frf+LM1qNR2IpaeJIZbSP4\/j+LrTcWixaWIK6WAnDUM8Zz\/gvNhRgEJbcYwdVghFzaVrbDhHUJbYjzygxhEuc57FiaNEqvBOBdkoMpYqyrU0Ks5Lbkmzf966CiAQJHzsq0BmrHSMmhpQQls7qGtYl+AtnJU7PyRcucTmPFEOrViGVdWx536zbNAEiKA+17DH17x73XNKLeBJ2lKAjVjtIrKwmVjrDEULEA\/UoKULvWbpFiaClch7LPE4MrVqF9\/0phjU1hBBBPXJLEcMi9PDvtYQQLrEMttSgA1atwptwhznCnds\/EIOintqliD3WiUMEZXmUGFq2Cu+MGMYGEtYM69GyFJH6nXbb8LzbsKcIili2Cu+gfeHH7+Q5VxhrhuvIJZtyYpMTUIn2oSRKj8eIoXWrMLYPYTgIYQXqIHFvUyIqIVYQQX3sqYISljtQbiClPhDBOjhxVk4\/oYQ0\/L62z6UyxHjusjxCDC1bhTVCiIFQj6SFnVvi1tLnEBfsjy1lUMKqVViyYgEDoZ7cErnSe8tZ4la7bRdEcBzLi6FFq7Bk6RYGQT3ScdYSoap5qZfUsktQhw11UMSaVZhKlMQGGShH+p3NsZ1nckJVEi+k+oSF\/voklhZDa1ZhaXwQg6GMlrKY0mPmJipOv4NLbIvxCqGIFWHhWCqx7wEPDRFsESqOiwwRtMeyI260VVgSr+r1ruPV0LKsWjdCTYkhdpSxy7JiOKqj1SzjiokhoNESwVTNYAmx5wiX2D5LjroRViEnQ0yJsrU39FlFczlabEKqSWDF3neCLffnYEkx7CksufWsnHZADPNoupexY9cKVSiG2HJ\/HpYTw15WYUmtYOm6VvAfKfdSgtrNcylS\/QDWoG2WG3k9ZuCSEhlO54fV8EmPGFvN5rklx8NznYulxNB1RjeIpEkN0NrAeziAYDn0WYkRe1dJK4gNzs1SYqg1E+eslBYLAy7yf2i7xLdSGRNex7kGy4y+mrWgHKi4IPXCn9JF+eFxn0oPq0oyUZI6Jiz8OVli9Gm4mpzsZWvMSTpmNSO91uVK1A+G7caGq2uxhBhKvoGMGpyhlSJRDqPpDlqnVxEy9W7jFnIJNFiFczK9GErF3FJxn9T2TLVC2OPtaVbplWiQvsfcciowJ9M\/udaOXmqhSBVIP9G96pVo0DhPSsBr4tXh72BNjmdqMWyxCmtiPlJC+MSge691udJWJ0dYuX0wteP2ys9+FqYVwzC2VzIj1wS+JZfMPWnLLioGKz34e1uDsb8Jz+WLX869hhiOZ9oRWJo0SYlgznKQFMJU8H0letQMOkZYg47w\/3PFT9M6BnVMOQJL3OMWEYydqzW+FS7k1xSJUfRKkFDb8Wtbg6m\/5X4ggvaYQgyP4\/iR1eWIU6sIuvNKCmGs7ZLHHk3PjUtHWoOpv+d8VnjWK2JeDGOFySlrSkIEY+eV3irKCbzlAeJiXu4T+y63XnuV2KB\/7ppXOFh9xuA\/zIthaob1O6uUCN633v6C4TE5b1mTxgmYE2M3uGutnJQoxGo0W5DOSHOFlfsKh\/CZSrQR9MO0GHK2RJIUwdg5pYQwFucM\/y2JL3rSQlfy0dp8VdMa9PsU596FVj5EcE7MiiFnyZOkCMbOKenWhMf1S04kkidawidxPNe+mmvqZQ1yr5VrRcMlng+zYlg7cCW2a5fuzDGrsCVeWFK\/Rg1mPykVxgVvZoKAiqu13sveIljat1ITNazBeTEphqmkiUYH1N49JiZ8pWJYM5j9uB33\/nDjY6nfh7+ROHfp862dLGIWXnhuiOCamBTDkoHeSjh4Ner9Qqsw\/I4aRCUC6GdvJV3SLYil5Y5R+4xa44KpzDZ1TTkR5N4juMRrYE4Mc7FCyRm4hxBSFmBMIMPfpMSpRfh8tEqRuNZcq0tcajHnYqvcdemwBtfDlBhykiaShMfXIDbQwlUoN+OVo1Li56hdo805DrekRkIES5e9lVqgsAafgwkx5GRBpTtfeD6NGZ5aNhiKYat72tKmlnsciw9yrOsWl7jUEnSueo3wo4D6WQwVQ27Hlu54mpljH\/\/a\/HNoJ4RiUAIkVYbEuY+tLnHqGqh+UxMCiIk8hHB9holhySJ3TctIq2NTVmFqoPVcvlZ7rtjxOMeirMiWuGCq2LlWBKl7BTFcn+5iWOrmSHa8cEBqdmquKzyLCIbX5B+v5nctWeac61tzj1MJEutryIEMXcWQsipSnVoS\/zwamWMfiQFag4YI3ne9oMXawm0H9dsSr4JTF5lLkMAqfAbdxDA1mHpYheH5NUsiuINV2uqVyA5zjtviFnPPSYlaafY4Badchgp3gPXo+nRjYpQSDinB6hUnvBPJETfIpAeWlgjed701KO0WU7HB2kmmpFwGVuFzGOIm+\/\/Wtpp6xQk57qmkGNaWi7RcC8cadL\/zf9\/iFpfEBmuFmrIiYRU+i6FPOAxMa4hW2Ok14NbNtQbic26ilghyiqhbrMGaWDJHzLjXRgGr8FmYKa3RmIV7zOwlyZ9aMeSIYGtIgRJ0DZHJnZdrDbbUJ5Zml8H6DHvKKSGUmIW144Q1VpqEyJQKQY6W1SCtWWtKRKVEsEWoYRU+jyFiGNbgSc\/C2kJIWTM5sctdIydbKiGCqfhmbRaWI\/D++WPnlhJBqo21liR4Bt2fdEw0pItaNYWQU\/sWi01S\/58jgC6b2kpuh5rcb1usSAclUjkhbIk\/lrYRVuEz6S6GsUGuaRVKkau3yw2gkhUpJVZabdu51pLUFl\/hPeAKYS9rkDoGeA5dn3bMOpK0CrXc45ylkRtA3GJhSQHMnbenCN6J+GLqfpS43a3WoANW4XMZtgJF2irUqCek6iDDQRoKutt2a4QA3sZE8K54n01JCZSENUgda0Vc33Rhj9xHegs5y3R74jGhkrQK\/QGskY1ODdISa0dLAG+DIpjbCqv1PFLWoGMFqzAUu5J6TU4\/dsfzxXIVuohhbMaVnIWlZ3TO6gu\/s5V0Mo1BFmuHvxKktwjeFUJYWncp2db7ns8qlBA8iY87r1SSbyRdnnqs00tahVJiExMG31UoET83OMNjSi4zbCnE1hLBu1AIJZIw1isQWvH7UavouWOEFh71qT2ntXvIQV0MY6KnZRW2LLcrtWRKBEjqWm+GiOU6oaYI3oX3UWIVjkbh+UgkrD1f6Hy3WbJ9sZh\/bZ+0guqTpwqRJa3CWP1basYLZ8aWGZYzsCXFulXEqGvWXs0S+0iU5EgxyqIpSbRxBG8UvkDOLIyqYhjrZBqzcMkglJppw+vjtK2mI0iIIHV\/JJM43GdQck7JkhluuzWpFb+w\/1mHI4wWRVHt6VOdTNIqDM\/nJw0kRS93fanrqI0XSohgatmd5KDiCuHoJEkM7QFaGuvzKw1mEL4cOWG0JPAqYkgVP\/eahWM1VO47P4YSdsISuIOo9HpnEsH75glhbZJEI\/GUarsUNTWmVgRBk1RfseBCqygSJRRaVmEN4cMogXsdJfHC3OzJITUINQYbRwhbrWENAXdIWoXcaoMniR8Fx4UOM949LElxMeS4x5pWIYeww5beXO4g4oimhAimjqM16XCE0FKSJHU+6XKsmMXzZPG7iWLwXP+RGBcliKpSaklcj4vh0CqEJYModR6ppEaP5Aj3nLXn1k6S5Npfei6OG6x5\/60jVRM5tRhSQmHFKmwdBHehqMeuWSqe1zMu6JPr4JbdYodke58ugFIF4ZRbHPs7LcSUKSV4FqxCCSH0j5Hr9LE4x8wieGeE0MpKktLzctAuVJ+J1vKg0trIMAmqea\/FxJDq1BaSJin3vYSSY0i7kqkOqH1fc6tKSmZrzZUknHOXPkOIYF15kIVi8FJExJDKmoaCMOrGSJjZpaKe6iyl4tU7OcI5d00bqNrBXnBLdXJu2kwDvIbSJMcqSaJmMUwJXu+BGyN8oLVwr0XSghvpEt\/CbnHvJEkIxz1O3e\/RpWCalLq+q5YHNYsh1bktJE0k4oThcahjSMaVRotgzi2eIUkSkmr\/6Ps9ghLXdxXLL0eTSlHusVSMroWwg7e0oWYg1Z6XctF6dURJF3FUkiTVjtAtHxWHHUHNypgnUS2GKatLexkVB6mOnSoX4nQsLj02JcghJeojkyQhVD8dGYftRYn7u6rrW0K1GFIdyKJ73EI4mHNxtNKJwIKLJuni915JkiLmoVi435pw3d+nWn8pqpSCEhsL7rFkBpuz5CwMrnOzzr3XEVNILQe0ZA06YrHKFUUQ1p8MVWJIDZjR7rGUGLcst\/J\/F\/v\/I+sFQzTXRY8WGc5ENqtLXOP+gjzFYkhZhRbcY79z1Lhm3OVWqc5F3YOcK9qblFhwB4+FOGcMydpIK8D91adYtWKdanb3WHLNaSiGFpdySYiyRWvwzpQFWWhfCSXW3xNKX7QpEkMqHtZqkbVSK8bczlbTjtQsPnJQtgqhVWswF36YQShKVn4g\/icPe6RzSxRGULpULmet1Q5y6fXIkuQsJg4WrUGLlncJqP2zQ5UYWnaPU3CSF9K7mlgYlCkhbJk8RluDUgmgnqD2zy6s0U4JxOjs8c0sri7J4JZYmTmrxMKAbBWM2azBkR5KCm6Fwuh7+2RYvUbKgpIm14aaAlvONXE69uxCOKM1aKWNDq4AzhLTXJ2sisUER2oDhBZSbagtaE5ZhRqrTzRpEcKZrEELfTHWTsthExAnK4axjmah81FtaFlzGvv7knhgaSJHi5Y1xlatwdhqEpd95Vjz2kjUqIKxJHtPbLcPC50vTAjEvisdyDELozRLmVt90oPUgEy1ycpWW7F2Uc90dAKvZaUSsEdSzUK3z4pLknJPazthqkNzjzlSDHMDkxseGP1sQ1L3f5Qlbr16ANRBimHY0UbPwrF2SXXE1DFLAtyjLOZU6UxOCK1truATto0Swh5thgCuDzlqw4HtW2AjVpnE2tVizWh07hFimJscqGuICailAZ0Swrtj3Boi+Byioza0Ci3ECcN21XZIrc4dLsXrQa0QWnaL7ztfraDdHyGAzyTak6SsL0lassTciv+WDt5bDHPXU7J9mKWBzYlLa\/VHiOCz+RDDMINsQQhrXTquCEpcW69gPueaKCGM3UNLcIRQ+j5DAIEjKYbhZwSlLl2s9izWuaVdrR5imEuUUEJo3S2+73IhlLDkIYLA54cKtC7ol6ZkEJd2bulr0y6rqc2iW6wdDAn7HWWxtj4zCCBI8UMMW+Jy0lBt8ant3LFi8lY0LWiOEIbM4BY7OB5IiyUPEQQcfvQqqrP0JiXKrWs\/QyGUEnqt+5UTQo47OWpC45ArobnvurXwEEBQyvfIbV3OJgVnVxKqc3M6uMa1aWWSa3bGsZ4t9uEIYdgvW5NmEEFA8S2G1E4lvSkVw5LOrVWfJi2GNRljam2xVbjWHsdLcQmx0rXkAPh89y4LVuHNnNlr9n\/TXFctmUmuyRjP5BbfN\/9Z5CxHWIFAku3O7AwygnCwtHZq7XXVUmLIsYo5QmhZALhCSP1dLmaMzVJBLWTMcCTS7qy26yghhqVbQVndcitFrRA68YMVCDT5KK2x0KEkrbhwAGnQUmPIiQ\/m1uaOtuQ51LrGuQ9EEEhh7s05klZhr22easWQEx\/0LVlKOK0LIaeoumTpJAQQaGBaDCXjb5qCUSOGnPig32Yq2z+DKKTEnSuCs1wrmBdzYihhyfXeiJYrhiXWjzvODDvNpIhlhHPxv23j140CIIUpMZRykf2B1qPWLlzVkkt0cC2g2O8s1w6G1BTQQwDBKMyKYa0113s7+LtC8HJuMRVLnEkkNIvnAdDAlBi2WoU944QhTsA4LiAlhJSozmINciaF2P2Z5frA2pgRw9adZHrHCak2+MvCcnVxvsVHWVIzWEst26fVTnwASGOmJ7a6yNYsDa6VFFtTK7mbjhbc0EAIZ3MGAEZgRgxbBoi1AcapH6QsR+uxs5qMuGNkGAOAHCbFsIQRCZOS9pR8Rrc9RUoEnYCnhA5CCKxjQgx9V7FkkFgbYLUZ5dHtTsERwftOl0VZe04AxDAjhqUDxdIA47rFM7nEXBG87\/yzCH8LgEWmFENLQrhaYXGJCDr8vw+fRY+NMgCQwETvLBHDcHBZE8KarfotUCOC9w33GKyDCTHkrO2NDdZRg4vaSzBXa2eNVJE314KlnofWi7cA0GIKMbS0fx+1KzjlLlt0iXPlMdx9LalCeViEYEZMiKE\/eDibHIwSF0qUKSG0JAKclyaVbO5LlTRBCMGsmBNDalXGaCuL2mLfWjtDtF6aFBO82Hb9AMyCCTHMlaaMFJdY22JFxpYsIe6rBGrvacw9Dr+DEILZMCGGdzCAU6UaPaGyxRZ3luFsmioxqcTcYFiEYAV+3X9dHhO83+\/v\/369Xtvr9RrSjuu6tvf7vf358+fH9\/u+f3znvr+uq2ML\/+LOGWurY9\/37\/vaej\/f7\/f2+\/fv738fx7Ft2\/bju1H3AoBmRquxNSj3N2Vx9W4fd9t86dBC7p5YCBEAUAvE0KNmNUnPnbRHCKBj1mJyALhADBu27dcSnlwZTO\/kUqqGEkIIVuGf0W76aK7r2r6+vop\/d56nWEzzuq7vDxX783FxwF4xVSoG+Hq9urYDAFVGq\/FIavcelLDEuK6vn8EeXWxeskwPgNkwlU3uBZUtDollj1ssQnfebduS5973fdu2TSwLLIGzAq20BwBpHieGYXlIjH3ft9fr9fF3NULIdYElS2AAABWMNk17wU2SOPev1TXmvhAK7iYANniEGHJig35GtPYFUxBAAOZleTEsFafSQmIIIABrsKwY1mz+UCKEWrvBAADGsKQY5tzimMhxhJAjgC27wQAAxrGUGHLEKkZOCGEFArA+y4hhyhpMiRUlhBBAAJ7F9GLIeZ8HRUwIIYIAPJOpxbDWGryJbfxrXpUJAFiDKVeg5DZXyK0Ueb1eJjdEAACMY7pda1JCxtllmSOEEEEAnsf\/RjeAy\/v93n79+kVuu3+eZ1YIc9vjn+e53fe9XdcFIQTgaYz203O0JEh8ZnrJOwCgP6bd5NwOM7XbabldafwXUAEAno3JBEpuv8GWN7DBBQYAxDAnhlrWIAAApDDjJmtagwAAkMOEGObKZVDmAgDQZqgYwiUGAFhhSJ2hS2JQQngcx3bfN4QQANCN7pZhyiU+jgPlLgCAIXSzDFMrSJwlCCEEAIxC3TJMbaoASxAAYIUuYhgCEQQAWKNL0bWLE0IEAQBWMbcCBQAARjDNFl4AAKDJ\/wFtAHsXAJzB8AAAAABJRU5ErkJggg==",
"first_login_done": 1,
"indemnity_sign_date": "2026-02-25 08:17:26",
"indemnity_witness_sign": "iVBORw0KGgoAAAANSUhEUgAAAPwAAAB1CAYAAABqFIx3AAAABHNCSVQICAgIfAhkiAAACp9JREFUeJztnfGS6iwMxfHO916tT0Z9stYn6\/fHnXhjBJoABarnN7Ozu+rWrnqacAjhtu\/77gAAP8Gf3idQm23b3LZtvU8DgCH5OsE759yyLL1P4XXhWZbl9R2A3ty+KaVflsU9Ho\/X7977JkLjGQU93\/P5dNM0uefz+fbYdV3dPM+nnxMAIf7rfQK1kGI\/AxI2HzZIQXNC923bBsGDbnyF4M8UO0\/HU+IOMU3Tm7iR2oPeXF7wtcVOkXtZFpPAp2lyzjk3z\/PrC4DRuPwY\/na7vX723jvn3OsCoBkvWyM4RW06LoQNrsSlI7xMj5dlSQqQR29nELjm2ABcgcsKPuTIOyHieZ4\/xs1HIkcEB9\/MZVN6mcqTqPntGrjAIW7w7VwywodSea0DDoGDX+Zygg+58vM8R1N1jMEB+MflUnptyj5NE0QOgOAytfTWCjWk7AB8MrTgaVx+u93c\/X4Ppu3TNLl1Xd2+76\/0XVa4AQD+MmRKT0JPjctD6TpP9wf8twDozjCmHS1I0ZTJhta7c4eeIj0A4J3uKT2Nze\/3u0rsVGAj4dEe6TwAYboJngtdpu58XM5JrW9HlxsAjmme0qdWt8mxeajAJgYXPCL8NeH9BuRtknmesdQ4gyamXQ0TjjvvoTcaht01sDYRkVAXoaPPA4iwn8S6rvs0Tbtz7u2LbpumaV\/XNfr33vuPv6GfQ8\/FnwOMwbqur89B6LNQ+kXHBXqqpfTaxhGUih2l3Tzt56WzmtVuoA8UtbdtM3cHcqKJCBH6nNBsDkV6oKdI8NrmEdYFKzxFI6Mu5eBj\/N6enN4CBF\/f4IzvGZ+6paHgrxDyNlJmdWjIYxK8pf1TyaKVs5tRAju5Aq\/ZX2DbNne\/31+\/52QRo1PqcXBkb4h5no8HvJYxGI3LU2PzI\/jY3Xv\/up0\/vzw+v4\/\/DSjDOv6mx5Z+BkLwz4XGAxodeo2896d5HPJrXdfwGP7IVSfOWHpaGt2R0udjbeDZordA7LN4pZWQJcMfDvcrtBnTx2vHrzqtongMeRWPnZt8bjj0+bTO4KznFTuHkeGRO3fmwXtf5bXm7+++77vjdxylaWfDn1em5rFUX\/4dOCYmptB7Tx+8VueVOrdRhZ4z9Vhb2FqCEb7llZxIRXd5PwRvIyeK9zi\/kc4phTWCS3H35E0hPU8mFd13kYHwYovY7b\/MUaTslcFJjkQzyvs5knlZyptp18sEsdTMg0+sphCfv279nueWWbeCFw+5L9y7YIj18KH+8lp+segmR+D0+J5CGk3oOeJ2g7yeuXQXPKJ7GlmIYflQ9orixEgiLxX3t7Q27y54Tiq68xf6GyusXIVy1d4Cd8oaDu\/9aeIpnfMuKfu9BD0NhCNnXhJ6bMq9Hx2tuSbv72m05fwPZM7VPl\/ulsvP0tXNtbMYJsJrxu60FtpF2lZf4Wqcu988RUU3wP9pWTTlKjWrOErJLT6GG+A17EVXwcslsDlcobWVVSCjfSgtF6kaQ4saK\/GwIWiYboKXS2C\/7U3R1qWPMvbmWNe1l\/4PuevoR71ADk2vscRRoU2IUD39aFV22jH5aGNGOm\/NWLjEQ8jtgvOL4+0z6KISq1lHjCr4q4tcI7acslC5BNQq7hFKUb+N7qadtdBmFDRpaO+qMYllmEGPs3ajKS1kcUjNz6XHVSY3KssI36N5pXahxyiRSZs+W9N0pObXpEtfeqJmdD+zmeFVonlOya2mgiy32k8+h0P07k5zwdfsV3d2Hf1IpaEhLCk63X\/kqJeKm84ndnzQl6aCv0LdvKY0tJfQrS2oHBPhuq4f51tD3N9SY\/4rdDPtRjLrNELqKXJLAUoqgpf0jUdq\/iW0NAxKDTbZkSfV506DxoBrPZ1m7U4TM8BKdn3p0XoJtKFZhK9p1pWslhstZc\/pFCsjOB2DfoepBqK0urLwCJK7qk1GdB6RUoxWGGON4rIAJbefOabEQBPB51bWSWKCjx1zpOaIuT3mMN8NatLctCtJ51OGGieVtrdarGLdlosPebQbgchjwDEHh7S4qvDIUxJt5HFkSp+Koi2iubZuXNaKI3qDVpwueLnPewkxwfcam1vbQXvvs3YkwUISUIumKX3NVDNVtEPp7RmFPdZ5ce\/9ay9za8tjB9cc1ObsK0oNs25PbIXVIpprozidA\/+uPWdEb9CCUwVf2mCSC621224RubaBIsbeoDenCl6KQotFbLkXkxrPO+pebQDEOE3wOXPvRy67NLFqCN4qcksUB2A0mph2R3PvmnlzvuCjhpGVM9cdY8RGlACEOE3wRy2orWvNQ+2o+TpvDbVEDoGDq3KK4OV0GIliWRb3eDySQrUsXAkdQ67xTj1WA6bJwDdxekofSuel+DQiT2048Xg8ijvpYAMD8Avc9r9uet2D3m6vn3mnFX47R9OPrtYGkhA2+GWqR3iezlPFmzuI0GfvBtu79xwAo3BqSi9XgNWCorR2FRqEDsBfqqf0PG3nh5ZpvoVt215jdBLx0TQeRA7AJ1UjfKyNVcy11yLd9vv9\/vEYCB2AY6oKPpa289vP6lZ7hW2jAehOzbK9UCltSXsrTUMLrBMHQE+1CK\/pSquN7qk15zJ1RwoPgJ5qph035bz3L8HGTLwY8zwn3fcTygYA+Bn+1DhIbAspSy\/6ZVnc7XYLRnQAQB2qCJ7Dha0pd922zc3z\/PHYaZo+9kMbaXsqAC5JDSOAm2lkoGnMulCnGLmWnJt2tRpdAPCrFAs+JuxUg4qY+x4SdK7DDwD4pKrguWBjQo1FdcuxAQB5FAs+Ft0pgnOhaqN66NgQPADlFJl2MRde7j9Oxhy\/jUy5WO94WTl3Ro95AH6NosKbkAsvxe6c+6h95\/P0MVqU4wLwa2QX3mzb9iZkOgy1sYohp9qiJ2Ys2AEAHJOd0scicGg+3UXm1WNYCnYAAHqyU3ptD7nn8+mmaTKtZivtTwcACJMV4TWltIT33iR2mHUAnEdxaW0qndeYcxKYdQCcSM5cXqiUVs6x586bh44NAKiDOcKH2lXJOfacyB47NgCgHkUpPQlbzrvXGHcjnQegPuZ5eNnoosa4PXRszL0DUB9ThJdCDk2f5Yodc+8AnE\/VBhglQsXcOwDnYxL8kShzTTa5PRXm3gE4B7XgQyKU\/eZyBX+0lzwAoA5FKX2NfnOxqj0AQH3ULr3c6lk69NqFManjljj8AIBjVBFeijAUzXPEjugOQFtUgj9a0JKbzvMMAVNxAJyPKqWXafc8z6\/mF9alrwRvlJF7DACAjcMIH0q7uThza+a52OHMA9AGk0tPplrpNJr8e4zdAWjDoeBlsU3puBtGHQD9SApeVsDJ5hRWscrsAEYdAG1JmnaxrZtzTDbZ5RZz7gC0JxrhQ\/3lCcy5A3BNkoIPkROZeaZA7aoBAO0xufQ5U2hyWEAtsQAA7TFFeKtYa\/W6AwDUIWraycUyztB2atu2j153EDsA\/QnuPBOK7toptNDechA7AGOg3mpKs9trqINt7rJZAEB9gmP4eZ7futmkXHXa+\/1+v3+k8BA7AGMRjfDccCNRE5TyhyK6QwoPwLAkK+1Cxl0KakCJqA7AmCTn4b33H40qQ1AxjcwEAABjcdgAQ65\/5xVzlLZD5ABcA\/NWUwCA6\/I\/ITGXeO2Fw4QAAAAASUVORK5CYII=",
"medical_aid_name": "none",
"medical_aid_number": "none",
"main_member_first_name": "none",
"main_member_surname": "none",
"allergies": "none",
"medical_conditions": "none",
"witness_first_name": "Brandon",
"witness_surname": "Cronning"
}
โ POST /first-login.php
Endpoint working correctly
{
"ok": true,
"auth_token": "674ecb469649196a9948efc22a3cc9135511d88f8684528651af06c7684453db",
"require_email_update": false,
"require_signature_update": false,
"student": {
"id_number": "9909015244083",
"first_name": "Akshay",
"last_name": "Jagjivan",
"email": "akshay.jagivan@sparrowportal.co.za",
"email_set": true,
"sign_set": true,
"indemnity_sign_date": "2026-02-25 08:17:26",
"indemnity_witness_sign": "iVBORw0KGgoAAAANSUhEUgAAAPwAAAB1CAYAAABqFIx3AAAABHNCSVQICAgIfAhkiAAACp9JREFUeJztnfGS6iwMxfHO916tT0Z9stYn6\/fHnXhjBJoABarnN7Ozu+rWrnqacAjhtu\/77gAAP8Gf3idQm23b3LZtvU8DgCH5OsE759yyLL1P4XXhWZbl9R2A3ty+KaVflsU9Ho\/X7977JkLjGQU93\/P5dNM0uefz+fbYdV3dPM+nnxMAIf7rfQK1kGI\/AxI2HzZIQXNC923bBsGDbnyF4M8UO0\/HU+IOMU3Tm7iR2oPeXF7wtcVOkXtZFpPAp2lyzjk3z\/PrC4DRuPwY\/na7vX723jvn3OsCoBkvWyM4RW06LoQNrsSlI7xMj5dlSQqQR29nELjm2ABcgcsKPuTIOyHieZ4\/xs1HIkcEB9\/MZVN6mcqTqPntGrjAIW7w7VwywodSea0DDoGDX+Zygg+58vM8R1N1jMEB+MflUnptyj5NE0QOgOAytfTWCjWk7AB8MrTgaVx+u93c\/X4Ppu3TNLl1Xd2+76\/0XVa4AQD+MmRKT0JPjctD6TpP9wf8twDozjCmHS1I0ZTJhta7c4eeIj0A4J3uKT2Nze\/3u0rsVGAj4dEe6TwAYboJngtdpu58XM5JrW9HlxsAjmme0qdWt8mxeajAJgYXPCL8NeH9BuRtknmesdQ4gyamXQ0TjjvvoTcaht01sDYRkVAXoaPPA4iwn8S6rvs0Tbtz7u2LbpumaV\/XNfr33vuPv6GfQ8\/FnwOMwbqur89B6LNQ+kXHBXqqpfTaxhGUih2l3Tzt56WzmtVuoA8UtbdtM3cHcqKJCBH6nNBsDkV6oKdI8NrmEdYFKzxFI6Mu5eBj\/N6enN4CBF\/f4IzvGZ+6paHgrxDyNlJmdWjIYxK8pf1TyaKVs5tRAju5Aq\/ZX2DbNne\/31+\/52QRo1PqcXBkb4h5no8HvJYxGI3LU2PzI\/jY3Xv\/up0\/vzw+v4\/\/DSjDOv6mx5Z+BkLwz4XGAxodeo2896d5HPJrXdfwGP7IVSfOWHpaGt2R0udjbeDZordA7LN4pZWQJcMfDvcrtBnTx2vHrzqtongMeRWPnZt8bjj0+bTO4KznFTuHkeGRO3fmwXtf5bXm7+++77vjdxylaWfDn1em5rFUX\/4dOCYmptB7Tx+8VueVOrdRhZ4z9Vhb2FqCEb7llZxIRXd5PwRvIyeK9zi\/kc4phTWCS3H35E0hPU8mFd13kYHwYovY7b\/MUaTslcFJjkQzyvs5knlZyptp18sEsdTMg0+sphCfv279nueWWbeCFw+5L9y7YIj18KH+8lp+segmR+D0+J5CGk3oOeJ2g7yeuXQXPKJ7GlmIYflQ9orixEgiLxX3t7Q27y54Tiq68xf6GyusXIVy1d4Cd8oaDu\/9aeIpnfMuKfu9BD0NhCNnXhJ6bMq9Hx2tuSbv72m05fwPZM7VPl\/ulsvP0tXNtbMYJsJrxu60FtpF2lZf4Wqcu988RUU3wP9pWTTlKjWrOErJLT6GG+A17EVXwcslsDlcobWVVSCjfSgtF6kaQ4saK\/GwIWiYboKXS2C\/7U3R1qWPMvbmWNe1l\/4PuevoR71ADk2vscRRoU2IUD39aFV22jH5aGNGOm\/NWLjEQ8jtgvOL4+0z6KISq1lHjCr4q4tcI7acslC5BNQq7hFKUb+N7qadtdBmFDRpaO+qMYllmEGPs3ajKS1kcUjNz6XHVSY3KssI36N5pXahxyiRSZs+W9N0pObXpEtfeqJmdD+zmeFVonlOya2mgiy32k8+h0P07k5zwdfsV3d2Hf1IpaEhLCk63X\/kqJeKm84ndnzQl6aCv0LdvKY0tJfQrS2oHBPhuq4f51tD3N9SY\/4rdDPtRjLrNELqKXJLAUoqgpf0jUdq\/iW0NAxKDTbZkSfV506DxoBrPZ1m7U4TM8BKdn3p0XoJtKFZhK9p1pWslhstZc\/pFCsjOB2DfoepBqK0urLwCJK7qk1GdB6RUoxWGGON4rIAJbefOabEQBPB51bWSWKCjx1zpOaIuT3mMN8NatLctCtJ51OGGieVtrdarGLdlosPebQbgchjwDEHh7S4qvDIUxJt5HFkSp+Koi2iubZuXNaKI3qDVpwueLnPewkxwfcam1vbQXvvs3YkwUISUIumKX3NVDNVtEPp7RmFPdZ5ce\/9ay9za8tjB9cc1ObsK0oNs25PbIXVIpprozidA\/+uPWdEb9CCUwVf2mCSC621224RubaBIsbeoDenCl6KQotFbLkXkxrPO+pebQDEOE3wOXPvRy67NLFqCN4qcksUB2A0mph2R3PvmnlzvuCjhpGVM9cdY8RGlACEOE3wRy2orWvNQ+2o+TpvDbVEDoGDq3KK4OV0GIliWRb3eDySQrUsXAkdQ67xTj1WA6bJwDdxekofSuel+DQiT2048Xg8ijvpYAMD8Avc9r9uet2D3m6vn3mnFX47R9OPrtYGkhA2+GWqR3iezlPFmzuI0GfvBtu79xwAo3BqSi9XgNWCorR2FRqEDsBfqqf0PG3nh5ZpvoVt215jdBLx0TQeRA7AJ1UjfKyNVcy11yLd9vv9\/vEYCB2AY6oKPpa289vP6lZ7hW2jAehOzbK9UCltSXsrTUMLrBMHQE+1CK\/pSquN7qk15zJ1RwoPgJ5qph035bz3L8HGTLwY8zwn3fcTygYA+Bn+1DhIbAspSy\/6ZVnc7XYLRnQAQB2qCJ7Dha0pd922zc3z\/PHYaZo+9kMbaXsqAC5JDSOAm2lkoGnMulCnGLmWnJt2tRpdAPCrFAs+JuxUg4qY+x4SdK7DDwD4pKrguWBjQo1FdcuxAQB5FAs+Ft0pgnOhaqN66NgQPADlFJl2MRde7j9Oxhy\/jUy5WO94WTl3Ro95AH6NosKbkAsvxe6c+6h95\/P0MVqU4wLwa2QX3mzb9iZkOgy1sYohp9qiJ2Ys2AEAHJOd0scicGg+3UXm1WNYCnYAAHqyU3ptD7nn8+mmaTKtZivtTwcACJMV4TWltIT33iR2mHUAnEdxaW0qndeYcxKYdQCcSM5cXqiUVs6x586bh44NAKiDOcKH2lXJOfacyB47NgCgHkUpPQlbzrvXGHcjnQegPuZ5eNnoosa4PXRszL0DUB9ThJdCDk2f5Yodc+8AnE\/VBhglQsXcOwDnYxL8kShzTTa5PRXm3gE4B7XgQyKU\/eZyBX+0lzwAoA5FKX2NfnOxqj0AQH3ULr3c6lk69NqFManjljj8AIBjVBFeijAUzXPEjugOQFtUgj9a0JKbzvMMAVNxAJyPKqWXafc8z6\/mF9alrwRvlJF7DACAjcMIH0q7uThza+a52OHMA9AGk0tPplrpNJr8e4zdAWjDoeBlsU3puBtGHQD9SApeVsDJ5hRWscrsAEYdAG1JmnaxrZtzTDbZ5RZz7gC0JxrhQ\/3lCcy5A3BNkoIPkROZeaZA7aoBAO0xufQ5U2hyWEAtsQAA7TFFeKtYa\/W6AwDUIWraycUyztB2atu2j153EDsA\/QnuPBOK7toptNDechA7AGOg3mpKs9trqINt7rJZAEB9gmP4eZ7futmkXHXa+\/1+v3+k8BA7AGMRjfDccCNRE5TyhyK6QwoPwLAkK+1Cxl0KakCJqA7AmCTn4b33H40qQ1AxjcwEAABjcdgAQ65\/5xVzlLZD5ABcA\/NWUwCA6\/I\/ITGXeO2Fw4QAAAAASUVORK5CYII=",
"medical_aid_name": "none",
"medical_aid_number": "none",
"main_member_first_name": "none",
"main_member_surname": "none",
"allergies": "none",
"medical_conditions": "none",
"witness_first_name": "Brandon",
"witness_surname": "Cronning",
"first_login_done": true
}
}
โ POST /update-email.php
Email update not allowed after first login
{
"ok": false,
"error": "Email update not allowed after first login"
}
โ POST /submit-attendance.php
Missing Authorization header
{
"ok": false,
"error": "Missing Authorization header"
}
โ upload-media.php File Exists
File found (Drive upload needs service account setup)
โ First login endpoint
โ first-login.php
โ Update email endpoint
โ update-email.php
โ Submit attendance endpoint
โ submit-attendance.php
โ Media upload endpoint
โ upload-media.php
โ Database connection
โ Controllers/db_connect.php
โ Helper functions
โ Controllers/helpers.php
โ Google Drive upload functions
โ Controllers/drive_upload.php
โ Apache configuration
โ .htaccess
โ Logs directory
โ logs/
โ PHP Version
PHP 7.4.33
โ PHP Extension: mysqli
Loaded
โ PHP Extension: json
Loaded
โ PHP Extension: fileinfo
Loaded
โ Upload Configuration
upload_max_filesize: 128M, post_max_size: 128M
โ Composer Dependencies
Run: composer require google/apiclient
โ Google Service Account
Not configured (needed for Drive uploads)