예제 #1
0
        protected void Button1_Click(object sender, EventArgs e)
        {
            result.Text = "";
            if (uname.Text == "")
            {
                result.Text = "Invalid username!";
                return;
            }
            if (pw.Text != pw_repeat.Text)
            {
                result.Text = "Passwords does not match!";
                return;
            }
            using (SqlLayer sql = new SqlLayer())
            {
                if (CheckUsername(sql, uname.Text))
                {
                    result.Text = "Name already taken!";
                    return;
                }

                //OK, REGISZTRÁCIÓ
                string query = string.Format("INSERT INTO users VALUES(null,'{0}','{1}','',0)",
                                             uname.Text, MD5Hash(pw.Text));
                sql.Execute(query);
                result.Text = "REGISZTRÁLVA!";
            }
        }
예제 #2
0
        private bool CheckUsername(SqlLayer sql, string name)
        {
            MySqlDataReader data = sql.Query("SELECT * FROM users WHERE username='******'");


            bool taken = data.HasRows;

            data.Close();
            return(taken);
        }
예제 #3
0
        private bool Validate(String token)
        {
            using (SqlLayer sql = new SqlLayer()) // sql kapcsolat
                                                  //using végén bezár az sql kapcsolat
            {
                // Response.Write(sql.connectstring);
                MySqlDataReader data = sql.Query("select count(token) from users where token='" + token + "'");

                data.Read();
                return(data.GetInt32(0) == 1);
            }
        }
예제 #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.Form["token"] == null)
            {
                return;
            }
            Player user = new Player(Request.Form["token"].ToString());

            using (SqlLayer sql = new SqlLayer())
            {
                sql.Execute("UPDATE users SET token='' WHERE username='******'");
            }
        }
예제 #5
0
        //validate függvény megnézi, hogy pontosan 1 felhasználó tartozik e a megadott adatokhoz count lekérdezéssel
        private bool Validate(String user, String pass)
        {
            using (SqlLayer sql = new SqlLayer()) // sql kapcsolat
                                                  //using végén bezár az sql kapcsolat
            {
                // Response.Write(sql.connectstring);
                MySqlDataReader data = sql.Query("select count(username) from users where username='******' and password='******'");
                //data -bán lesz az adat. 1 sorból fog állni, hiszen count(username) selectet írtunk (1 sort ad vissza)

                data.Read(); //a jelenlegi pointert tovább mozgatjuk (első sorra lépünk)


                int count = data.GetInt32(0); //a jelenlegi sor 0-adik oszlopjára vagyunk kíváncsiak, ami egy int32

                return(count == 1);
            }
        }
예제 #6
0
        public Player(String username, String password) //loginhoz felhasználó jelszó kombinációval hívjuk meg
        {
            user   = username;
            status = Validate(username, password); //megnézzük, hogy helyes adatokat kaptunk e
            if (status == true)
            {
                token = CheckToken(username);  //megnézi, hogy létezik e már a token, ha igen beállítja tokennek
                if (token == "")
                {
                    token = GenerateToken(username); //ha még nincs token akkor generál

                    //berakja adatbázisba az új tokent
                    using (SqlLayer sql = new SqlLayer())
                    {
                        int newtoken = sql.Execute("update users set token='" + token + "' where username='******'");
                    }
                }
            }
        }
예제 #7
0
        //megnézi, hogy létezik e token az adott felhasználóhoz, lekérve a token mezőjét,
        // ha nincs üres Stringet ad vissza
        private String CheckToken(String username)
        {
            String token = "";

            using (SqlLayer sql = new SqlLayer()) // sql kapcsolat
                                                  //using végén bezár az sql kapcsolat
            {
                // Response.Write(sql.connectstring);
                MySqlDataReader dataReader = sql.Query("select token from users where username='******'");


                while (dataReader.Read())
                {
                    // (id, username, pass,token)

                    token = dataReader.GetString(0).ToString();
                }
            }
            return(token);
        }
예제 #8
0
        private String GetUser(String token)
        {
            String name = "";

            using (SqlLayer sql = new SqlLayer()) // sql kapcsolat
                                                  //using végén bezár az sql kapcsolat
            {
                // Response.Write(sql.connectstring);
                MySqlDataReader dataReader = sql.Query("select * from users where token='" + token + "'");


                while (dataReader.Read())
                {
                    // (id, username, pass,token,score)

                    name  = dataReader.GetString(1).ToString();
                    score = dataReader.GetInt32(4);
                }
            }
            return(name);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            using (SqlLayer sql = new SqlLayer()) // sql kapcsolat
            //using végén bezár az sql kapcsolat
            {
                // Response.Write(sql.connectstring);
                MySqlDataReader dataReader = sql.Query("select * from scores order by score desc");
                string          data       = "";

                while (dataReader.Read())
                {
                    // (id, username, score)

                    string name  = dataReader.GetString(1).ToString();
                    string score = dataReader.GetString(2).ToString();

                    data += name + "|" + score + "/";
                }

                data = data.Substring(0, data.Length - 1);

                Response.Write(data);
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            //megkapja tokent és a score-t


            if (Request.Form["token"] == null)
            {
                return;
            }
            string token = Request.Form["token"];


            // Ellenőrizzük az inputot
            int score = 0;

            if (Request.Form["score"] != null)
            {
                score = int.Parse(Request.Form["score"]);
            }
            Response.Write("Checking user..");

            //tokennel létrehozunk egy playert
            Player player = new Player(token);

            if (player.getStatus() == true)
            {
                //ha valid a token lekérjük a felhasználót
                String user     = player.getUser();
                int    oldScore = -1;

                int worstId = -1;

                int worstScore = -1;

                //lekérjük a legrosszabb játékos id, score párosát
                using (SqlLayer sql = new SqlLayer()) // sql kapcsolat
                                                      //using végén bezár az sql kapcsolat
                {
                    // Response.Write(sql.connectstring);
                    MySqlDataReader dataReader = sql.Query("select * from scores order by Score asc LIMIT 1");


                    while (dataReader.Read())
                    {
                        // (id, username, score)


                        worstId    = dataReader.GetInt32(0);
                        worstScore = int.Parse(dataReader.GetString(2).ToString());
                    }
                    dataReader.Close();
                    Response.Write("worst id: " + worstId);

                    //lekérjük a felhasználó eddigi legjobb eredményét
                    dataReader = sql.Query("select TopScore from users where username='******'");
                    while (dataReader.Read())
                    {
                        oldScore = int.Parse(dataReader.GetString(0).ToString());
                    }

                    dataReader.Close();
                    Response.Write("oldscore: " + oldScore);

                    //ha jobb eredményt ért el akkor frissítünk
                    if (oldScore < score)
                    {
                        Response.Write("new personal record: |" + score + "/");
                        int newscore = sql.Execute("update users set TopScore='" + score + "' where username='******'");
                    }

                    //ha jobb az eredmény mint a legrosszabb akkor lecseréljük a mostani eredményre.
                    if (score > worstScore)
                    {
                        Response.Write("new record: |" + score + "| place id: |" + worstId);
                        int updateboard = sql.Execute("update scores set Score='" + score + "', Name='" + user + "' where ID='" + worstId + "'");
                    }
                }
            }
        }