Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][SQL][PHP]logowanie php sql jquery
arogant
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 16.08.2012
Skąd: Rybnik Śląsk

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


Witam. Połączyłem 2 skrypty aby otrzymać logowanie bez przeładowania i z komunikatami o błędzie, ale nie działa... Jakby ktoś mógłby mi pomóc to byłbym bardzo wdzięczny...

logowanie.php
  1. <div class="container"><center>
  2. <div id="result"></div>
  3. <table id="logowanie" cellpadding="0" cellspacing="0" width="180">
  4.  
  5. <tr><td><br></td></tr>
  6. <tr><td width="50">Login:</td><td><input type="text" name="login" maxlength="32"></td></tr>
  7. <tr><td width="50">Hasło:</td><td><input type="password" name="haslo" maxlength="32"></td></tr>
  8. <tr><td align="center" colspan="2"><button class="submit_btn" id="submit_btn">Zaloguj</button><br></td></tr>
  9.  
  10. </table>
  11. </form></center>
  12.  
  13. </div>
  14.  
  15. </div>
  16. <div class="cisti"></div>
  17.  
  18. <div id="omot_deo3">
  19.  
  20. </div>
  21.  
  22.  
  23. </div>
  24. <div id="footer" class="opacity">
  25. <?php include("stopka.php"); ?>
  26. </div>
  27. <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
  28. <script type="text/javascript">
  29. $(document).ready(function() {
  30. $("#submit_btn").click(function() {
  31. //Pobieramy dane
  32. var login = $('input[name=login]').val();
  33. var haslo = $('input[name=haslo]').val();
  34.  
  35. //Prosta walidacja (kolorujemy na czerwono pole jeśli jest puste
  36. var proceed = true;
  37. if(login==""){
  38. $('input[name=login]').css('border-color','red');
  39. proceed = false;
  40. }
  41. if(haslo==""){
  42. $('input[name=haslo]').css('border-color','red');
  43. proceed = false;
  44. }
  45.  
  46. //wszystko w porządku idziemy dalej
  47. if(proceed)
  48. {
  49. //Dane do wysłania
  50. post_data = {'login':login, 'haslo':haslo};
  51.  
  52. //Przesłanie danych poprzez AJAX
  53. $.post('login.php', post_data, function(response){
  54.  
  55. //wczytanie danych zwrotnych JSON
  56. if(response.type == 'error')
  57. {
  58. output = '<div class="error">'+response.text+'</div>';
  59. }else{
  60. output = '<div class="success">'+response.text+'</div>';
  61.  
  62. //resetujemy wszystkie wartości
  63. $('#logowanie input').val('');
  64. }
  65.  
  66. $("#result").hide().html(output).slideDown();
  67. }, 'json');
  68.  
  69. }
  70. });
  71.  
  72. //resetujemy kolorowanie po zaczęciu pisania
  73. $("#logowanie input").keyup(function() {
  74. $("#logowanie input").css('border-color','');
  75. $("#result").slideUp();
  76. });
  77.  
  78. });
  79. </script>


a tutaj plik login.php
  1. <?php
  2. if($_POST)
  3. $login = $_POST['login'];
  4. $haslo = $_POST['haslo'];
  5. $haslo = addslashes($haslo);
  6. $login = addslashes($login);
  7. $login = htmlspecialchars($login);
  8. {
  9.  
  10. //Sprawdzamy czy jest to rządanie Ajax, jeśli nie..
  11. if(!isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest') {
  12.  
  13. //Kończymy skrypt wysyłając dane JSON
  14. $output = json_encode(
  15. 'type'=>'error',
  16. 'text' => 'Rządanie musi przejść przez AJAX'
  17. ));
  18.  
  19. die($output);
  20. }
  21.  
  22. //Sprawdzamy czy wszystkie pola zostały wysłane. kończymy skrypt jeśli nie (tutaj dodawaj więcej pól, które są wymagane)
  23. if(!isset($login) || !isset($haslo))
  24. {
  25. $output = json_encode(array('type'=>'error', 'text' => 'POLA SĄ PUSTE!'));
  26. die($output);
  27. }
  28.  
  29. //Pobieramy dane z formularza
  30. //$login = filter_var($login, FILTER_SANITIZE_STRING);
  31. //$haslo = filter_var($haslo, FILTER_SANITIZE_EMAIL);
  32.  
  33. //Dodatkowa validacja PHP (tylko dla pól wymaganych)
  34. if(strlen($login)<6) // Wywala błąd jeśli imię ma mniej niż 4 znaki
  35. {
  36. $output = json_encode(array('type'=>'error', 'text' => 'Login jest za krótki!'));
  37. die($output);
  38. }
  39. if(strlen($haslo)<6) // Wywala błąd jeśli imię ma mniej niż 4 znaki
  40. {
  41. $output = json_encode(array('type'=>'error', 'text' => 'Haslo jest za krótkie!'));
  42. die($output);
  43. }
  44.  
  45. $istnick = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM `uzytkownicy` WHERE `nick` = '$login' AND `haslo` = '$haslo'")); // sprawdzenie czy istnieje uzytkownik o takim nicku i hasle
  46. if ($istnick[0] == 0) {
  47. echo 'Logowanie nieudane. Sprawdź pisownię nicku oraz hasła.';
  48. } else {
  49.  
  50. $_SESSION['nick'] = $login;
  51. $_SESSION['haslo'] = $haslo;
  52.  
  53. header("Location: indeks.php");
  54. }
  55. ?>


Ktoś może powiedzieć mi co tutaj jest źle albo poprawić ten kod i powiedzieć co było źle?

Z góry dziękuje pozdrawiam (IMG:style_emoticons/default/smile.gif)

P.S. Tutaj nic nie działa... ani nie koloruje pól ani nie daje błędów...
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 23:14