2018-12-18 23:17:57 +01:00
package main
import (
"net/http"
"html/template"
"fmt"
"database/sql"
_ "github.com/go-sql-driver/mysql"
2018-12-31 00:56:25 +01:00
"time"
2018-12-18 23:17:57 +01:00
)
2019-01-16 23:47:40 +01:00
type komunikat struct {
Opis string
}
2018-12-18 23:17:57 +01:00
type Plan struct {
Serie int
Powtorzenia int
Nazwa string
Ciezar int
Opis string
2018-12-31 00:56:25 +01:00
data_t string
2019-01-20 11:32:43 +01:00
}
type Plan_rodzaj struct {
Plan [ ] Plan
Rodzaj_treningu string
2018-12-18 23:17:57 +01:00
}
2019-01-20 11:32:43 +01:00
2018-12-18 23:17:57 +01:00
type Cwiczenie struct {
Opis string
Rodzaj string
Nazwa string
Zdjecie string
}
type CwiczenieTabela struct {
Id_cwiczenie int
Nazwa string
2018-12-31 00:56:25 +01:00
}
type Wyniki struct {
Ciezar_rzecz int
Ciezar_cel int
Nazwa string
2019-01-16 23:47:40 +01:00
Data_t string
2018-12-31 00:56:25 +01:00
}
type ww struct {
Wyniki [ ] Wyniki
Nazwa string
NumerCwiczenia int
2019-01-16 23:47:40 +01:00
Ilosc_cwiczen int
2018-12-31 00:56:25 +01:00
}
2019-01-16 23:47:40 +01:00
type Zmiany struct {
co_ile_ciezar int
ciezar_dodaj int
co_ile_powtorzen int
ciezar_powtorzen int
2018-12-18 23:17:57 +01:00
}
2019-01-16 23:47:40 +01:00
type Uzytkownicy struct {
Url string
Login string
Haslo string
2018-12-18 23:17:57 +01:00
}
2019-01-20 11:32:43 +01:00
type Wymiary struct {
Wymiar int
Nazwa string
Data string
}
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
type Cookie struct {
Name string
Value int
Path string
Domain string
Expires time . Time
RawExpires string
MaxAge int
Secure bool
HttpOnly bool
Raw string
Unparsed [ ] string
}
//deklaracja tmpl-POCZATEK
2018-12-18 23:17:57 +01:00
var tmpl2 = template . Must ( template . ParseGlob ( "planowanieTreningu.html" ) )
var tmpl3 = template . Must ( template . ParseGlob ( "cwiczenie.html" ) )
2018-12-31 00:56:25 +01:00
var tmpl4 = template . Must ( template . ParseGlob ( "wyniki.html" ) )
2019-01-20 11:32:43 +01:00
var tmpl5 = template . Must ( template . ParseGlob ( "wymiary.html" ) )
2018-12-18 23:17:57 +01:00
var tmpl = template . Must ( template . ParseGlob ( "koszyk.html" ) )
2019-01-16 23:47:40 +01:00
//deklaracja tmpl-KONIEC
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
//deklaracja funkcji-POCZATEK
2018-12-31 00:56:25 +01:00
func baza ( ) {
2019-01-16 23:47:40 +01:00
db , err := sql . Open ( "mysql" , "finley:password@tcp(127.0.0.1:3306)/baza" )
2018-12-18 23:17:57 +01:00
if err != nil {
2019-01-16 23:47:40 +01:00
panic ( err . Error ( ) )
2018-12-18 23:17:57 +01:00
}
2019-01-16 23:47:40 +01:00
defer db . Close ( )
2018-12-31 00:56:25 +01:00
}
2019-01-16 23:47:40 +01:00
func getCookie ( w http . ResponseWriter , r * http . Request ) string {
var decyzja string
c1 , err := r . Cookie ( "logowanie" )
if err != nil {
decyzja = "brak"
} else {
decyzja = c1 . Value
}
return decyzja
}
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
func setCookie ( w http . ResponseWriter , r * http . Request , id_uzytkownik string ) {
fmt . Println ( "tt" )
expiration := time . Now ( ) . Add ( 2 * time . Hour )
c1 := http . Cookie { Name : "logowanie" , Value : id_uzytkownik , Expires : expiration }
fmt . Println ( c1 )
http . SetCookie ( w , & c1 )
}
//deklaracja funkcji-KONIEC
2018-12-18 23:17:57 +01:00
func planowanieTreningu ( w http . ResponseWriter , r * http . Request ) {
2019-01-16 23:47:40 +01:00
if getCookie ( w , r ) == "brak" {
p := Plan { Opis : "zakładka" }
t , _ := template . ParseFiles ( "brakdostepu.html" )
t . Execute ( w , p )
} else {
2018-12-18 23:17:57 +01:00
db , err := sql . Open ( "mysql" , "finley:password@tcp(127.0.0.1:3306)/baza" )
2019-01-16 23:47:40 +01:00
if err != nil {
panic ( err . Error ( ) )
}
defer db . Close ( )
2018-12-18 23:17:57 +01:00
2019-01-20 11:32:43 +01:00
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
2018-12-18 23:17:57 +01:00
if r . Method == "POST" {
2019-01-16 23:47:40 +01:00
//dodawanie rodzaju treningu oraz co ile powiekszać cieżar-POCZATEK
2019-01-20 11:32:43 +01:00
co_ile_ciezar := r . FormValue ( "co_ile_ciezar" )
2019-01-16 23:47:40 +01:00
ciezar_dodaj := r . FormValue ( "ciezar_dodaj" )
co_ile_powtorzenie := r . FormValue ( "co_ile_powtorzenie" )
powtorzenie_dodaj := r . FormValue ( "powtorzenie_dodaj" )
rodzaj_treningu := r . FormValue ( "rodzaj_treningu" )
fmt . Println ( co_ile_ciezar )
fmt . Println ( ciezar_dodaj )
fmt . Println ( powtorzenie_dodaj )
fmt . Println ( co_ile_powtorzenie )
fmt . Println ( rodzaj_treningu )
2019-01-20 14:22:29 +01:00
if co_ile_ciezar != "" || ciezar_dodaj != "" || powtorzenie_dodaj != "" || co_ile_powtorzenie != "" {
fmt . Println ( "pred" )
2019-01-16 23:47:40 +01:00
2019-01-20 14:22:29 +01:00
// rows4, err := db.Query("INSERT INTO baza.zmiany (ciezar_dodaj, powtorzenie_dodaj, co_ile_ciezar, co_ile_powtorzenie, id_uzytkownik, rodzaj_treningu) VALUES (8, 8, 7, 5,5, 'ASB')")
rows3 , err := db . Query ( "UPDATE baza.zmiany SET ciezar_dodaj=?, powtorzenie_dodaj=?, co_ile_ciezar=?, co_ile_powtorzenie=?, rodzaj_treningu=? where id_uzytkownik=?" , ciezar_dodaj , powtorzenie_dodaj , co_ile_ciezar , co_ile_powtorzenie , rodzaj_treningu , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
fmt . Println ( "poo" )
2019-01-20 11:32:43 +01:00
2019-01-20 14:22:29 +01:00
if err != nil {
panic ( err . Error ( ) )
}
defer rows3 . Close ( )
2019-01-20 11:32:43 +01:00
2019-01-20 14:22:29 +01:00
}
2019-01-16 23:47:40 +01:00
2018-12-18 23:17:57 +01:00
Powtorzenia := r . FormValue ( "Powtorzenia" )
Ciezar := r . FormValue ( "Ciezar" )
Serie := r . FormValue ( "Serie" )
Nazwa := r . FormValue ( "Nazwa" )
2019-01-16 23:47:40 +01:00
fmt . Println ( Nazwa )
fmt . Println ( Serie )
fmt . Println ( Ciezar )
fmt . Println ( Powtorzenia )
fmt . Println ( Nazwa )
rows1 , err := db . Query ( "SELECT COUNT(*) FROM baza.trening_cel as a, baza.cwiczenie as b WHERE a.id_cwiczenie=b.id_cwiczenie and b.nazwa=? and a.id_uzytkownik=?" , Nazwa , getCookie ( w , r ) )
var liczba string
2019-01-20 11:32:43 +01:00
if err != nil { panic ( err . Error ( ) ) }
2019-01-16 23:47:40 +01:00
for rows1 . Next ( ) {
err = rows1 . Scan ( & liczba )
}
fmt . Println ( liczba )
fmt . Println ( rows1 )
if liczba == "0" {
fmt . Println ( "jeszcze nie" )
2018-12-18 23:17:57 +01:00
rows , err := db . Query ( "SELECT id_cwiczenie FROM baza.cwiczenie WHERE nazwa=?" , Nazwa )
2019-01-16 23:47:40 +01:00
if err != nil { panic ( err . Error ( ) ) }
2018-12-18 23:17:57 +01:00
2019-01-20 11:32:43 +01:00
2019-01-16 23:47:40 +01:00
for rows . Next ( ) {
2018-12-18 23:17:57 +01:00
emp := CwiczenieTabela { }
var id_cwiczenie int
err = rows . Scan ( & id_cwiczenie )
emp . Id_cwiczenie = id_cwiczenie
2019-01-16 23:47:40 +01:00
fmt . Println ( "jjjjj" )
rows , err := db . Query ( "INSERT INTO trening_cel (id_cwiczenie, id_uzytkownik, powtorzenia, ciezar,serie) VALUES (?, ?, ?, ?, ? )" , id_cwiczenie , getCookie ( w , r ) , Powtorzenia , Ciezar , Serie )
if err != nil {
panic ( err . Error ( ) )
}
2018-12-18 23:17:57 +01:00
defer rows . Close ( )
}
2019-01-16 23:47:40 +01:00
} else {
p := Plan { Opis : "zakładka" }
t , _ := template . ParseFiles ( "komunikat.html" )
t . Execute ( w , p )
fmt . Println ( "to ćwiczenie już dodałeś" )
}
2018-12-18 23:17:57 +01:00
}
2019-01-27 23:42:32 +01:00
rows , err := db . Query ( "select rodzaj_treningu from baza.zmiany where id_uzytkownik=? " , getCookie ( w , r ) )
2019-01-20 11:32:43 +01:00
for rows . Next ( ) {
var rodzaj_treningu string
err = rows . Scan ( & rodzaj_treningu )
if err != nil { panic ( err . Error ( ) ) }
if rodzaj_treningu == "FWB" {
2019-01-27 23:42:32 +01:00
rows2 , err := db . Query ( "select nazwa from baza.cwiczenie where (uzytkownik=? or uzytkownik=1)" , getCookie ( w , r ) )
2019-01-20 11:32:43 +01:00
emp2 := Plan { }
res2 := [ ] Plan { }
for rows2 . Next ( ) {
var nazwa string
err = rows2 . Scan ( & nazwa )
if err != nil {
panic ( err . Error ( ) )
}
emp2 . Nazwa = nazwa
res2 = append ( res2 , emp2 )
}
tmpl2 . ExecuteTemplate ( w , "Index" , res2 )
} else if rodzaj_treningu == "ASB" {
2019-01-27 23:42:32 +01:00
rows2 , err := db . Query ( "select nazwa from baza.cwiczenie where rodzaj='brzuch' and (uzytkownik=? or uzytkownik=1)" , getCookie ( w , r ) )
2019-01-20 11:32:43 +01:00
emp2 := Plan { }
res2 := [ ] Plan { }
for rows2 . Next ( ) {
var nazwa string
err = rows2 . Scan ( & nazwa )
if err != nil {
panic ( err . Error ( ) )
}
emp2 . Nazwa = nazwa
res2 = append ( res2 , emp2 )
}
tmpl2 . ExecuteTemplate ( w , "Index" , res2 )
} else {
2019-01-27 23:42:32 +01:00
rows2 , err := db . Query ( "select nazwa from baza.cwiczenie where (uzytkownik=? or uzytkownik=1)" , getCookie ( w , r ) )
2019-01-20 11:32:43 +01:00
emp2 := Plan { }
res2 := [ ] Plan { }
for rows2 . Next ( ) {
var nazwa string
err = rows2 . Scan ( & nazwa )
if err != nil {
panic ( err . Error ( ) )
}
emp2 . Nazwa = nazwa
res2 = append ( res2 , emp2 )
}
tmpl2 . ExecuteTemplate ( w , "Index" , res2 )
}
}
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
} }
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
func wypiszHandler ( w http . ResponseWriter , r * http . Request ) {
//otwieranie bazy-POCZATEK
db , err := sql . Open ( "mysql" , "finley:password@tcp(127.0.0.1:3306)/baza" )
if err != nil { panic ( err . Error ( ) ) }
defer db . Close ( )
//otwieranie bazy-KONIEC
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
//autoryzacja-POCZATEK
if getCookie ( w , r ) == "brak" {
p := Plan { Opis : "zakładka" }
t , _ := template . ParseFiles ( "brakdostepu.html" )
t . Execute ( w , p )
} else {
//sprawdzanie metody POST - POCZATEK
if r . Method == "POST" {
2018-12-18 23:17:57 +01:00
Powtorzenia := r . FormValue ( "Powtorzenia" )
Ciezar := r . FormValue ( "Ciezar" )
Serie := r . FormValue ( "Serie" )
Nazwa := r . FormValue ( "Nazwa" )
2019-01-16 23:47:40 +01:00
Akcja := r . FormValue ( "Akcja" )
2019-01-20 11:32:43 +01:00
2019-01-16 23:47:40 +01:00
currentTime := time . Now ( )
data_t := currentTime . Format ( "2006-01-02" )
2019-01-20 11:32:43 +01:00
if Akcja == "usuntrening" {
rows , err := db . Query ( "delete from baza.zmiany where id_uzytkownik=?" , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
defer rows . Close ( )
}
2019-01-16 23:47:40 +01:00
//sprawdzanie czy dodano juz dzisiaj to cwiczenie-POCZATEK
rows1 , err := db . Query ( "SELECT COUNT(*) FROM baza.trening_rzeczywisty as a, baza.cwiczenie as b WHERE a.id_cwiczenia=b.id_cwiczenie and b.nazwa=? and a.id_uzytkownik=? and a.data_t=?" , Nazwa , getCookie ( w , r ) , data_t )
if err != nil { panic ( err . Error ( ) ) }
defer rows1 . Close ( )
var liczba string
for rows1 . Next ( ) {
err = rows1 . Scan ( & liczba )
}
2018-12-18 23:17:57 +01:00
2019-01-20 11:32:43 +01:00
rows , err := db . Query ( "SELECT id_cwiczenie FROM baza.cwiczenie WHERE nazwa like ?" , Nazwa )
2019-01-16 23:47:40 +01:00
if err != nil { panic ( err . Error ( ) ) }
defer rows . Close ( )
2019-01-20 11:32:43 +01:00
2019-01-16 23:47:40 +01:00
for rows . Next ( ) {
2018-12-18 23:17:57 +01:00
emp := CwiczenieTabela { }
var id_cwiczenie int
err = rows . Scan ( & id_cwiczenie )
emp . Id_cwiczenie = id_cwiczenie
2018-12-31 00:56:25 +01:00
2019-01-16 23:47:40 +01:00
if Akcja == "usun" {
rows , err := db . Query ( "DELETE FROM baza.trening_cel where id_cwiczenie=? and id_uzytkownik=?" , id_cwiczenie , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
defer rows . Close ( )
2018-12-18 23:17:57 +01:00
2019-01-20 11:32:43 +01:00
rows2 , err := db . Query ( "DELETE FROM baza.trening_rzeczywisty where id_cwiczenia=? and id_uzytkownik=?" , id_cwiczenie , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
defer rows2 . Close ( )
} else if Akcja == "zatwierdz" && liczba == "0" {
2019-01-16 23:47:40 +01:00
fmt . Println ( "klik zat" )
rows , err := db . Query ( "INSERT INTO trening_rzeczywisty (id_cwiczenia, id_uzytkownik, powtorzenia, ciezar,serie, data_t) VALUES (?, ?, ?, ?, ?, ? )" , id_cwiczenie , getCookie ( w , r ) , Powtorzenia , Ciezar , Serie , data_t )
if err != nil { panic ( err . Error ( ) ) }
defer rows . Close ( )
} else {
2019-01-20 11:32:43 +01:00
fmt . Println ( "klik kkkat" )
2019-01-16 23:47:40 +01:00
p := Plan { Opis : "zakładka" }
t , _ := template . ParseFiles ( "komunikat.html" )
t . Execute ( w , p )
//sprawdzanie czy dodano juz dzisiaj to cwiczenie-KONIEC
2019-01-20 11:32:43 +01:00
2019-01-16 23:47:40 +01:00
//sprawdzanie metody POST - KONIEC
2019-01-20 11:32:43 +01:00
} }
2018-12-18 23:17:57 +01:00
}
2019-01-16 23:47:40 +01:00
//dodawanie ciezaru lub powtórzenia zależnie od ilości treningów-POCZATEK
rows5 , err := db . Query ( "SELECT ciezar_dodaj, powtorzenie_dodaj, co_ile_ciezar, co_ile_powtorzenie FROM baza.zmiany where id_uzytkownik=5" )
if err != nil { panic ( err . Error ( ) ) }
for rows5 . Next ( ) {
var ciezar_dodaj int
var powtorzenie_dodaj int
var co_ile_ciezar int
var co_ile_powtorzenie int
err = rows5 . Scan ( & ciezar_dodaj , & powtorzenie_dodaj , & co_ile_ciezar , & co_ile_powtorzenie )
if err != nil { panic ( err . Error ( ) ) }
rows1 , err := db . Query ( "SELECT P.nazwa, N.ciezar, N.powtorzenia FROM baza.trening_cel AS N, baza.cwiczenie AS P WHERE P.id_cwiczenie = N.id_cwiczenie and N.id_uzytkownik=?" , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
for rows1 . Next ( ) {
var nazwa string
var ciezar int
var powtorzenia int
err = rows1 . Scan ( & nazwa , & ciezar , & powtorzenia )
if err != nil { panic ( err . Error ( ) ) }
rows3 , err := db . Query ( "SELECT COUNT(*) from baza.trening_rzeczywisty as a, baza.cwiczenie as b where b.nazwa=? and a.id_uzytkownik=?" , nazwa , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
for rows3 . Next ( ) {
var liczba_treningow int
err = rows3 . Scan ( & liczba_treningow )
if err != nil { panic ( err . Error ( ) ) }
//sprawdzanie czy dodac ciezar lub powtorzenie-POCZATEK
2019-01-20 11:32:43 +01:00
fmt . Println ( "co_ile_powtorzenie" )
fmt . Println ( liczba_treningow )
fmt . Println ( co_ile_ciezar )
fmt . Println ( co_ile_powtorzenie )
if liczba_treningow == 0 {
liczba_treningow = liczba_treningow + 1
}
2019-01-16 23:47:40 +01:00
if liczba_treningow % co_ile_ciezar == 0 || liczba_treningow % co_ile_powtorzenie == 0 {
ciezar = ciezar + ciezar_dodaj
powtorzenia = powtorzenia + powtorzenie_dodaj
rows3 , err := db . Query ( "UPDATE baza.trening_cel as a, baza.cwiczenie as b SET a.ciezar=? WHERE a.id_uzytkownik=? and b.nazwa=? and a.id_cwiczenie=b.id_cwiczenie" , ciezar , getCookie ( w , r ) , nazwa )
if err != nil { panic ( err . Error ( ) ) }
fmt . Println ( rows3 )
}
//sprawdzanie czy dodac ciezar lub powtorzenie-KONIEC
}
//dodawanie ciezaru lub powtórzenia zależnie od ilości treningów-KONIEC
}
}
2019-01-20 11:32:43 +01:00
rows2 , err := db . Query ( "SELECT rodzaj_treningu FROM zmiany where id_uzytkownik like ?" , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
emp2 := Plan_rodzaj { }
res2 := [ ] Plan_rodzaj { }
for rows2 . Next ( ) {
var rodzaj_treningu string
err = rows2 . Scan ( & rodzaj_treningu )
if err != nil { panic ( err . Error ( ) ) }
emp2 . Rodzaj_treningu = rodzaj_treningu
2019-01-16 23:47:40 +01:00
rows , err := db . Query ( "SELECT N.serie, N.powtorzenia, P.nazwa, N.ciezar FROM trening_cel AS N, cwiczenie AS P WHERE P.id_cwiczenie = N.id_cwiczenie and id_uzytkownik like ?" , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
emp := Plan { }
res := [ ] Plan { }
for rows . Next ( ) {
2019-01-20 11:32:43 +01:00
2019-01-16 23:47:40 +01:00
var serie int
var powtorzenia int
var nazwa string
var ciezar int
err = rows . Scan ( & serie , & powtorzenia , & nazwa , & ciezar )
if err != nil { panic ( err . Error ( ) ) }
emp . Serie = serie
emp . Powtorzenia = powtorzenia
emp . Nazwa = nazwa
emp . Ciezar = ciezar
res = append ( res , emp )
}
2019-01-20 11:32:43 +01:00
emp2 . Plan = res
res2 = append ( res2 , emp2 )
}
tmpl . ExecuteTemplate ( w , "Index" , res2 )
2019-01-16 23:47:40 +01:00
}
//autoryzacja-KONIEC
}
func logowanieHandler ( w http . ResponseWriter , r * http . Request ) {
db , err := sql . Open ( "mysql" , "finley:password@tcp(127.0.0.1:3306)/baza" )
2018-12-18 23:17:57 +01:00
if err != nil {
2019-01-16 23:47:40 +01:00
panic ( err . Error ( ) )
2018-12-18 23:17:57 +01:00
}
defer db . Close ( )
2019-01-16 23:47:40 +01:00
if r . Method == "GET" {
id_uzytkownik := r . FormValue ( "cookies" )
setCookie ( w , r , id_uzytkownik )
p := Uzytkownicy { Url : "/logowanie" }
t , _ := template . ParseFiles ( "logowanie.html" )
t . Execute ( w , p )
}
if r . Method == "POST" {
Login := r . FormValue ( "Login" )
Haslo := r . FormValue ( "Haslo" )
rows , err := db . Query ( "SELECT COUNT(*) FROM baza.uzytkownicy WHERE login=? and haslo=?" , Login , Haslo )
fmt . Println ( "2" )
2018-12-18 23:17:57 +01:00
if err != nil {
panic ( err . Error ( ) )
}
2019-01-16 23:47:40 +01:00
fmt . Println ( "2" )
for rows . Next ( ) {
var autoryzacja int
err = rows . Scan ( & autoryzacja )
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
if err != nil {
panic ( err . Error ( ) )
}
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
if autoryzacja != 0 {
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
rows , err := db . Query ( "SELECT id_uzytkownik FROM baza.uzytkownicy WHERE login=? and haslo=?" , Login , Haslo )
fmt . Println ( "2" )
if err != nil {
panic ( err . Error ( ) )
2018-12-18 23:17:57 +01:00
}
2019-01-16 23:47:40 +01:00
fmt . Println ( "2" )
for rows . Next ( ) {
var id_uzytkownik string
err = rows . Scan ( & id_uzytkownik )
if err != nil {
panic ( err . Error ( ) )
}
setCookie ( w , r , id_uzytkownik )
p := Uzytkownicy { Url : "/start" }
t , _ := template . ParseFiles ( "start.html" )
t . Execute ( w , p ) }
fmt . Println ( "1" )
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
} else {
fmt . Println ( "2" )
p := Uzytkownicy { Url : "/logowanie" }
t , _ := template . ParseFiles ( "logowanie.html" )
t . Execute ( w , p )
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
} }
}
fmt . Println ( r . Method )
2018-12-18 23:17:57 +01:00
}
2019-01-16 23:47:40 +01:00
func opisCwiczenia ( w http . ResponseWriter , r * http . Request ) {
if getCookie ( w , r ) == "brak" {
p := Plan { Opis : "zakładka" }
t , _ := template . ParseFiles ( "brakdostepu.html" )
t . Execute ( w , p )
} else {
2018-12-18 23:17:57 +01:00
//wyświetlanie treningu
nazwa := r . FormValue ( "Nazwa" )
2019-01-16 23:47:40 +01:00
db , err := sql . Open ( "mysql" , "finley:password@tcp(127.0.0.1:3306)/baza" )
2018-12-18 23:17:57 +01:00
if err != nil {
panic ( err . Error ( ) )
}
defer db . Close ( )
rows , err := db . Query ( "SELECT opis, rodzaj, zdjecie FROM baza.cwiczenie where nazwa=?" , nazwa )
if err != nil {
panic ( err . Error ( ) )
}
emp := Cwiczenie { }
res := [ ] Cwiczenie { }
for rows . Next ( ) {
var opis string
var rodzaj string
var zdjecie string
err = rows . Scan ( & opis , & rodzaj , & zdjecie )
//err = rows.Scan(&serie, &ciezar)
if err != nil {
panic ( err . Error ( ) )
}
emp . Opis = opis
emp . Rodzaj = rodzaj
emp . Zdjecie = zdjecie
emp . Nazwa = nazwa
res = append ( res , emp )
}
tmpl3 . ExecuteTemplate ( w , "Index" , res )
//koniec wyświetlanie trenngu
2019-01-16 23:47:40 +01:00
} }
2018-12-18 23:17:57 +01:00
2018-12-31 00:56:25 +01:00
func wynikiHandler ( w http . ResponseWriter , r * http . Request ) {
2019-01-16 23:47:40 +01:00
if getCookie ( w , r ) == "brak" {
p := Plan { Opis : "zakładka" }
t , _ := template . ParseFiles ( "brakdostepu.html" )
t . Execute ( w , p )
2018-12-31 00:56:25 +01:00
2019-01-16 23:47:40 +01:00
} else {
db , err := sql . Open ( "mysql" , "finley:password@tcp(127.0.0.1:3306)/baza" )
2018-12-31 00:56:25 +01:00
if err != nil {
panic ( err . Error ( ) )
}
defer db . Close ( )
2019-01-20 11:32:43 +01:00
// var Ilosc_cwiczen int
// rows4, err := db.Query("SELECT COUNT(*) from baza.trening_cel where id_uzytkownik=?",getCookie(w,r))
// if err != nil {
// panic(err.Error())
// }
// for rows4.Next() {
// err = rows4.Scan(&Ilosc_cwiczen)
// if err != nil {
// panic(err.Error())
// }
// }
// fmt.Println(Ilosc_cwiczen)
// for i := 1; i < Ilosc_cwiczen+1; i++ {
// rows, err := db.Query("SELECT C.nazwa FROM baza.trening_cel AS N, baza.trening_rzeczywisty AS P, baza.cwiczenie AS C WHERE N.id = ? and C.id_cwiczenie = P.id_cwiczenia and C.id_cwiczenie = N.id_cwiczenie",i)
rows , err := db . Query ( "SELECT C.nazwa FROM baza.trening_cel AS N, baza.cwiczenie AS C WHERE id_uzytkownik=? and C.id_cwiczenie = N.id_cwiczenie" , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
var i int
i = 0
2018-12-31 00:56:25 +01:00
emp := ww { }
res := [ ] ww { }
for rows . Next ( ) {
2019-01-20 11:32:43 +01:00
fmt . Println ( "ciezar_cel" )
2018-12-31 00:56:25 +01:00
var nazwa string
err = rows . Scan ( & nazwa )
2019-01-20 11:32:43 +01:00
if err != nil { panic ( err . Error ( ) ) }
2018-12-31 00:56:25 +01:00
emp . Nazwa = nazwa
2019-01-20 11:32:43 +01:00
fmt . Println ( nazwa )
i ++
2018-12-31 00:56:25 +01:00
emp . NumerCwiczenia = i
2019-01-20 11:32:43 +01:00
fmt . Println ( emp . NumerCwiczenia )
fmt . Println ( "gegeg" )
2018-12-31 00:56:25 +01:00
2019-01-20 11:32:43 +01:00
rows2 , err := db . Query ( "SELECT P.ciezar, N.ciezar, P.data_t FROM baza.trening_cel AS N, baza.trening_rzeczywisty AS P, baza.cwiczenie AS C WHERE C.nazwa = ? and C.id_cwiczenie = P.id_cwiczenia and C.id_cwiczenie = N.id_cwiczenie" , nazwa )
2018-12-31 00:56:25 +01:00
2019-01-20 11:32:43 +01:00
if err != nil { panic ( err . Error ( ) ) }
2018-12-31 00:56:25 +01:00
emp2 := Wyniki { }
res2 := [ ] Wyniki { }
for rows2 . Next ( ) {
var ciezar_rzecz int
var ciezar_cel int
2019-01-16 23:47:40 +01:00
var data_t string
2018-12-31 00:56:25 +01:00
2019-01-16 23:47:40 +01:00
err = rows2 . Scan ( & ciezar_rzecz , & ciezar_cel , & data_t )
2019-01-20 11:32:43 +01:00
fmt . Println ( "ciezar_cel" )
fmt . Println ( "ciezar_cel" )
2018-12-31 00:56:25 +01:00
if err != nil {
panic ( err . Error ( ) )
}
emp2 . Ciezar_rzecz = ciezar_rzecz
emp2 . Ciezar_cel = ciezar_cel
2019-01-16 23:47:40 +01:00
emp2 . Data_t = data_t
2018-12-31 00:56:25 +01:00
res2 = append ( res2 , emp2 )
}
emp . Wyniki = res2
2019-01-16 23:47:40 +01:00
res = append ( res , emp )
2019-01-20 11:32:43 +01:00
}
fmt . Println ( res )
2018-12-31 00:56:25 +01:00
tmpl4 . ExecuteTemplate ( w , "Index" , res )
}
2019-01-20 11:32:43 +01:00
// }
2019-01-16 23:47:40 +01:00
2018-12-31 00:56:25 +01:00
}
2019-01-16 23:47:40 +01:00
func dodaj_cwiczenieHandler ( w http . ResponseWriter , r * http . Request ) {
db , err := sql . Open ( "mysql" , "finley:password@tcp(127.0.0.1:3306)/baza" )
if err != nil {
panic ( err . Error ( ) )
}
defer db . Close ( )
2018-12-31 00:56:25 +01:00
2019-01-16 23:47:40 +01:00
if getCookie ( w , r ) == "brak" {
p := Plan { Opis : "zakładka" }
t , _ := template . ParseFiles ( "brakdostepu.html" )
2018-12-31 00:56:25 +01:00
t . Execute ( w , p )
2019-01-16 23:47:40 +01:00
} else {
2018-12-31 00:56:25 +01:00
if r . Method == "POST" {
Nazwa := r . FormValue ( "Nazwa" )
Rodzaj := r . FormValue ( "Rodzaj" )
Opis := r . FormValue ( "Opis" )
Zdjecie := r . FormValue ( "Zdjecie" )
2019-01-16 23:47:40 +01:00
fmt . Println ( Nazwa )
fmt . Println ( Rodzaj )
fmt . Println ( Opis )
fmt . Println ( Zdjecie )
// insert, err := db.Query("INSERT INTO cwiczenie (opis, rodzaj, nazwa, zdjecie) VALUES (?,?,?,?)", Opis, Rodzaj, Nazwa, Zdjecie)
2019-01-27 23:42:32 +01:00
insert , err := db . Query ( "INSERT INTO baza.cwiczenie ( opis, rodzaj, nazwa, zdjecie, uzytkownik) VALUES ( ?,?,?,?,? )" , Opis , Rodzaj , Nazwa , Zdjecie , getCookie ( w , r ) )
2019-01-16 23:47:40 +01:00
// if err != nil {
// panic(err.Error())
// }
// defer insert.Close()
fmt . Println ( insert )
fmt . Println ( err )
}
p := Plan { Opis : "zakładka" }
t , _ := template . ParseFiles ( "dodajcwiczenie.html" )
t . Execute ( w , p )
} }
func rejestracja ( w http . ResponseWriter , r * http . Request ) {
// p := Uzytkownicy{Url: "/start"}
// t, _ := template.ParseFiles("pocz.html")
// t.Execute(w, p)
if r . Method == "POST" {
Login := r . FormValue ( "Login" )
Haslo := r . FormValue ( "Haslo" )
db , err := sql . Open ( "mysql" , "finley:password@tcp(127.0.0.1:3306)/baza" )
if err != nil { panic ( err . Error ( ) ) }
2018-12-31 00:56:25 +01:00
defer db . Close ( )
2019-01-16 23:47:40 +01:00
// fmt.Println(Login)
rows , err := db . Query ( "SELECT COUNT(*) FROM baza.uzytkownicy WHERE login=?" , Login )
// if err != nil {panic(err.Error())}
var login int
for rows . Next ( ) {
err = rows . Scan ( & login )
fmt . Println ( login ) }
// if err != nil {panic(err.Error())}
2018-12-31 00:56:25 +01:00
2019-01-16 23:47:40 +01:00
fmt . Println ( Login )
2018-12-31 00:56:25 +01:00
2019-01-16 23:47:40 +01:00
if login == 0 {
fmt . Println ( "nie ma loginu" )
2018-12-31 00:56:25 +01:00
2019-01-20 14:22:29 +01:00
2019-01-16 23:47:40 +01:00
insert , err := db . Query ( "INSERT INTO uzytkownicy (login, haslo) VALUES ( ?,? )" , Login , Haslo )
2018-12-31 00:56:25 +01:00
if err != nil {
panic ( err . Error ( ) )
}
2019-01-16 23:47:40 +01:00
defer insert . Close ( )
2019-01-20 14:22:29 +01:00
rows2 , err := db . Query ( "select id_uzytkownik from uzytkownicy where login=?" , Login )
for rows2 . Next ( ) {
var id int
err = rows2 . Scan ( & id )
if err != nil {
panic ( err . Error ( ) ) }
fmt . Println ( id )
insert2 , err := db . Query ( "INSERT INTO baza.zmiany (ciezar_dodaj, powtorzenie_dodaj, co_ile_ciezar, co_ile_powtorzenie, id_uzytkownik, rodzaj_treningu) VALUES (0, 0, 0, 0, ?, 'FBW')" , id )
if err != nil {
panic ( err . Error ( ) )
}
defer insert2 . Close ( )
}
2019-01-16 23:47:40 +01:00
p := komunikat { Opis : "" }
t , _ := template . ParseFiles ( "logowanie.html" )
t . Execute ( w , p )
} else {
p := komunikat { Opis : "Ten login jest już zajęty" }
t , _ := template . ParseFiles ( "rejestracja.html" )
t . Execute ( w , p )
2018-12-31 00:56:25 +01:00
}
2019-01-16 23:47:40 +01:00
} else {
p := komunikat { Opis : "" }
t , _ := template . ParseFiles ( "rejestracja.html" )
t . Execute ( w , p )
}
2018-12-31 00:56:25 +01:00
}
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
func start ( w http . ResponseWriter , r * http . Request ) {
p := Uzytkownicy { Url : "/start" }
t , _ := template . ParseFiles ( "start.html" )
t . Execute ( w , p )
}
2019-01-20 11:32:43 +01:00
func wymiary ( w http . ResponseWriter , r * http . Request ) {
db , err := sql . Open ( "mysql" , "finley:password@tcp(127.0.0.1:3306)/baza" )
if err != nil {
panic ( err . Error ( ) )
}
defer db . Close ( )
if getCookie ( w , r ) == "brak" {
p := Plan { Opis : "zakładka" }
t , _ := template . ParseFiles ( "brakdostepu.html" )
t . Execute ( w , p )
} else {
if r . Method == "POST" {
talia := r . FormValue ( "talia" )
biodra := r . FormValue ( "biodra" )
waga := r . FormValue ( "waga" )
currentTime := time . Now ( )
data := currentTime . Format ( "2006-01-02" )
insert , err := db . Query ( "INSERT INTO baza.wymiary ( id_uzytkownik, wymiar, nazwa, data) VALUES ( ?,?,'talia',?)" , getCookie ( w , r ) , talia , data )
if err != nil { panic ( err . Error ( ) ) }
defer insert . Close ( )
insert2 , err := db . Query ( "INSERT INTO baza.wymiary ( id_uzytkownik, wymiar, nazwa, data) VALUES ( ?,?,'biodra',?)" , getCookie ( w , r ) , biodra , data )
if err != nil { panic ( err . Error ( ) ) }
defer insert2 . Close ( )
insert3 , err := db . Query ( "INSERT INTO baza.wymiary ( id_uzytkownik, wymiar, nazwa, data) VALUES ( ?,?,'waga',?)" , getCookie ( w , r ) , waga , data )
if err != nil { panic ( err . Error ( ) ) }
defer insert3 . Close ( )
rows2 , err := db . Query ( "SELECT wymiar, nazwa, data from wymiary where nazwa='waga' and id_uzytkownik=?" , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
emp2 := Wymiary { }
res2 := [ ] Wymiary { }
for rows2 . Next ( ) {
var wymiar int
var nazwa string
var data string
err = rows2 . Scan ( & wymiar , & nazwa , & data )
if err != nil {
panic ( err . Error ( ) )
}
emp2 . Wymiar = wymiar
emp2 . Nazwa = nazwa
emp2 . Data = data
res2 = append ( res2 , emp2 )
}
tmpl5 . ExecuteTemplate ( w , "Index" , res2 )
///
} else {
rows2 , err := db . Query ( "SELECT wymiar, nazwa, data from wymiary where nazwa='waga' and id_uzytkownik=?" , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
emp2 := Wymiary { }
res2 := [ ] Wymiary { }
for rows2 . Next ( ) {
var wymiar int
var nazwa string
var data string
err = rows2 . Scan ( & wymiar , & nazwa , & data )
if err != nil {
panic ( err . Error ( ) )
}
emp2 . Wymiar = wymiar
emp2 . Nazwa = nazwa
emp2 . Data = data
res2 = append ( res2 , emp2 )
}
tmpl5 . ExecuteTemplate ( w , "Index" , res2 )
fmt . Println ( res2 )
}
}
}
2019-01-16 23:47:40 +01:00
func main ( ) {
db , err := sql . Open ( "mysql" , "finley:password@tcp(127.0.0.1:3306)/baza" )
2018-12-18 23:17:57 +01:00
if err != nil {
panic ( err . Error ( ) )
}
defer db . Close ( )
/ *
//wpisywanie do bazy
insert , err := db . Query ( "INSERT INTO trening_rzeczywisty VALUES ( 1, 1, 1, 22, 33, 44 )" )
if err != nil {
panic ( err . Error ( ) )
}
defer insert . Close ( )
* /
//wybieranie z bazy
/ * results , err := db . Query ( "SELECT login FROM uzytkownicy" )
if err != nil {
panic ( err . Error ( ) )
}
for results . Next ( ) {
var login string
err = results . Scan ( & login )
if err != nil {
panic ( err . Error ( ) )
}
fmt . Printf ( login )
} * /
/ *
//usuwanie wiersza z bazy
insertq , err := db . Query ( "DELETE FROM uzytkownicy WHERE id_uzytkownik=4" )
if err != nil {
panic ( err . Error ( ) )
}
defer insertq . Close ( )
* /
http . Handle ( "/static/" , http . StripPrefix ( "/static/" , http . FileServer ( http . Dir ( "static" ) ) ) )
http . HandleFunc ( "/wypisz/" , wypiszHandler )
2019-01-16 23:47:40 +01:00
http . HandleFunc ( "/logowanie" , logowanieHandler )
2018-12-18 23:17:57 +01:00
http . HandleFunc ( "/planer/" , planowanieTreningu )
2018-12-31 00:56:25 +01:00
http . HandleFunc ( "/cwiczenie/" , opisCwiczenia )
http . HandleFunc ( "/wyniki/" , wynikiHandler )
2019-01-16 23:47:40 +01:00
http . HandleFunc ( "/dodajcwiczenie/" , dodaj_cwiczenieHandler )
http . HandleFunc ( "/rejestracja/" , rejestracja )
2019-01-20 11:32:43 +01:00
http . HandleFunc ( "/wymiary/" , wymiary )
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
http . HandleFunc ( "/start/" , start )
http . ListenAndServe ( ":8099" , nil )
2018-12-18 23:17:57 +01:00
}