Απόκρυψη κωδικού πρόσβασης κατά την εγγραφή σε PHP
Το πεδίο εισαγωγής κωδικού πρόσβασης συνήθως είναι
ένα input με τύπο password, στο οποίο
οι χαρακτήρες που εισάγονται κρύβονται κάτω από αστερίσκους.
Αυτό γίνεται για να μην μπορεί ένας κακόβουλος
να κρυφοκοιτάξει τον κωδικό πρόσβασης του χρήστη από
πάνω από τον ώμο του τη στιγμή της εγγραφής.
Η απόκρυψη του κωδικού πρόσβασης με αυτόν τον τρόπο είναι φυσικά καλή, αλλά υπάρχει, ωστόσο, ένα πρόβλημα - ο χρήστης δεν βλέπει τι πληκτρολογεί. Μπορεί να κάνει λάθος κατά την πληκτρολόγηση ενός συγκεκριμένου χαρακτήρα και να εγγραφεί με διαφορετικό κωδικό πρόσβασης από αυτόν που ήθελε. Αυτό θα είναι λυπηρό:(, καθώς στη συνέχεια δεν θα μπορεί να συνδεθεί στον ιστότοπο.
Υπάρχει μια τυπική λύση σε αυτό το πρόβλημα: στον χρήστη εμφανίζονται δύο πεδία input για την εισαγωγή κωδικού πρόσβασης - στο πρώτο πεδίο εισάγει τον κωδικό πρόσβασης, και στο δεύτερο πεδίο - την επιβεβαίωσή του, δηλαδή τον ίδιο κωδικό πρόσβασης για δεύτερη φορά:
<form action="" method="POST">
<input name="login">
<input type="password" name="password">
<input type="password" name="confirm">
<input type="submit">
</form>
Ο στόχος του ιστότοπού μας είναι να ελέγξει ότι ο κωδικός πρόσβασης και η επιβεβαίωσή του ταιριάζουν, καθώς είναι λογικό ότι σε αυτήν την περίπτωση ο χρήστης εισήγαγε ακριβώς αυτό που ήθελε να εισάγει:
<?php
if (!empty($_POST['login']) and !empty($_POST['password']) and !empty($_POST['confirm'])) {
if ($_POST['password'] == $_POST['confirm']) {
// εγγραφή
} else {
// εμφάνιση μηνύματος για ασυμφωνία
}
}
?>
Τροποποιήστε τον κώδικά σας έτσι ώστε κατά την υποβολή της φόρμας ο κωδικός πρόσβασης να συγκρίνεται με την επιβεβαίωσή του. Εάν ταιριάζουν - συνεχίζουμε με την εγγραφή, ενώ εάν δεν ταιριάζουν - εμφανίζουμε ένα μήνυμα για αυτό.