<?php tbl($_POST); } else { } } else { ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="en"> <head> <script type="text/javascript" src="/js/jquery.min.js"></script> <script type="text/javascript" src="/js/jquery.ui.js"></script> <script type="text/javascript" src="/js/base64.js"></script> <script type="text/javascript"> function make_basic_auth( user, password ) { var tok = user + ':' + password; var hash = Base64.encode(tok); return hash; } function login() { var url = '/?m=test&q=1'; var user = $('#username').val(); var pass = $('#password').val(); var auth = make_basic_auth(user, pass); $.ajax({ url: url, type: "POST", data: ({ login : user, password : pass } ), username: user, password: pass, beforeSend: function(req) { req.setRequestHeader('Authorization', 'Basic ' + auth ); }, success: function(data) { alert( data ); } }); return false; } </script> </head> <body> <form action="/?m=test&q=1" method="post" onsubmit="return login()"> <label>Username: <input type="text" name="username" id="username" /></label> <label>Password: <input type="password" name="password" id="password" /></label> <input type="submit" value="Log in" /> </form> </body> </html> <?php } ?>
A teraz o co kaman. Gdy wpiszę login: user i hasło: pass, to pojawi się w alert że jestem zalogowany itd..
Ale gdy przejde do samej podstrony oznaczonej: /?m=test&q=1 wtedy okazuje się że jednak nie jestem poprawnie zalogowany...
i jest mały problem...
Ale jeśli usunę część kodu:
beforeSend: function(req) {
req.setRequestHeader('Authorization', 'Basic ' + auth );
},
to się zaloguje, ale za to jeśli źle wpiszę login i hasło wyskoczy okienko podobne do tego:

A tego okienka chcę uniknąć.
Czy ktoś wie jak to zrobić?
Ok juz znalazłem rozwiązanie...
<?php } else { } // header('WWW-Authenticate: Basic realm="Secret page"'); // header('HTTP/1.0 401 Unauthorized'); return false; } if ( ) { return false; } } else { } } else { ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="en"> <head> <script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript" src="js/jquery.ui.js"></script> <script type="text/javascript" src="js/base64.js"></script> <script type="text/javascript"> function make_basic_auth( user, password ) { var tok = user + ':' + password; var hash = Base64.encode(tok); return hash; } function login( frm ) { var user = $('#username').val(); var pass = $('#password').val(); $.ajax({ url: frm.action, type: "POST", data: ({ 'login' : user, 'password' : pass } ), username: user, password: pass, success: function(data) { alert( data ); } }); return false; } </script> </head> <body> <form action="?q=1" method="post" onsubmit="return login(this)"> <label>Username: <input type="text" name="username" id="username" /></label> <label>Password: <input type="password" name="password" id="password" /></label> <input type="submit" value="Log in" /> </form> </body> </html> <?php } ?>