Witam, mam oto taki skrypt rejestracji php:

  1. <?php
  2. include 'header.php';
  3. include 'config.php';
  4. db_connect();
  5.  
  6. // sprawdzamy czy user nie jest przypadkiem zalogowany
  7. if(!$_SESSION['logged']) {
  8. if($_POST['wyslane'] == 'true') {
  9. // jeśli zostanie naciśnięty przycisk "Zarejestruj"
  10. // filtrujemy dane...
  11. $nick = clear($_POST['nick']);
  12. $haslo = clear($_POST['haslo']);
  13. $haslo2 = clear($_POST['haslo2']);
  14. $email = clear($_POST['email']);
  15. $kraj = clear($_POST['kraj']);
  16. $blad = 0;
  17.  
  18. if (strlen($nick) < 3 or strlen($nick) > 40 or !preg_match("/^[a-zA-Z0-9]+$/", $nick)) { //sprawdzenie poprawnosci wpisania nicku
  19. echo '<p class="error">Proszę wprowadzić poprawny nick (od 3 do 40 znaków)</p>';
  20. $blad++;
  21. }
  22. if(strlen($haslo) < 4) {
  23. echo '<p class="error">Proszę podać hasło minimum 4 znakowe.</p>';
  24. $blad++;
  25. }
  26. if($haslo != $haslo2) {
  27. echo '<p class="error">Proszę podać takie same hasła</p>';
  28. $blad++;
  29. }
  30. if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  31. echo '<p class="error">Proszę podać poprawny email.</p>';
  32. $blad++;
  33. }
  34. if ($kraj == 'none') {
  35. echo '<p class="error">Proszę podać swój kraj.</p>';
  36. $blad++;
  37. }
  38.  
  39. if ($blad == 0) {
  40. // sprawdzamy czy są jacyś uzytkownicy z takim loginem lub adresem email
  41. $result = mysql_query("SELECT Count(id) FROM `users` WHERE `nick` = '$nick' OR `email` = '$email'");
  42. $row = mysql_fetch_row($result);
  43. if($row[0] > 0) {
  44. echo '<p>Już istnieje użytkownik z takim loginem lub adresem e-mail.</p>';
  45. } else {
  46. // jeśli nie istnieje to kodujemy haslo...
  47. $haslo = md5($haslo);
  48. // i wykonujemy zapytanie na dodanie usera
  49. mysql_query("INSERT INTO `users` (`nick`, `haslo`, `email`, `kraj`) VALUES ('$nick', '$haslo', '$email', '$kraj')");
  50. echo '<p>Zostałeś poprawnie zarejestrowany! Możesz się teraz <a href="login.php">zalogować</a>.</p>';
  51. }
  52. }
  53.  
  54. }
  55. echo '<form method="post" action="register.php">
  56. <p>
  57. Login:<br/>
  58. <input type="text" value="'.$nick.'" name="nick">
  59. <label id="nick"></label>
  60. </p>
  61. <p>
  62. Hasło:<br/>
  63. <input type="password" name="haslo">
  64. <label class="haslo"></label>
  65. </p>
  66. <p>
  67. Powtórz hasło:<br/>
  68. <input type="password" name="haslo2">
  69. <label class="haslo2"></label>
  70. </p>
  71. <p>
  72. E-mail:<br/>
  73. <input type="text" value="'.$email.'" name="email">
  74. <label class="email"></label>
  75. </p>
  76. <p>
  77. Kraj:<br/>
  78. <select name="kraj" class="kraj">
  79. <option value="none" selected="selected">'.$kraj.'</option>
  80. <option value="Afghanistan">Afghanistan</option>
  81. <option value="Albania">Albania</option>
  82. <option value="Algeria">Algeria</option>
  83. /itd.../
  84. </select>
  85. <label class="kraj"></label>
  86. </p>
  87. <p>
  88. <input type="hidden" value="true" name="wyslane">
  89. <input type="submit" value="Rejestracja" />
  90. </p>
  91. </form>';
  92. } else {
  93. echo '<p class="error">Jesteś już zalogowany, więc nie możesz stworzyć nowego konta.</p>
  94. <p>[<a href="index.php">Powrót</a>]</p>';
  95. }
  96.  
  97. db_close();
  98. include 'footer.php';
  99. ?>


No i chcę żeby jquery ajax przesyłał dane do php, sprawdzał i wyświetlał błędy zaraz obok inputów w label.
Szukałem i znalazłem takie coś co wygląd dla mnie ciekawie:

  1. <script type="text/javascript">
  2. jQuery(document).ready(function() {
  3. $("#guzik").click(function() {
  4. var tekst = $('input[name=tekst]').val();
  5.  
  6. $.ajax({
  7. url: "php1.php",
  8. type: "POST",
  9. data: "indeks="+tekst,
  10. success: function(msg) {
  11. $("#kontener").text(msg);
  12. }
  13. });
  14. });
  15. });
  16. </script>

Ale jak zmienię tu name input np na nick to obok pola nick wyświetla mi się całe źródło strony.
Docelowo chcę żeby rejestracja była dynamiczna, jeśli ok to zapytanie do bazy i wyświetlenie sukcesu, wszystko bez przeładowania strony a najlepiej gdzieś wsadzić obrazek ajax loader.