Έλεγχος διαθεσιμότητας ονόματος χρήστη
Αυτή τη στιγμή η εγγραφή μας έχει ένα πρόβλημα - ένας νέος χρήστης της ιστοσελίδας μας μπορεί να εγγραφεί με ένα ήδη υπάρχον όνομα χρήστη, κάτι που, φυσικά , είναι απαράδεκτο.
Για την επίλυση του προβλήματος, είναι απαραίτητο πριν από το αίτημα
προσθήκης νέου χρήστη στη βάση
δεδομένων, να εκτελέσετε ένα SELECT ερώτημα, που
θα ελέγξει εάν το επιθυμητό όνομα χρήστη είναι κατειλημμένο ή όχι. Εάν
δεν είναι κατειλημμένο - εγγράφουμε, εάν είναι κατειλημμένο - δεν
εγγράφουμε, αλλά εμφανίζουμε ένα μήνυμα σχετικά.
Ας γράψουμε αυτόν τον κώδικα:
<?php
if (!empty($_POST['login']) and !empty($_POST['password'])) {
$login = $_POST['login'];
$password = $_POST['password'];
$query = "SELECT * FROM users WHERE login='$login'";
$user = mysqli_fetch_assoc(mysqli_query($link, $query));
if (empty($user)) {
$query = "INSERT INTO users SET login='$login', password='$password'";
mysqli_query($link, $query);
$_SESSION['auth'] = true;
} else {
// το όνομα χρήστη είναι κατειλημμένο, εμφανίστε μήνυμα σχετικά
}
}
?>
Τροποποιήστε τον κώδικά σας έτσι ώστε κατά την προσπάθεια εγγραφής να εκτελείται έλεγχος για κατειλημμένο όνομα χρήστη και, εάν είναι κατειλημμένο, - να εμφανίζετε μήνυμα σχετικά και να ζητάτε από τον χρήστη να εισάγει άλλο όνομα χρήστη.