Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Logowanie bez przeładowywania strony
grzesi00
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 20.04.2007

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


Witam,

jestem świeżak, od razu ostrzegam (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)

Chciałbym stworzyć logowanie z wykorzystaniem advAJAX, które nie przeładowywało by strony.

Mój plik HTML:
  1. <page contentType="text/html" page pageEncoding="UTF-8">
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5.  
  6. <title>Strona Główna</title>
  7. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  8. <link rel="stylesheet" href="style.css" type="text/css" />
  9. <script src="./skrypty/advajax.js" type="text/javascript"></script>
  10. <script src="./skrypty/logowanie.js" type="text/javascript"></script>
  11. </head>
  12.  
  13. <body onLoad="zaloguj">
  14. <div id="ramka">
  15. ...
  16.  
  17. <h3 class="loginForm">Panel Logowania:</h3>
  18.  
  19. <br />
  20.  
  21. <form id="loginForm" method="post" action="login.php">
  22.  
  23. <div class="loginForm" id="inputLogin">
  24. <label for="username">Login: </label>
  25. <input id="username" type="text" size="10" />
  26. </div>
  27.  
  28. <div class="loginForm" id="inputHaslo">
  29. <label for="password">Hasło: </label>
  30. <input id="password" type="password" size="10" />
  31. <img src="./grafika/help.ico" onMouseOver="document.getElementById('password').type='text'" onMouseOut="document.getElementById('password').type='password'">
  32. </div><!--inputHaslo-->
  33.  
  34. <div id="buttonZaloguj" align="right">
  35. <input id="eee" type="submit" value="Zaloguj" class="przyciski"/>
  36. </div><!--buttonZaloguj-->
  37. </form>
  38.  
  39. ...
  40. </div><!--ramka-->
  41. </body>
  42. </html>


logowanie.js :
Kod
    function zaloguj(){

        advAJAX.assign(document.getElementById("loginForm"), {
            onInitialization : function(obj) {
            
                obj.parameters["password"] = (obj.parameters["password"]);
                document.getElementById("eee").value = "Prosze czekac...";
                document.getElementById("log").innerHTML = "username: " + obj.parameters["username"] +
                  "<br />password: " + obj.parameters["password"];
            },
            onComplete : function() {
            
                document.getElementById("eee").value = "OK";
            },
            onSuccess : function(obj) {
        alert(obj.responseText);
            
                if (obj.responseText == "1")
                  document.getElementById("log").innerHTML = "ZALOGOWANY";
                else {
                      alert("Nieprawidlowa nazwa uzytkownika lub haslo.");
                      document.getElementById("password").value = "";
                      window.setTimeout("document.getElementById('password').focus();", 100);
                }
            },
            onError : function(obj) {
            
                alert("Nie mozna nawiazac polaczenia z serwerem, spróbuj pózniej.");
            }
        });
    }


  1. <?php
  2. $login = $_POST['username'];
  3. $haslo = $_POST['password'];
  4. if(($login == "poprawny")){ 
  5. echo '1';
  6. }
  7. else{ 
  8. echo '0';
  9. } 
  10. ?>

Na razie chciałem sprawdzać chociaż login czy wpisano: poprawny
Za każdą krytykę na temat jestem oczywiście otwarty (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

/btw podziękowania do kossy za już naniesione poprawki (IMG:http://forum.php.pl/style_emoticons/default/Rkingsmiley.png)

Ten post edytował grzesi00 22.04.2007, 09:42:48
Go to the top of the page
+Quote Post
slammer
post
Post #2





Grupa: Zarejestrowani
Postów: 187
Pomógł: 6
Dołączył: 31.08.2005
Skąd: Bielsko-Biała

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


ja zrobiłęm to w taki sposób, że podaję login i haslo któe wysyłąm zapytaniem do bazy danych. Hasło przy wysyłąniu jest od razu hashowane przez JS. Odpowiedź z serwera jest ciągiem w postaci hasła i loginu, które po odebraniu są porónywane z wcześniej wysłanym zapytaniem do serwera (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) jeśli są identyczne to uzytkownik jest logowany (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

http://slammer.yum.pl/nudy/

login: demo
hasło: demo

btw. nie podpowiem Ci co do kodu, gdyz nie znam sie na AdvAjax tylko "czystym" ajax (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) \

Ten post edytował slammer 26.04.2007, 19:44:29
Go to the top of the page
+Quote Post
macza
post
Post #3





Grupa: Zarejestrowani
Postów: 236
Pomógł: 4
Dołączył: 1.05.2006
Skąd: Lublin

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


napisz jak zrobiles to w czystym ajaxiue
Go to the top of the page
+Quote Post
revyag
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

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


macza, to se podejrzyj źródło js i zobacz.
Go to the top of the page
+Quote Post
k0b3
post
Post #5





Grupa: Zarejestrowani
Postów: 138
Pomógł: 0
Dołączył: 1.08.2006
Skąd: Kielce

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


  1. function sojusz() {
  2.      header_img('sojusz');
  3.      doAjax('tresc.php', 'm=sojusz', 'pokaz_tresc', 'get', '0');
  4. }
  5. function news() {
  6.      header_img('news');
  7.      doAjax('tresc.php', 'm=news', 'pokaz_tresc', 'get', '0');
  8. }



Możesz udostępnić kod źródłowy pliku tresc.php (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

co się w nim znajduje. Zrzuciełem sobie do siebie ten skrypt i w ogole nie rusza.
  1. function doAjax(url, query, callback, reqtype, getxml) {
  2. ...


wg tej funkcji można obojętnie jaki url zastosować, a jednak jakaś instukcja musi być spełniona w wspomnianym tresc.php (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Prosze o pomoc...
Pozdrawiam
Go to the top of the page
+Quote Post
slammer
post
Post #6





Grupa: Zarejestrowani
Postów: 187
Pomógł: 6
Dołączył: 31.08.2005
Skąd: Bielsko-Biała

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


tresc.php
  1. <? 
  2. include('cookie.php');
  3. switch ($_GET['m']){
  4. case konto:
  5. include('konto.php');
  6. break;
  7. case db:
  8. include('db.php');
  9. break;
  10. case news:
  11. include('news.php');
  12. break;
  13. case sojusz:
  14. include('sojusz.php');
  15. break;
  16. default:
  17. include('news.php');
  18. break;
  19. }
  20.  
  21. ?>


sojusz.php
  1. <?
  2. print 'sojusz';
  3. ?>


tu nie ma nic skomplikowanego (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
print 'sojusz'; czyli zwraca w responsetext ciąg "sojusz"
Go to the top of the page
+Quote Post
k0b3
post
Post #7





Grupa: Zarejestrowani
Postów: 138
Pomógł: 0
Dołączył: 1.08.2006
Skąd: Kielce

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


No i właśnie brakowało mi tej instrukcji Case! Wielkie dzięki!
Go to the top of the page
+Quote Post

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: 17.09.2025 - 11:23