Kirjautumistunnuksen saatavuustarkistus
Nyt rekisteröinnissämme on yksi ongelma - sivustomme uusi käyttäjä voi rekisteröityä jo olemassa olevalla kirjautumistunnuksella, mikä ei tietenkään ole hyväksyttävää.
Ongelman ratkaisemiseksi on ennen uuden käyttäjän lisäämistä tietokantaan tehtävä SELECT -kysely, joka tarkistaa onko haluttu kirjautumistunnus varattu vai ei. Jos ei ole varattu - rekisteröimme, jos on varattu - emme rekisteröi, vaan näytämme siitä ilmoituksen.
Kirjoitetaan tämä koodi:
<?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 {
// kirjautumistunnus on varattu, näytetään siitä ilmoitus
}
}
?>
Muokkaa koodiasi siten, että rekisteröintiyrityksen yhteydessä suoritetaan kirjautumistunnuksen saatavuustarkistus ja, jos se on varattu, - näytä siitä ilmoitus ja pyydä käyttäjää syöttämään toinen kirjautumistunnus.