Sitenizi Ziyaret Edenlerin IP Numaralarını Kaydetme

Arkadaşlar bu makalemizde sitenize giriş yapan ziyaretçilerin Ip numarasını gösterip, Access veritabanına kaydedeceğiz. Ziyaretci siteyi ilk ziyaret ettiği zaman şekil1 deki ekran ve mesaj gelecek.
 

Şekil 1

Daha sonra ziyaretcinin Ip numarası veritabanımıza kaydedilecek. (şekil2).
 

Şekil 2

Ziyaretci daha sonra siteyi ziyaret ettiği zaman veritabanındaki Ip numaraları ile karşılaştırılarak, kayıtlı Ip ise şekil3 teki ekran ve mesaj gelecek.
 

Şekil 3

Unutmadan; Sayfanıza
using System.IO;
using System.Net;
i eklemeyi unutmayın.

public partial class _Default : System.Web.UI.Page
{
string a,b,str;
private string GetHttpTxt(string URL)
{

Stream stm = HttpWebRequest.Create(URL).GetResponse().GetResponseStream();
return new StreamReader(stm, false).ReadToEnd();
}
protected void Page_Load(object sender, EventArgs e)
{
//ip numarasını sorgulatıp, buluyoruz.

a = (GetHttpTxt("http://whatismyip.com/automation/n09230945.asp"));



//Sorgu kısmı
//ip numarasını veritabanında aratıyoruz.
str = "Select * From ziyaretci_ip where ip_no=‘" + a + "‘";
System.Data.OleDb.OleDbConnection baglan = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("App_Data/uye.mdb") + ";");
System.Data.OleDb.OleDbDataAdapter adp =new System.Data.OleDb.OleDbDataAdapter();
adp.SelectCommand = new System.Data.OleDb.OleDbCommand(str, baglan);
System.Data.OleDb.OleDbCommandBuilder CB = new System.Data.OleDb.OleDbCommandBuilder(adp);
System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(str, baglan);

baglan.Open();
System.Data.DataSet ds = new DataSet();
System.Data.OleDb.OleDbDataReader dr;

adp.Fill(ds);
dr = cmd.ExecuteReader();

while (dr.Read())
{
string b;
b = dr.GetString(1);
//veya aşağıdaki gibi
//if (a == dr.GetString(1))
//ip numarası veritabanında mevxut ise;
if (a == b)
{
Response.Write("IP Numaranız: " + a);
Response.Write("< / br >");
Response.Write("Siteye daha önce bu ip no ile giriş yapmışsınız.");
return;
}
//else if (a != dr.GetString(1))
//veya aşağıdaki gibi
else if (a != b)
{
Response.Write("IP Numaranız: " + a);
Response.Write("< / br >");
Response.Write("Siteye bu ip no ile ilk girişiniz.");

}

}

dr.Close();
baglan.Close();

Response.Write("IP Numaranız: " + a);
Response.Write("< / br >");
Response.Write("Siteye bu ip no ile ilk girişiniz.");

//kaydetme işlemi
kayit();
}
void kayit()
{
//Eğer ziyaretçinin ip numarası veritabanımızda
//kayıtlı değil ise, ip numarasını kaydediyoruz...Bahadır
System.Data.OleDb.OleDbConnection baglan = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("App_Data/uye.mdb") + ";");
System.Data.OleDb.OleDbDataAdapter adp =new System.Data.OleDb.OleDbDataAdapter();
adp.SelectCommand = new System.Data.OleDb.OleDbCommand("Select * From ziyaretci_ip", baglan);
System.Data.OleDb.OleDbCommandBuilder CB = new System.Data.OleDb.OleDbCommandBuilder(adp);

baglan.Open();
System.Data.DataSet ds1 = new DataSet();
adp.Fill(ds1);
System.Data.DataRow rw1;

rw1 = ds1.Tables[0].NewRow();

int x1;
x1 = ds1.Tables[0].Rows.Count;

rw1["ip_no"] = a;

ds1.Tables[0].Rows.InsertAt(rw1, x1 + 1);
adp.Update(ds1);

baglan.Close();
}

}

//Bir sonraki makalede buluşmak üzere. Bahadır ŞAHİN

About Bahadır Şahin

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

0 comments:

Öne Çıkan Yayın

GridView da Seçili Satırı DetailsView da Göstermek

Merhaba arkadaşlar bu makalemizde GridView nesnesi ile birlikte DetailsView nesanesini birlikte kullanacağız. GridView da seçili satırın de...