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
<html>
<head>
<title>
tytuł strony
</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('form').submit(function(){
var nick = $('#nick').val();
var pass = $('#pass').val();
$.post("test.php", { 'nick': nick, 'pass': pass }, function(data){
if(data.efekt == 1){
$('#panel').load('panel.php');
}else{
$('#panel').text('Podane dane są błędne');
}
}, "json");
});
});
</script>
</head>
<body>
<center>
<div id="panel">
** Logowanie **
<?php
// po__czenie z mysql
or
die('Nieudane polaczenie z baza danych...');
// wybór bazy danych
or
die('Nie udalo sie wybrac bazy danych...');
// nag_ówek
echo '<h2>Logowanie</h2>';
// sprawdzamy czy user jest ju_ zalogowany
if($_SESSION['logged']) echo 'Ju_ jestes zalogowany!'; else
{
<form action="test.php" method="post" onsubmit="return false">
Login <input id="nick" name="nick" style="border: 1px solid black"><br />
Hasło <input id="pass" name="pass" style="border: 1px solid black"><br />
<input type="submit" name="ok" value="loguj">
</form> ';
// je_li zostanie naci_ni_ty przycisk "Zaloguj"
{
$nick = $_POST['nick'];
$pass = $_POST['pass'];
// sprawdzamy czy wszystkie dane zosta_y podane
// je_li tak...
else
{
// filtrujemy dane
// kodujemy has_o
// sprawdzamy czy istnieje u_ytkownik z takim loginem i has_em
$result = mysql_query("SELECT * FROM users WHERE nick='$nick' AND pass='$pass'");
// je_li nie istnieje
// je_li tak...
else
{
// dodajemy wynik zapytania do tablicy
// ustawianie sesji _e u_ytkownik jest zalogowany
$_SESSION['logged'] = true;
// dodawanie do sesji id u_ytkownika, login oraz dat_ rejestracji
$_SESSION['id'] = $row['id'];
$_SESSION['nick'] = $row['nick'];
$_SESSION['data_rejestracji'] = $row['data_rejestracji'];
// wy_wietlenie komunikatu oznaczaj_cego poprawne logowanie
echo 'Zosta_es poprawnie zalogowany! Mo_esz teraz przejs_ na <a href="index.php">stron_ g_ówna</a>'; }
}
}
}
// roz__czenie z baz_ danych
// koniec buforowania
?>
</br>
** Rejestracja **
<?php
// po__czenie z mysql
or
die('Nieudane polaczenie z baza danych...');
// wybór bazy danych
or
die('Nie udalo sie wybrac bazy danych...');
// nag_ówek
echo '<h2>Rejestracja</h2>';
// tworzymy prosty formularz
echo ' <form action="test.php" method="post" onsubmit="return false"> Login <input id="nick" name="nick" style="border: 1px solid black"><br />
Hasło <input id="pass" name="pass" style="border: 1px solid black"><br />
<input type="submit" name="ok" value="Rejestruj">
</form> '
;
// je_li zostanie naci_ni_ty przycisk "Rejestruj"
{
$nick = $_POST['nick'];
$pass = $_POST['pass'];
// sprawdzamy czy wszystkie dane zosta_y podane
// je_li tak...
else
{
// filtrujemy dane
// sprawdzamy czy jest ju_ u_ytkownik o takim loginie
$result = mysql_query("SELECT * FROM users WHERE nick='$nick'");
// je_li ju_ istnieje
// je_li nie...
else
{
// pobieramy aktualn_ dat_
// kodujemy has_o
// tworzymy zapytanie
$query = "INSERT INTO `users` (`nick` , `pass`, `data_rejestracji`) VALUES ('$nick', '$pass', '$data')";
// je_li zapytanie wykona si_ poprawnie to zostanie wy_wietlony stosowny komunikat
if(mysql_query($query)) echo 'Zosta_es poprawnie zarejestrowany! Mo_esz si_ teraz <a href="login.php">zalogowa_</a>'; }
}
}
// roz__czenie z baz_ danych
// koniec buforowania
?>
</center>
</body>
</html>
panel.php
<?php
echo "Tu jest mój panel"; ?>
<?php
echo '<a href="logout.php">WYLOGUJ</a>'; ?>
test.php - tu jest coś chyba źle
<?php
if($_POST['nick'] == $nick && $_POST['pass'] == $pass){
$rezultat = 1;
}else{
$rezultat = 0;
}
echo json_encode
(array('efekt' => $rezultat)); ?>
logout.php
<?php
// rozpocz_cie buforowania (jest to potrzebne by nie mie_ b__dów typu headers already sent)
// start sesji
// nag_ówek
echo '<h2>Wylogowywanie</h2>';
// je_li user jest zalogowany
if($_SESSION['logged'])
{
// to go wylogowujemy i usuwamy jego dane z sesji
$_SESSION['logged'] = false;
$_SESSION['nick'] = '';
$_SESSION['id'] = '';
echo 'Zosta_es poprawnie wylogowany! <a href="index.php">wró_</a>'; }
// je_li nie jest zalogowany
else
{
echo 'Nie by_es zalogowany! <a href="index.php">wró_</a>'; }
// koniec buforowania
?>
rejestracja.sql
CREATE TABLE `test`.`users` (
`id` INT NOT NULL AUTO_INCREMENT ,
`nick` VARCHAR( 100 ) NOT NULL ,
`pass` VARCHAR( 60 ) NOT NULL ,
`data_rejestracji` INT NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM