Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Bootstrap a sprawdzanie istnienia usera w bazie MySQL
Forum PHP.pl > Forum > Przedszkole
krzesik
Witam,

mam prosty formularz, który działa poprawnie jeśli chodzi o zapisywanie do BD, ale muszę sprawdzić czy nie powtarza się w bazie email, sprawdza mi dobrze tylko zamyka się okno modalne, jak temu zaradzić?:
  1.  
  2. #uruchamianie formularza
  3. <button type="button" <? if($_SESSION['administrator'] == '0' ) {echo 'disabled';} ?> class="btn btn-info btn-md" title="Dodaj użytkownika" data-toggle="modal" data-target="#dodajusera"><span class="glyphicon glyphicon-user"></span>&nbsp; &nbsp; Nowy użytkownik</a></button>
  4.  
  5.  
  6. <div class="modal fade" id="dodajusera" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  7. <div class="modal-dialog" role="document">
  8. <div class="modal-content">
  9. <div class="modal-header">
  10. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  11. <h4 class="modal-title" id="myModalLabel" align="left">Nowy użytkownik</h4>
  12. </div>
  13. <?php if(!empty($info)){ echo $info; }?>
  14. <div class="modal-body">
  15.  
  16. <form name="wyslij_form_dodaj_usera" action="" method="POST" role="form">
  17. <input type="hidden" name="c" value="wyslano_dodaj_usera">
  18.  
  19. <table id="poprawdane" width="100%">
  20. <tr>
  21. <td colspan="2">
  22. <label>Login</label>
  23. </td>
  24. </tr>
  25. <tr>
  26. <td colspan="2"><input type="text" placeholder="Login" class="form-control" name="uzytkownik" value="" autocomplete="off" required /></td>
  27. </tr>
  28. <tr>
  29. <td colspan="1">
  30. <label>Nazwisko</label>
  31. </td>
  32. <td colspan="1">
  33. <label>Imię</label>
  34. </td>
  35. </tr>
  36. <tr>
  37. <td colspan="1"><input type="text" placeholder="Nazwisko" class="form-control" autocomplete="off" name="nazwisko" value="" required /></td>
  38. <td colspan="1"><input type="text" placeholder="Imię" class="form-control" autocomplete="off" name="imie" value="" required /></td>
  39. </tr>
  40. <tr>
  41. <td colspan="1">
  42. <label>Hasło</label>
  43. </td>
  44. <td colspan="1">
  45. <label>Powtórz hasło</label>
  46. </td>
  47. </tr>
  48. <tr>
  49. <td colspan="1"><input type="password" placeholder="Wpisz hasło" class="form-control" name="haslo" value="" required autocomplete="off" /></td>
  50. <td colspan="1"><input type="password" placeholder="Powtórz hasło" class="form-control" name="haslo_dublet" value="" required autocomplete="off" /></td>
  51. </tr>
  52. <div class="modal-footer">
  53. <button type="button" class="btn btn-default" data-dismiss="modal">Anuluj</button>
  54. <button type="submit" class="btn btn-success">Zapisz</button>
  55. </div>
  56. </form>
  57.  
  58.  
  59. .......


kawałek PHP-a

  1.  
  2. <script type="text/javascript">
  3. function do_submit_dodaj_usera() {
  4. document.forms['wyslij_form_dodaj_usera'].submit();
  5. }
  6. </script>
  7. <?
  8. $c = $_POST[c];
  9. $uzytkownik = trim($_POST[uzytkownik]);
  10. $nazwisko = trim($_POST[nazwisko]);
  11. $imie = trim($_POST[imie]);
  12. $haslo = trim(md5($_POST[haslo]));
  13. $haslo_dublet = trim($_POST[haslo_dublet]);
  14. $email = trim($_POST[email]);
  15.  
  16.  
  17.  
  18. if($c == 'wyslano_dodaj_usera')
  19. {
  20.  
  21. $Sprawdz = mysql_query("SELECT email FROM uzytkownik WHERE email = '".$email."'") or die('Queryproblem: ' . mysql_error());
  22.  
  23. if(@mysql_num_rows($Sprawdz) > 0)
  24. {
  25. ?>
  26. <script type="text/javascript">
  27. alert("Ten email już istnieje!");
  28. </script>
  29. <?
  30. }
  31.  
  32. else
  33. {
  34. mysql_query("set names 'utf8'");
  35. $ins10 = mysql_query("INSERT INTO .................................'") or die('Queryproblem: ' . mysql_error());
  36.  
  37. }
  38.  
Tomplus
Za dużo danych.

Aby nie zamykało się okno modal to albo sprawdzasz istnienie wartości asynchronicznie, wysyłając przez JS zapytanie, albo po przeładowaniu dodajesz informację aby modal pojawił się natychmiast.

Kod
$("#dodajusera").modal({ show : true });
krzesik
Może źle się wyraziłem....
modal się zamyka po dodaniudo bazy - OK (tak ma być)
modal się zamyka i pojawia się alert że email jest zarejestrowany - nie powinien się zamknąć, ale alert ma być
Tomplus
Rozumiem.

Nie pozostaje Ci nic innego niż użycie asynchroniczności JS oraz zablokowania możliwości zamykania okna po kliknięciu na SUBMIT.

Pomoc w tym zakresie znajdziesz jak sądzę, tutaj: https://stackoverflow.com/questions/1907323...n-using-onclick
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.