iEduPortal Stage 6 Authentication Fix

This is a corrective Stage 6 package for the pupil sign-in problem.

IMPORTANT:
1. Back up the currently working site before uploading.
2. Extract/upload these files into school-management-system/public/ and overwrite matching files.
3. Do NOT import any SQL.
4. This package keeps the normal login pages and fixes the authentication result handling so it does not depend on mysqli mysqlnd/get_result().

Test in this order:
A. https://YOUR-DOMAIN/school-management-system/public/upgrade/stage6/
B. Open the normal pupil login page: /school-management-system/public/pupil.php
C. Test a known pupil account.

Demo SQL accounts include:
Pupil1 / Pupil1
Pupil2 / Pupil2
Pupil3 / Pupil3

On the first successful legacy-password login, the plaintext password is upgraded to a secure password hash.

If pupil login still fails, stop and report exactly what appears on the page. Do not proceed to the next stage.


Stage 6 pupil-login correction:
- The pupil parent-status lookup no longer uses mysqli_stmt::get_result().
- This keeps the login compatible with hosts without mysqlnd and prevents a valid pupil login from being converted into the generic invalid-details message.


Stage 6 auth compatibility correction:
- Fixed mysqli bind_result() argument construction in upgrade/core/auth.php.
- The previous helper accidentally passed the mysqli statement object as an extra bind_result argument, causing: Number of bind variables doesn't match number of fields in prepared statement.
- No SQL import is required.
