პაროლის დამალვა რეგისტრაციის დროს PHP-ში
პაროლის შეყვანის ველი, როგორც წესი, წარმოადგენს
input ველს password ტიპით, რომელშიც
შეყვანილი სიმბოლოები იმალება ვარსკვლავების ნიშნების ქვეშ.
ეს კეთდება იმ მიზნით, რომ მუქარის წარმომადგენელმა
ვერ შეძლოს მომხმარებლის პაროლის მხრის ზემოდან დანახვა
რეგისტრაციის მომენტში.
პაროლის ამგვარად დამალვა რა თქმა უნდა კარგია, მაგრამ, არსებობს თუმცა პრობლემა - მომხმარებელი არ ხედავს, რას შეიყვანს. მას შეუძლია შეცდომა დაუშვას რაიმე სიმბოლოს შეყვანისას და დარეგისტრირდეს არა იმ პაროლით, რომლითაც სურდა. ეს სამწუხარო იქნება:(, რადგან შემდეგ ვერ შეძლებს საიტზე ავტორიზაციას.
არსებობს ამ პრობლემის სტანდარტული გადაწყვეტა: მომხმარებელს ეჩვენება ორი input ველი პაროლის შესაყვანად - პირველ input-ში ის შეიყვანს პაროლს, ხოლო მეორე 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 {
// გამოვიტანთ შეტყობინებას არაემთხვევაზე
}
}
?>
მოდიფიცირეთ თქვენი კოდი ისე, რომ ფორმის გაგზავნისას პაროლი შედარებული იყოს მის დადასტურებასთან. თუ ისინი ემთხვევა - გავაგრძელოთ რეგისტრაცია, ხოლო თუ არ ემთხვევა - გამოვიტანოთ შეტყობინება ამის შესახებ.