TC kimlik numaranızın geçerliliğini kontrol eden bir çalışma
yapacağız.Bunu nerelerde kullanabiliriz sorusu ilk olarak aklımıza
gelebilir.Genelde resmi kurumlarda gördüğümüz kayıt sırasında tc kimlik
numarası isteme gibi yerlerde sıkça görüyoruz.Bizim buradaki amacımız
TC Kimlik servisi hizmetine herhangi bir ücret ödemeden kendi
çalışmalarımız için kullanabiliriz.Yapacağımız işler matematiksel
işlemler ile girilen değerler arasındaki uygun sonuçların
karşılaştırılması ve işlemin sürecinin o aşamadan sonra belli olmasına
dayanıyor.Girilen TC Kimlik numaranısının
geçerli olup olmadığı kontrol ediliyor.
Bu projede asp.net ajax özelliklerinden
ajaxcontroltoolkit
eklentilerinin bazılarından yararlanılmıştır.Sisteminizde sorunsuz
çalışması için visual studio ya entegre olarak ajaxcontroltoolkit
paketinide yüklemeniz gerekiyor.Çalışmamız C# kullanılarak
hazırlandı.Geçerli olan sonuçlar bir
MSSQL veritabanına kaydediliyor.
Kimlik adında bir tablo ve
TcKimlikNo adında bir sutün oluşturmanız gerekiyor.
İlk olarak yeni bir web site projesi açıyoruz.Projemize bir
textbox , bir
button ve bir
label ekliyoruz.AJAX özelliklerinin çalışabilmesi için bir adet
ToolScriptManager ve
FilteredTextBoxExtender ekliyoruz.Hata mesajlarının kontrol için
RequiredFieldValidator
ekliyoruz ve uygun hata mesajlarını yazıyoruz.AJAX'ı kullanmamızdaki
amaçlardan biri de istenmeyen değerlerin girilmesini önlemek amacıyla
basit olarak kullanılmıştır.MaxLength değeri ile de 11 karakterden
fazla karakter girilmesi engellenmiştir.Örnek olarak oluşturduğumuz
default.aspx sayfası aşağıdaki yapıya benzeyecektir.
CODE
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="cc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TC Kimlik Doğrulama</title>
</head>
<body>
<center>
<form id="form1" runat="server">
<div>
<cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</cc1:ToolkitScriptManager>
<cc1:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server"
FilterType="Numbers" TargetControlID="TextBox1">
</cc1:FilteredTextBoxExtender>
<asp:Label ID="Label2" runat="server" Text="TC Kimlik Numaranızı Giriniz"></asp:Label>
<asp:TextBox ID="TextBox1" runat="server" MaxLength="11" style="text-align: justify" ></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click"
Text="Kontrol Et" style="text-align: center" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="TextBox1" ErrorMessage="Lütfen TC Kimlik Numaranızı
Giriniz"></asp:RequiredFieldValidator>
<asp:Label ID="Label1" runat="server"></asp:Label>
</div>
<p>
</p>
</form></center>
</body>
</html>
Default.aspx
dosyasının görünümünü kendi isteğinize göre uygun css yapıları
kullanarak şekillendirebilirsiniz.Ben temel olarak en basit halini
hazırladım.
Default.aspx.cs dosyasına geçiyoruz.Burada tüm
kontrol işlemlerini barındıracağız.Olumlu sonuçları bir mssql
veritabanına kaydettireceğiz.
CODE
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
int tckimlik;
tckimlik = Convert.ToInt32(TextBox1.Text.Substring(0, 1)) +
Convert.ToInt32(TextBox1.Text.Substring(1, 1)) +
Convert.ToInt32(TextBox1.Text.Substring(2, 1)) +
Convert.ToInt32(TextBox1.Text.Substring(3, 1)) +
Convert.ToInt32(TextBox1.Text.Substring(4, 1)) +
Convert.ToInt32(TextBox1.Text.Substring(5, 1)) +
Convert.ToInt32(TextBox1.Text.Substring(6, 1)) +
Convert.ToInt32(TextBox1.Text.Substring(7, 1)) +
Convert.ToInt32(TextBox1.Text.Substring(8, 1)) +
Convert.ToInt32(TextBox1.Text.Substring(9, 1));
string son = Convert.ToString(tckimlik).Substring(1, 1);
if (son == TextBox1.Text.Substring(10, 1))
{
Label1.Text = "GEÇERLİ";
SqlCommand cmd = new SqlCommand("INSERT INTO Kimlik (TcKimlikNo) VALUES (@TcKimlikNo) ", con);
cmd.Parameters.AddWithValue("@TcKimlikNo", TextBox1.Text);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
TextBox1.Text = "";
}
else
{
Label1.Text = "GEÇERSİZ";
TextBox1.Text = "";
}
}
}
Bir
Sqlconnection oluşturuyoruz ve web.config dosyasında oluşturacağınız
veritabanı bilgilerini ve connectionstringi burada kısaca tanıtmak için
kullanıyoruz.Button'un click click eventine kontrol işlemlerini
yazıyoruz.Textboxa girilen rakamları tek tek kontrol edip iç işlem
yapısında belirtilen algoritmaya uyup uymadığı kontrol ediliyor.Geçerli
olduğu takdirde veritabanımıza kaydediyor.Kolay Gelsin ...
Yazan: Olcay KÜK