diff --git a/projektpp/login.php b/projektpp/login.php new file mode 100644 index 0000000..50e94b3 --- /dev/null +++ b/projektpp/login.php @@ -0,0 +1,76 @@ + + + + + + + GymFit + + + + + + + + + +
+ + + +
+
+ + Login:

+ Hasło:


+ + +
+ +
+ + + +
+ + + + + \ No newline at end of file diff --git a/projektpp/logout.php b/projektpp/logout.php new file mode 100644 index 0000000..9b89d42 --- /dev/null +++ b/projektpp/logout.php @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/projektpp/rejestracja.php b/projektpp/rejestracja.php new file mode 100644 index 0000000..30725ee --- /dev/null +++ b/projektpp/rejestracja.php @@ -0,0 +1,324 @@ +20)) + { + $wszystko_OK=false; + $_SESSION['e_nick']="Nick musi posiadać od 3 do 20 znaków!"; + } + + if (ctype_alnum($nick)==false) + { + $wszystko_OK=false; + $_SESSION['e_nick']="Nick może składać się tylko z liter i cyfr (bez polskich znaków)"; + } + $imie = $_POST['imie']; + $nazwisko = $_POST['nazwisko']; + // Sprawdź poprawność adresu email + $email = $_POST['email']; + $emailB = filter_var($email, FILTER_SANITIZE_EMAIL); + + if ((filter_var($emailB, FILTER_VALIDATE_EMAIL)==false) || ($emailB!=$email)) + { + $wszystko_OK=false; + $_SESSION['e_email']="Podaj poprawny adres e-mail!"; + } + + //Sprawdź poprawność hasła + $haslo1 = $_POST['haslo1']; + $haslo2 = $_POST['haslo2']; + + if ((strlen($haslo1)<8) || (strlen($haslo1)>20)) + { + $wszystko_OK=false; + $_SESSION['e_haslo']="Hasło musi posiadać od 8 do 20 znaków!"; + } + + if ($haslo1!=$haslo2) + { + $wszystko_OK=false; + $_SESSION['e_haslo']="Podane hasła nie są identyczne!"; + } + + $haslo_hash = password_hash($haslo1, PASSWORD_DEFAULT); + + //Czy zaakceptowano regulamin? + if (!isset($_POST['regulamin'])) + { + $wszystko_OK=false; + $_SESSION['e_regulamin']="Potwierdź akceptację regulaminu!"; + } + + //Bot or not? Oto jest pytanie! + $sekret = "6LdF4iEaAAAAAF58_FmfKBBTpM0IVdGphVyTMGAl"; + + $sprawdz = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$sekret.'&response='.$_POST['g-recaptcha-response']); + + $odpowiedz = json_decode($sprawdz); + + if ($odpowiedz->success==false) + { + $wszystko_OK=false; + $_SESSION['e_bot']="Potwierdź, że nie jesteś botem!"; + } + + //Zapamiętaj wprowadzone dane + $_SESSION['fr_nick'] = $nick; + $_SESSION['fr_imie'] = $imie; + $_SESSION['fr_nazwisko'] = $nazwisko; + $_SESSION['fr_email'] = $email; + $_SESSION['fr_haslo1'] = $haslo1; + $_SESSION['fr_haslo2'] = $haslo2; + if (isset($_POST['regulamin'])) $_SESSION['fr_regulamin'] = true; + + require_once "connect.php"; + mysqli_report(MYSQLI_REPORT_STRICT); + + try + { + $polaczenie = new mysqli($host, $db_user, $db_password, $db_name); + if ($polaczenie->connect_errno!=0) + { + throw new Exception(mysqli_connect_errno()); + } + else + { + //Czy email już istnieje? + $rezultat = $polaczenie->query("SELECT id FROM uzytkownicy WHERE email='$email'"); + + if (!$rezultat) throw new Exception($polaczenie->error); + + $ile_takich_maili = $rezultat->num_rows; + if($ile_takich_maili>0) + { + $wszystko_OK=false; + $_SESSION['e_email']="Istnieje już konto przypisane do tego adresu e-mail!"; + } + + //Czy nick jest już zarezerwowany? + $rezultat = $polaczenie->query("SELECT id FROM uzytkownicy WHERE user='$nick'"); + + if (!$rezultat) throw new Exception($polaczenie->error); + + $ile_takich_nickow = $rezultat->num_rows; + if($ile_takich_nickow>0) + { + $wszystko_OK=false; + $_SESSION['e_nick']="Istnieje już gracz o takim nicku! Wybierz inny."; + } + + if ($wszystko_OK==true) + { + //Hurra, wszystkie testy zaliczone, dodajemy gracza do bazy + + if ($polaczenie->query("INSERT INTO uzytkownicy VALUES (NULL, '$nick', '$imie', '$nazwisko', '$haslo_hash', '$email', 3, 100, 100, 14)")) + { + $_SESSION['udanarejestracja']=true; + header('Location: witamy.php'); + } + else + { + throw new Exception($polaczenie->error); + } + + } + + $polaczenie->close(); + } + + } + catch(Exception $e) + { + echo 'Błąd serwera! Przepraszamy za niedogodności i prosimy o rejestrację w innym terminie!'; + echo '
Informacja developerska: '.$e; + } + + } + + +?> + + + + + + GymFit + + + + + + + + + + + + +
+ + + +
+
+ + Nickname:

+ + '.$_SESSION['e_nick'].'
'; + unset($_SESSION['e_nick']); + } + ?> + Imię:

+ + '.$_SESSION['e_imie'].'
'; + unset($_SESSION['e_imie']); + } + ?> + Nazwisko:

+ + '.$_SESSION['e_nazwisko'].''; + unset($_SESSION['e_nazwisko']); + } + ?> + + E-mail:

+ + '.$_SESSION['e_email'].''; + unset($_SESSION['e_email']); + } + ?> + + Twoje hasło:

+ + '.$_SESSION['e_haslo'].''; + unset($_SESSION['e_haslo']); + } + ?> + + Powtórz hasło:

+ + + + '.$_SESSION['e_regulamin'].''; + unset($_SESSION['e_regulamin']); + } + ?> + +
+ + '.$_SESSION['e_bot'].''; + unset($_SESSION['e_bot']); + } + ?> + +
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/projektpp/style.css b/projektpp/style.css new file mode 100644 index 0000000..d33759f --- /dev/null +++ b/projektpp/style.css @@ -0,0 +1,146 @@ +body +{ + background: url(png/tlo.png); + font-family: 'Lato', sans-serif; + +} + +#container +{ + width: 1000px; + margin-left: auto; + margin-right: auto; +} + +#menu +{ + background-color: #303030; + color: #ffffff; + padding: 10px; + +} + +#logo +{ + float:left; + width: 178px; + text-align: center; +} + +#menuP +{ + float: left; + padding: 20px; + width: 758px; + font-size: 16px; + text-align: justify; +} + +#content +{ + float: left; + padding: 40px; + width: 920px; + background-color: #dedede; + min-height: 580px; + text-align: justify; + +} + +#footer +{ + clear: both; + color: white; + text-align: center; + padding: 20px; + font-size: 18px; +} + +#contentl +{ + float: left; + width: 440px; + +} + +#contentp +{ + float:right; +} + +#lok +{ + float:left; + padding-top: 5px; + padding-bottom: 20px; + width: 50px; +} + +#obs +{ + float:left; + width: 40px; + sline-height: 2cm; +} + +#sek +{ + float:left; + width: 40px; + sline-height: 2cm; +} + + +.option +{ + float: left; + min-width: 50px; + height: 25px; + font-size: 18px; + padding: 10px; + border-right: 2px dotted #444444; + border-left: 2px dotted #444444; + opacity: 0.8; +} +a:link +{ + color: white; + text-decoration: none; +} +a:visited +{ + color: white; + text-decoration: none; + +} +a:hover +{ + color: white; + text-decoration: none; +} +.option:hover +{ + background-color: #000000; + cursor: pointer; +} + +.bigtitle +{ + font-size: 32px; + font-weight: 900; + letter-spacing: 2px; +} + +.dottedline +{ + height: 5px; + margin-top: 10px; + margin-bottom: 20px; + border-bottom: 2px dotted #444444; +} +.error +{ + color:red; + margin-top: 10px; + margin-bottom: 10px; +} \ No newline at end of file