Witam, dopiero zaczynam programowanie ale muszę już wykonać do szkoły logowanie i rejestrację w ajaxie na jquery wraz z bazą danych, nie mam pojęcia o tym czy to trzeba tam używac sesji czy czegoś innego, narazie zrobiłem coś takiego. Ogólny efekt jaki chciałbym uzyskać to że na index.php wysiwtla sie logowanie i rejestracja, jezeli wpiszemy dane i nacisniemy rejestruj to sie wyswietli ze sie zarejestrowalismy i potem jak sie logujemy i zrobimy to poprawnie to dopiero wyswietla sie w index.php panel.php i dopiero w tym panelu ma działać logout.php i jak klikniemy to ma przenosic do index.php ; prosiłbym o przerobienie tego skryptu

index.php
  1. <html>
  2. <head>
  3. <title>
  4. tytuł strony
  5. </title>
  6.  
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  8. <script type="text/javascript" src="jquery.js"></script>
  9. <script type="text/javascript">
  10. $(document).ready(function(){
  11. $('form').submit(function(){
  12. var nick = $('#nick').val();
  13. var pass = $('#pass').val();
  14. $.post("test.php", { 'nick': nick, 'pass': pass }, function(data){
  15.  
  16. if(data.efekt == 1){
  17.  
  18. $('#panel').load('panel.php');
  19.  
  20. }else{
  21.  
  22. $('#panel').text('Podane dane są błędne');
  23.  
  24. }
  25. }, "json");
  26. });
  27. });
  28. </script>
  29. </head>
  30. <body>
  31. <center>
  32. <div id="panel">
  33.  
  34. ** Logowanie **
  35.  
  36.  
  37.  
  38. <?php
  39.  
  40. // po__czenie z mysql
  41. mysql_connect('localhost', 'root', '')
  42. or die('Nieudane polaczenie z baza danych...');
  43.  
  44. // wybór bazy danych
  45. or die('Nie udalo sie wybrac bazy danych...');
  46.  
  47. // nag_ówek
  48. echo '<h2>Logowanie</h2>';
  49.  
  50. // sprawdzamy czy user jest ju_ zalogowany
  51. if($_SESSION['logged']) echo 'Ju_ jestes zalogowany!';
  52. else
  53. {
  54. <form action="test.php" method="post" onsubmit="return false">
  55. Login <input id="nick" name="nick" style="border: 1px solid black"><br />
  56. Hasło <input id="pass" name="pass" style="border: 1px solid black"><br />
  57. <input type="submit" name="ok" value="loguj">
  58. </form> ';
  59.  
  60. // je_li zostanie naci_ni_ty przycisk "Zaloguj"
  61. if(isset($_POST['ok']))
  62. {
  63. $nick = $_POST['nick'];
  64. $pass = $_POST['pass'];
  65.  
  66. // sprawdzamy czy wszystkie dane zosta_y podane
  67. if(empty($nick) || empty($pass)) echo 'Wpisz wszystkie pola!';
  68. // je_li tak...
  69. else
  70. {
  71. // filtrujemy dane
  72.  
  73. // kodujemy has_o
  74. $pass = md5($pass);
  75.  
  76. // sprawdzamy czy istnieje u_ytkownik z takim loginem i has_em
  77. $result = mysql_query("SELECT * FROM users WHERE nick='$nick' AND pass='$pass'");
  78.  
  79. // je_li nie istnieje
  80. if(mysql_num_rows($result)==0) echo 'Niestety poda_es niepoprawne dane!';
  81. // je_li tak...
  82. else
  83. {
  84. // dodajemy wynik zapytania do tablicy
  85. $row = mysql_fetch_array($result);
  86.  
  87. // ustawianie sesji _e u_ytkownik jest zalogowany
  88. $_SESSION['logged'] = true;
  89.  
  90. // dodawanie do sesji id u_ytkownika, login oraz dat_ rejestracji
  91. $_SESSION['id'] = $row['id'];
  92. $_SESSION['nick'] = $row['nick'];
  93. $_SESSION['data_rejestracji'] = $row['data_rejestracji'];
  94.  
  95. // wy_wietlenie komunikatu oznaczaj_cego poprawne logowanie
  96. echo 'Zosta_es poprawnie zalogowany! Mo_esz teraz przejs_ na <a href="index.php">stron_ g_ówna</a>';
  97. }
  98. }
  99. }
  100. }
  101.  
  102. // roz__czenie z baz_ danych
  103.  
  104. // koniec buforowania
  105. ?>
  106.  
  107. </br>
  108.  
  109.  
  110. ** Rejestracja **
  111.  
  112.  
  113. <?php
  114.  
  115.  
  116.  
  117. // po__czenie z mysql
  118. mysql_connect('localhost', 'root', '')
  119. or die('Nieudane polaczenie z baza danych...');
  120.  
  121. // wybór bazy danych
  122. or die('Nie udalo sie wybrac bazy danych...');
  123.  
  124. // nag_ówek
  125. echo '<h2>Rejestracja</h2>';
  126.  
  127. // tworzymy prosty formularz
  128. echo ' <form action="test.php" method="post" onsubmit="return false">
  129. Login <input id="nick" name="nick" style="border: 1px solid black"><br />
  130. Hasło <input id="pass" name="pass" style="border: 1px solid black"><br />
  131. <input type="submit" name="ok" value="Rejestruj">
  132. </form> '
  133.  
  134. ;
  135.  
  136. // je_li zostanie naci_ni_ty przycisk "Rejestruj"
  137. if(isset($_POST['ok']))
  138. {
  139. $nick = $_POST['nick'];
  140. $pass = $_POST['pass'];
  141.  
  142. // sprawdzamy czy wszystkie dane zosta_y podane
  143. if(empty($nick) || empty($pass)) echo 'Wpisz wszystkie pola!';
  144. // je_li tak...
  145. else
  146. {
  147. // filtrujemy dane
  148.  
  149. // sprawdzamy czy jest ju_ u_ytkownik o takim loginie
  150. $result = mysql_query("SELECT * FROM users WHERE nick='$nick'");
  151.  
  152. // je_li ju_ istnieje
  153. if(mysql_num_rows($result)!=0) echo 'Ju_ istnieje konto z takim loginem!';
  154. // je_li nie...
  155. else
  156. {
  157. // pobieramy aktualn_ dat_
  158. $data = time();
  159.  
  160. // kodujemy has_o
  161. $pass = md5($pass);
  162.  
  163. // tworzymy zapytanie
  164. $query = "INSERT INTO `users` (`nick` , `pass`, `data_rejestracji`) VALUES ('$nick', '$pass', '$data')";
  165.  
  166. // je_li zapytanie wykona si_ poprawnie to zostanie wy_wietlony stosowny komunikat
  167. if(mysql_query($query)) echo 'Zosta_es poprawnie zarejestrowany! Mo_esz si_ teraz <a href="login.php">zalogowa_</a>';
  168. }
  169. }
  170. }
  171.  
  172. // roz__czenie z baz_ danych
  173.  
  174. // koniec buforowania
  175. ?>
  176.  
  177.  
  178. </center>
  179. </body>
  180.  
  181. </html>




