A što bi uopšte za unos komentara nekome tražio šifru? Ok, neću da se mešam u to, ali samo ja mislim da bi pametnije bilo da ako ustanoviš da korisnik ne postoji, onda ne radiš ništa specijalno, puštaš ga da dalje unosi password, tekst komentara, itd., a tek onda tamo na server-side logici, upišeš podatke u bazu...
Mogao bi onda u tom cilju onaj kod od malopre da modifikuješ ovako:
Code:
<p>
Username: <br />
<input type = "text" name = "username" onblur = "provera(this.value);" />
</p>
<p id = "password_box" style = "display: none:">
Password: <br />
<input type = "password" name = "password" id = "password" />
</p>
<input type = "hidden" id = "postojeci" value = "false" />
//ostatak forme
A u JS-u:
Code:
function provera(username) {
$.ajax({
type: 'POST',
url: 'proveri.php',
data: 'username=' + username,
success: function(msg) {
$('#password_box).show();
$('#password).focus();
if (msg == 'true') { //Ako korisnik sa tim username-om vec postoji
$('#postojeci).val('true');
$('#tekst').attr('disabled', 'disabled');
}
}
});
I šta se tu dešava, nakon što korisnik unese username, a ustanovi se da taj username postoji, to skriveno polje će da se podesi na true, kako bi tamo u PHP znao da NE treba da unosiš novog korisnika. Takođe, polje za unos teksta će da se disable-uje, sve dok korisnik ne unese tačan password. To sad isto sam možeš da realizuješ sa nekim AJAX-om. A ako korisnik ne postoji, u svakom slučaju će se prikazati i polje za unos password-a, ovo skriveno polje će ostati false, i ti ćeš onda uneti novog korisnika i komentar.
Kao što vidiš, ja sam ti dao primer bez prompt-ova, jer te provere s klijentske strane mogu lako da se zaobiđu. Ovako ćeš u svakom slučaju na server da šalješ i password koji je korisnik uneo, kako bi i tu vršio dodatnu proveru.