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!"; } }
private bool CheckUsername(SqlLayer sql, string name) { MySqlDataReader data = sql.Query("SELECT * FROM users WHERE username='******'"); bool taken = data.HasRows; data.Close(); return(taken); }
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); } }
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='******'"); } }
//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); } }
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='******'"); } } } }
//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); }
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 + "'"); } } } }