panel.php
  1. <?php
  2. echo "Tu jest mój panel";
  3. ?>
  4.  
  5. <?php
  6. echo '<a href="logout.php">WYLOGUJ</a>';
  7. ?>



test.php - tu jest coś chyba źle
  1. <?php
  2.  
  3.  
  4. if($_POST['nick'] == $nick && $_POST['pass'] == $pass){
  5.  
  6. $rezultat = 1;
  7.  
  8. }else{
  9.  
  10. $rezultat = 0;
  11.  
  12. }
  13.  
  14. echo json_encode(array('efekt' => $rezultat));
  15. ?>





logout.php

  1. <?php
  2.  
  3. // rozpocz_cie buforowania (jest to potrzebne by nie mie_ b__dów typu headers already sent)
  4.  
  5. // start sesji
  6.  
  7. // nag_ówek
  8. echo '<h2>Wylogowywanie</h2>';
  9.  
  10. // je_li user jest zalogowany
  11. if($_SESSION['logged'])
  12. {
  13. // to go wylogowujemy i usuwamy jego dane z sesji
  14. $_SESSION['logged'] = false;
  15. $_SESSION['nick'] = '';
  16. $_SESSION['id'] = '';
  17. echo 'Zosta_es poprawnie wylogowany! <a href="index.php">wró_</a>';
  18. }
  19. // je_li nie jest zalogowany
  20. else
  21. {
  22. echo 'Nie by_es zalogowany! <a href="index.php">wró_</a>';
  23. }
  24.  
  25. // koniec buforowania
  26. ?>


rejestracja.sql
  1. CREATE TABLE `test`.`users` (
  2. `id` INT NOT NULL AUTO_INCREMENT ,
  3. `nick` VARCHAR( 100 ) NOT NULL ,
  4. `pass` VARCHAR( 60 ) NOT NULL ,
  5. `data_rejestracji` INT NOT NULL ,
  6. PRIMARY KEY ( `id` )
  7. ) ENGINE = MYISAM