diff --git a/POSTSCRIPTUM.md b/POSTSCRIPTUM.md new file mode 100644 index 0000000..5fdde7c --- /dev/null +++ b/POSTSCRIPTUM.md @@ -0,0 +1,27 @@ +## Od MK + +Strona testowana pod kątem większości wiodących rozdzielczości, oraz ok. 100 przeglądarek mobilnych oraz desktopowych z wynikiem pozytywnym ok. 75/100. +### Testy obejmowały: +* ok. 10 przestarzałych przeglądarek desktopowyche(brak wparcia CSS3 lub wsparcie w ograniczonym stopniu) +* ok. 5 przeglądarek tekstowych +* ok. 10 przestarzałych przeglądarek mobilnych +* ok. 30 przeglądarek mobilnych +* ok. 45 przeglądarek desktopowych + +### Testy w 5 różnych rozdzielczościach z wynikiem pozytywnym: +* 370/500 wliczając przeglądarki przestarzałe oraz tekstowe +* 370/375 na przeglądarkach wspierających CSS3 w stopniu przynajmniej dobrym + +### Testy dla wymaganych przeglądarek: +* Chrome 58+ - testowane dla Chrome 51+ z wynikiem pozytywnym w każdej rozdzielczości +* Edge 16+ - testowane dla Edge 16+ z wynikiem pozytywnym +* Safari 10.1+ - testowane dla Safari 9+ z wynikiem pozytywnym +* Firefox 54+ - testowane dla Firefox 54+ z wynikiem pozytywnym + +### Baza danych: +Skrypt `mailPushing.php': +* wymagana baza MySQL +* wymagana tabela codeacademy +* struktura tabeli: +`id - primary` +`email - unique` \ No newline at end of file diff --git a/README.md b/README.md index 92ac9d3..5ae9baa 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,31 @@ # Academy Projekty wykonywane przez społeczność discorda -[helloroman](https://discordapp.com/invite/VTyJc9N) +[helloroman](https://discordapp.com/invite/VTyJc9N) Projekt jest we wczesnej fazie i obecne challenge są testowe. Wszelkie sugestie, propozycje pomocy mile widziane. ## Challenge #1 - Landing Page -Celem wyzwania jest wykonanie warstwy frontendowej Landing Page, zbierającego adresy mail osób zainteresowanych udziałem w akademii. -Stack Technologiczny do wykonania zadania to html/css/js bez żadnych frameworkow, preprocesorow. -Rozwiązanie powinno dzialać na: +Celem wyzwania jest wykonanie warstwy frontendowej Landing Page, zbierającego adresy mail osób zainteresowanych udziałem w akademii. +Stack Technologiczny do wykonania zadania to html/css/js bez żadnych frameworkow, preprocesorow. +Rozwiązanie powinno dzialać na: * Chrome 58+ * Edge 16+ * Safari 10.1+ * Firefox 54+ -Przycisk do wysłania formularza powinien mieć ID: LandingEmail -Wykonane zadanie należy przesyłac jako pull request na branch develop. -Zwrocie uwagę na semantykę html i accessibility. +Przycisk do wysłania formularza powinien mieć ID: LandingEmail +Wykonane zadanie należy przesyłac jako pull request na branch develop. +Zwrocie uwagę na semantykę html i accessibility. ### Grafiki -[Project.pdf](/assets/Layout.pdf) -[Figma](https://www.figma.com/file/gCTf2Ux96ETR0DMxr6T2m039/LandingPage?node-id=1%3A13) -[Zeppelin](https://zpl.io/boKzeQv) +[Project.pdf](/assets/Layout.pdf) +[Figma](https://www.figma.com/file/gCTf2Ux96ETR0DMxr6T2m039/LandingPage?node-id=1%3A13) +[Zeppelin](https://zpl.io/boKzeQv) Marginesy mogą się trochę nie zgadzać, dopiero się uczę figmy -#### Bonus challenge +#### Bonus challenge * Wykonaj zadanie bez użycia javascriptu * Stwórz warstwę backendową(dowolny język) lub podepnij się do firebase -### Termin -Wstępny czas na wykonanie challenga 21.01.2019 - - +### Termin +Wstępny czas na wykonanie challenga 21.01.2019 + + Jak ktoś ma ochotę zrobić lepszy readme, to niech to zrobi :D diff --git a/backend/mailPushing.php b/backend/mailPushing.php new file mode 100644 index 0000000..6c1a0bf --- /dev/null +++ b/backend/mailPushing.php @@ -0,0 +1,44 @@ + 'mysql:host=localhost;dbname=codeacademy;charset=utf8', + 'user' => 'root', + 'pass' => "", + ]; + + function __construct(){ + try{ + $this->db = new PDO($this->config['dsn'], $this->config['user'], $this->config['pass']); + } + catch(PDOException $err) { + exit('Blad polaczenia z baza danych: '.$err->getMessage()); + } + } + + public function pushEmail($mail){ + // przygotowanie zapytania + $insert = $this->db->prepare("INSERT INTO `mails`(`email`) VALUES (:mail)"); + // filtracja wskazanych danych + $insert->bindValue(':mail', $mail, PDO::PARAM_STR); + // właściwe wykonanie + $insert->execute(); + header("Location: ../"); + } + + public function checkMail($mail){ + $checkPreg = '/^[a-zA-Z0-9.\-_]+@[a-zA-Z0-9\-.]+\.[a-zA-Z]$/'; + if(!preg_match($checkPreg, $mail)){ + $_SESSION['error'] = 'Invalid E-mail'; + $_SESSION['mail'] = $mail; + header("Location: ../"); + } + else $this->pushEmail(trim($mail)); + } +} + + $mailPush = new DataBase(); + $mailPush->checkMail($_POST['mail']); \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..e8c4307 --- /dev/null +++ b/index.html @@ -0,0 +1,43 @@ + + +
+ + + + + + + +