Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]Bootstrap a sprawdzanie istnienia usera w bazie MySQL
krzesik
post
Post #1





Grupa: Zarejestrowani
Postów: 516
Pomógł: 1
Dołączył: 25.08.2012

Ostrzeżenie: (0%)
-----


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.  


Ten post edytował krzesik 3.08.2019, 11:09:51
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Tomplus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

Ostrzeżenie: (0%)
-----


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 });
Go to the top of the page
+Quote Post
krzesik
post
Post #3





Grupa: Zarejestrowani
Postów: 516
Pomógł: 1
Dołączył: 25.08.2012

Ostrzeżenie: (0%)
-----


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ć
Go to the top of the page
+Quote Post
Tomplus
post
Post #4





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 06:00