Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Ostrzeżenia nad inputami
Forum PHP.pl > Forum > Przedszkole
kryko
Pytanie pewnie bardzo glupie, ale nie potrafie sobie poradzić. Siedze nad tym, kombinuje i zero efektu.

A wiec mam okienko logowania, ze sprawdzaniem czy wszystko uzupełnione itd. Zależy mi aby te komunikaty, że coś jest puste wyświetlało się nad okienkiem do logowania. W tej chwili po naciśnięciu Senda znika formatka logowania i pojawia się sam komunikat. Proszę o pomoc w tym pewnie prostym problemie.

  1. <?php
  2. require 'header.php';
  3. require 'config.php';
  4. require_once 'user.class.php';
  5. $Email = htmlspecialchars(mysql_real_escape_string($_POST['Email']));
  6. $Haslo = mysql_real_escape_string($_POST['Haslo']);
  7.  
  8. if ($_POST['send'] == 1) {
  9. // Sprawdź, czy wszystkie pola zostały uzupełnione
  10. if (!$Email or empty($Email)) {
  11. die ('
  12. <div class="alert alert-block">
  13. <button type="button" class="close" data-dismiss="alert">×</button>
  14. <h4>Ostrzeżenie!</h4>
  15. Nie uzupełniłeś E-maila</div>');
  16. }
  17.  
  18. if (!$Haslo or empty($Haslo)) {
  19. die ('<p class="alert alert-error">Wypełnij pole z hasłem!</p>');
  20. }
  21.  
  22. $Haslo = user::passSalter($Haslo);
  23.  
  24. // Sprawdź, czy użytkownik o podanym loginie i haśle isnieje w bazie danych
  25. $userExists = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM klient WHERE Email = '$Email' AND Haslo = '$Haslo'"));
  26.  
  27. if ($userExists[0] == 0) {
  28. // Użytkownik nie istnieje w bazie
  29. echo '<p class="alert alert-error">Użytkownik o podanym loginie i haśle nie istnieje.</p>';
  30. }
  31.  
  32. else {
  33. // Użytkownik istnieje
  34. $user = user::getData($Email, $Haslo); // Pobierz dane użytknika do tablicy i zapisz ją do zmiennej $user
  35.  
  36. // Przypisz pobrane dane do sesji
  37. $_SESSION['Email'] = $Email;
  38. $_SESSION['Haslo'] = $Haslo;
  39.  
  40. echo '<p class="lert alert-success">Zostałeś zalogowany. Możesz przejść na <a href="index.php">stronę główną</a></p>';
  41. }
  42. }
  43.  
  44. else {
  45. ?>
  46.  
  47. <style type="text/css">
  48. body {
  49. padding-top: 40px;
  50. }
  51. .container {
  52. width: 300px;
  53. }
  54. .container > .content {
  55. background-color: #fff;
  56. padding: 20px;
  57. margin: 0 -20px;
  58. -webkit-border-radius: 10px 10px 10px 10px;
  59. -moz-border-radius: 10px 10px 10px 10px;
  60. border-radius: 10px 10px 10px 10px;
  61. -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.15);
  62. -moz-box-shadow: 0 1px 2px rgba(0,0,0,.15);
  63. box-shadow: 0 1px 2px rgba(0,0,0,.15);
  64. }
  65.  
  66. .login-form {
  67. margin-left: 65px;
  68. }
  69.  
  70. legend {
  71. margin-right: -50px;
  72. font-weight: bold;
  73. color: #404040;
  74. }
  75. </style>
  76. <div class="container">
  77. <div class="content">
  78. <div class="row">
  79. <div class="login-form">
  80. <h2>Zaloguj się</h2>
  81. <form method="post" action="">
  82. <fieldset>
  83. <div class="clearfix">
  84. <input type="text" name="Email" maxlength="32" id="Email" placeholder="Email">
  85. </div>
  86. <div class="clearfix">
  87. <input type="password" name="Haslo" maxlength="32" id="Haslo" placeholder="Password">
  88. </div>
  89. <input type="hidden" name="send" value="1" />
  90. <button class="btn btn-primary" type="submit" value="Zaloguj">Sign in</button>
  91. </fieldset>
  92. </form>
  93. </div>
  94. </div>
  95. </div>
  96. </div>
  97. <?php
  98. }
  99. ?>
  100.  
