Witam. Mam formularz w html (index.php):
<script type="text/javascript" src="js/register_form.js"></script> <form id="registerForm" action="#" method="post"> <input type="hidden" value="includes/fast_register.php" name="send_register_form" id="send_register_form" /> <input name="fast_register_nick" id="register_nick" type="text" class="form-poshytip" title="Wpisz swój nick" /> <input name="fast_register_email" id="register_email" type="text" class="form-poshytip" title="Wpisz swój email" /> <p><input type="button" value="Rejestruj" name="register_submit" id="register_submit" /> <span id="register_error" class="warning">Message
</span></p>
<p id="register_success" class="success">Gratulacje! Zarejestrowałeś się.
</p>
jak widać korzystam tu z javy script w którym jest(register_form.js) który wysyła metodą post dane do fast_register.php:
$(document).ready(function(){
// hide messages
$("#register_error").hide();
$("#register_success").hide();
// on submit...
$("#registerForm #register_submit").click(function() {
$("#register_error").hide();
//required:
//register_name
var name = $("input#register_nick").val();
if(name == ""){
$("#register_error").fadeIn().text("Wpisz swój nick.");
$("input#register_nick").focus();
return false;
}
// register_email
var email = $("input#register_email").val();
if(email == ""){
$("#register_error").fadeIn().text("Wpisz swój email.");
$("input#register_email").focus();
return false;
}
// send mail php
var sendMailUrl = $("#send_register_form").val();
// data string
var dataString = 'fast_register_nick='+ name
+ '&fast_register_email=' + email;
// ajax
$.ajax({
type:"POST",
url: sendMailUrl,
data: dataString,
success: success()
});
});
// on success...
function success(){
$("#register_success").fadeIn();
$("#registerForm").fadeOut();
}
return false;
});
oraz (fast_register.php):
<?php
include('config.php');
include('function.php');
$data = date("Y-m-d H:i"); $nick = protect($_POST['fast_register_nick']);
$email = protect($_POST['fast_register_email']);
$haslo = protect(passwordGenerator(6));
mysql_query("insert into uzytkownik values('','$nick','$haslo','$email','$data','')");
?>
W tym formularzu jeżeli ktoś nie wpiszę nicku i emaila to wyskakuje w miejscu "register_error" odpowiednia wiadomość która jest zapisana w pliku js.
Jednak ja chciałbym sprawdzić czy w bazie danych np nie istnieje już użytkownik o podanym nicku w $_POST['fast_register_nick'];
i wypisanie błędu w miejscu "register_error". Nie mam pojęcia jak to zrobić. pomógłby ktoś?
Jeśli ktoś chce zobaczyć jak to wygląda to mogę podać linka do dema.
I mam jeszcze jeden problem z tym. Ta szybka rejestracja ogólnie działa, ale dodaje mi 2 wpisy do bazy danych z rejestracją uzytkownika;/
Ten post edytował goukan 3.12.2013, 13:40:51