<?php include 'header.php'; include 'config.php'; db_connect(); // sprawdzamy czy user nie jest przypadkiem zalogowany if(!$_SESSION['logged']) { if($_POST['wyslane'] == 'true') { // jeśli zostanie naciśnięty przycisk "Zarejestruj" // filtrujemy dane... $nick = clear($_POST['nick']); $haslo = clear($_POST['haslo']); $haslo2 = clear($_POST['haslo2']); $email = clear($_POST['email']); $kraj = clear($_POST['kraj']); $blad = 0; if (strlen($nick) < 3 or strlen($nick) > 40 or !preg_match("/^[a-zA-Z0-9]+$/", $nick)) { //sprawdzenie poprawnosci wpisania nicku $blad++; } $blad++; } if($haslo != $haslo2) { $blad++; } if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $blad++; } if ($kraj == 'none') { $blad++; } if ($blad == 0) { // sprawdzamy czy są jacyś uzytkownicy z takim loginem lub adresem email $result = mysql_query("SELECT Count(id) FROM `users` WHERE `nick` = '$nick' OR `email` = '$email'"); if($row[0] > 0) { } else { // jeśli nie istnieje to kodujemy haslo... // i wykonujemy zapytanie na dodanie usera mysql_query("INSERT INTO `users` (`nick`, `haslo`, `email`, `kraj`) VALUES ('$nick', '$haslo', '$email', '$kraj')"); echo '<p>Zostałeś poprawnie zarejestrowany! Możesz się teraz <a href="login.php">zalogować</a>.</p>'; } } } echo '<form method="post" action="register.php"> <p> Login:<br/> <input type="text" value="'.$nick.'" name="nick"> <label id="nick"></label> </p> <p> Hasło:<br/> <input type="password" name="haslo"> <label class="haslo"></label> </p> <p> Powtórz hasło:<br/> <input type="password" name="haslo2"> <label class="haslo2"></label> </p> <p> E-mail:<br/> <input type="text" value="'.$email.'" name="email"> <label class="email"></label> </p> <p> Kraj:<br/> <select name="kraj" class="kraj"> <option value="none" selected="selected">'.$kraj.'</option> <option value="Afghanistan">Afghanistan</option> <option value="Albania">Albania</option> <option value="Algeria">Algeria</option> /itd.../ </select> <label class="kraj"></label> </p> <p> <input type="hidden" value="true" name="wyslane"> <input type="submit" value="Rejestracja" /> </p> </form>'; } else { echo '<p class="error">Jesteś już zalogowany, więc nie możesz stworzyć nowego konta.</p> <p>[<a href="index.php">Powrót</a>]</p>'; } db_close(); include 'footer.php'; ?>
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:
<script type="text/javascript"> jQuery(document).ready(function() { $("#guzik").click(function() { var tekst = $('input[name=tekst]').val(); $.ajax({ url: "php1.php", type: "POST", data: "indeks="+tekst, success: function(msg) { $("#kontener").text(msg); } }); }); }); </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.