vifus
  1. <?php
  2. require 'header.php';
  3. require 'config.php';
  4. require_once 'user.class.php';
  5. $Email = htmlspecialchars(mysql_real_escape_string($_POST['Email']));
  6. $Haslo = mysql_real_escape_string($_POST['Haslo']);
  7.  
  8. if ($_POST['send'] == 1) {
  9. // Sprawdź, czy wszystkie pola zostały uzupełnione
  10. if (!$Email or empty($Email)) {
  11. die ('
  12. <div class="alert alert-block">
  13. <button type="button" class="close" data-dismiss="alert">×</button>
  14. <h4>Ostrzeżenie!</h4>
  15. Nie uzupełniłeś E-maila</div>');
  16. }
  17.  
  18. if (!$Haslo or empty($Haslo)) {
  19. die ('<p class="alert alert-error">Wypełnij pole z hasłem!</p>');
  20. }
  21.  
  22. $Haslo = user::passSalter($Haslo);
  23.  
  24. // Sprawdź, czy użytkownik o podanym loginie i haśle isnieje w bazie danych
  25. $userExists = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM klient WHERE Email = '$Email' AND Haslo = '$Haslo'"));
  26.  
  27. if ($userExists[0] == 0) {
  28. // Użytkownik nie istnieje w bazie
  29. echo '<p class="alert alert-error">Użytkownik o podanym loginie i haśle nie istnieje.</p>';
  30. }
  31.  
  32. else {
  33. // Użytkownik istnieje
  34. $user = user::getData($Email, $Haslo); // Pobierz dane użytknika do tablicy i zapisz ją do zmiennej $user
  35.  
  36. // Przypisz pobrane dane do sesji
  37. $_SESSION['Email'] = $Email;
  38. $_SESSION['Haslo'] = $Haslo;
  39.  
  40. echo '<p class="lert alert-success">Zostałeś zalogowany. Możesz przejść na <a href="index.php">stronę główną</a></p>';
  41. }
  42. }
  43.  
  44.  
  45. ?>
  46.  
  47. <style type="text/css">
  48. body {
  49. padding-top: 40px;
  50. }
  51. .container {
  52. width: 300px;
  53. }
  54. .container > .content {
  55. background-color: #fff;
  56. padding: 20px;
  57. margin: 0 -20px;
  58. -webkit-border-radius: 10px 10px 10px 10px;
  59. -moz-border-radius: 10px 10px 10px 10px;
  60. border-radius: 10px 10px 10px 10px;
  61. -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.15);
  62. -moz-box-shadow: 0 1px 2px rgba(0,0,0,.15);
  63. box-shadow: 0 1px 2px rgba(0,0,0,.15);
  64. }
  65.  
  66. .login-form {
  67. margin-left: 65px;
  68. }
  69.  
  70. legend {
  71. margin-right: -50px;
  72. font-weight: bold;
  73. color: #404040;
  74. }
  75. </style>
  76. <div class="container">
  77. <div class="content">
  78. <div class="row">
  79. <div class="login-form">
  80. <h2>Zaloguj się</h2>
  81. <form method="post" action="">
  82. <fieldset>
  83. <div class="clearfix">
  84. <input type="text" name="Email" maxlength="32" id="Email" placeholder="Email">
  85. </div>
  86. <div class="clearfix">
  87. <input type="password" name="Haslo" maxlength="32" id="Haslo" placeholder="Password">
  88. </div>
  89. <input type="hidden" name="send" value="1" />
  90. <button class="btn btn-primary" type="submit" value="Zaloguj">Sign in</button>
  91. </fieldset>
  92. </form>
  93. </div>
  94. </div>
  95. </div>
  96. </div>
kryko
Niestety nie działa. Już sam próbowałem w ten sposób i dlatego postanowiłem już napisać na forum aby ktoś inny coś podpowiedział.
tab
Daj kod html przed skryptem php. Jak w php dajesz die to zatrzymujesz skrypt przez co tresc html sie dalej nie wyswietla
b4rt3kk
Oddziel sprawdzanie błędów od HTML. Tj.

  1. function sprawdz_bledy() {
  2.  
  3. if (empty($email)) $error[0] = true;
  4. if ($user_nie_istnieje) $error[1] = true;
  5.  
  6. // i tak dalej, to oczywiście tylko schemat działania
  7.  
  8. return $error;
  9.  
  10. }


Całą funkcję wywołujesz po przesłaniu formularza.

  1. if ($_SERVER['REQUEST_METHOD'] == 'POST') $error = sprawdz_bledy();


Teraz zajmij się wizualizacją.

  1. function okienko_bledow($error) {
  2.  
  3. echo '<div class="errors">';
  4.  
  5. if (isset($error[0])) echo 'Błąd - uzupełnij pole mail.<br/>';
  6. if (isset($error[1])) echo 'Błąd - niepoprawny użytkownik.<br/>';
  7.  
  8. // i tak dalej
  9.  
  10. echo '</div>';
  11.  
  12. }


Funkcję powyższą wywołujesz w dowolnym miejscu strony przekazując jako parametr tablicę z funkcji sprawdzającej błędy.
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.