02 Mayıs 2011, 15:21 | #1 | |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | Aspx İle Basit Bir Forum Yapımı Default.aspx in source kismina asagidaki kodlari yaziyoruz. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. color="DimGray"> <html xmlns=" Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. color="DimGray"> <head id="Head1" runat="server"> <title>Basit Forum Uygulamasi</title> <script type="text/javascript" language="javascript"> // Kullanici Isimini yazip yazmadigini kontrol edip uyari Mesaji Veriyoruz. function Validate(theForm) { if (theForm.FrmKullaniciAdi.value == "") { alert("Lütfen isminizi yazin"); theForm.FrmKullaniciAdi.focus(); return (false); } return (true) } </script> </head> <body onload="javascript: document.form1.FrmKullaniciAdi.focus()"> <form id="form1" method="post" runat="server" onSubmit="return Validate(this)"> <table border="0" align="center" cellspacing="1" cellpadding="5"> <tr> <td width="100%" style="height: 94px"> <b>Foruma giriş Için Isminizi Yazin:</b> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td valign="top"> Isminiz : <asp:TextBox id="FrmKullaniciAdi" runat="server" Columns="15"></asp:TextBox> </td> <td valign="top" rowspan="2"> <asp Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. utton id="Button1" runat="server" OnClick="DoLogin" Text="Tamam"></asp Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. utton> </td> </tr> <tr> <td valign="top" align="right"> <asp:TextBox id="FrmSifre" Visible="False" runat="server" Columns="15" TextMode="Password"></asp:TextBox> </td> </tr> </table> </td> </tr> </table> </form> </body> </html> Daha sonra Default.aspx.cs ye asagidaki kodlari yaziyoruz. using System; using System.Data; using System.Data.OleDb; using System.Configuration; using System.Collections; 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; public partial class _Default : System.Web.UI.Page { public void DoLogin(object sender, System.EventArgs e) { if (FrmKullaniciAdi.Text == "admin") // Eger kullanici isminiz bölümüne admin yazarsa hemen alt kisminda sifre girilmesi için bölüm çikacaktir { if (FrmSifre.Text == "Sifre") // Altta çikacak bölüme Sifre yazilirsa { Session["KullaniciAdi"] = FrmKullaniciAdi.Text; Session["admin"] = "yes"; Response.Redirect("Konular.aspx") Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. / Kullaniciya Silme yetkisi verilerek konular bölümüne yönlendirir. } else { FrmSifre.Visible = true; // Eger Kullanici parolayi dogru girmezse izin vermez. } } else // Yukardaki kosullar olusmazsa yazilan adi hafizaya alarak Konular a yönlendirir. { Session["KullaniciAdi"] = FrmKullaniciAdi.Text; Response.Redirect("Konular.aspx"); } } } Simdi ise kullanıcının foruma konu eklemesi için KonuEkle.aspx i yaratalim <%@ Page Language="C#" AutoEventWireup="true" CodeFile="KonuEkle.aspx.cs" Inherits="KonuEkle" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. color="DimGray"> <html xmlns=" Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. color="DimGray"> <head id="Head1" runat="server"> <title>Konu Ekle</title> <script type="text/javascript" Language="JavaScript"> function Validate(theForm) { if (theForm.frmPost.value == "") { alert("Lütfen Yeni Konu Ismini Girin"); theForm.frmPost.focus(); return (false); } return (true) } </script> </head> <body> <form id="AddTopic" method="post" runat="server" onSubmit="return Validate(this)"> <h2> BasitForum </h2> <p> Ilkbasta Girilen Kullanici Adi Ile Foruma Yeni Konu Ekliyebiliyoruz </p> <div id="outError" runat="server"> <table cellpadding="5" cellspacing="1" border="0" class="DataTable"> <tr> <td class="TableItem"> Konu Yaratan : <asp:Label ID="FrmAdi" Runat="server"></asp:Label> <br /> Yeni Konu Adi : (Maksimum 255 Karakter ) <br /> <asp:TextBox id="frmPost" runat="server" TextMode="MultiLine" MaxLength="255" Columns="40" Rows="5"></asp:TextBox> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="100%" align="right"> <asp Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. utton onClick="DoAddTopic" Text="Ekle" Runat="server" id="Button1"></asp Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. utton> </td> </tr> </table> </td> </tr> </table> <br /> <a href="Konular.aspx">Konulara Geri Dön</a> </div> </form> </body> </html> Daha sonra KonuEkle.aspx.cs ye asagidaki kodlari yaziyoruz. using System; using System.Data; using System.Data.OleDb; using System.Configuration; using System.Collections; 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; public partial class KonuEkle : System.Web.UI.Page { private void Page_Load(object sender, System.EventArgs e) { // Kullanici Adini Kontrol Ediyoruz. if (Session["KullaniciAdi"].ToString().Length < 1) { Response.Redirect("default.aspx"); } FrmAdi.Text = "<b>" + Session["KullaniciAdi"].ToString() + "</b>"; } public void DoAddTopic(object sender, System.EventArgs e) { string strConnect = "Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=" + Server.MapPath(".\\db\\forum.mdb"); // veritabanı Baglanti Cümlesi string strInsert = "INSERT INTO Konular (KonuBasligi, KonuSahibi) VALUES ('" + frmPost.Text + "', '" + Session["KullaniciAdi"].ToString() + "')"; // Kullanici tarafindan yazilan Konu adini ve kullanicin adini veritabanımizdaki Konular tablosundaki KonuBasligi ve KonuSahibi bölümlerine ekliyoruz. try { //Yeni baglanti yaratiyoruz OleDbConnection objConnect = new OleDbConnection(strConnect); // veritabanı ile baglantiyi açiyoruz. objConnect.Open(); OleDbCommand objCommand = new OleDbCommand(strInsert, objConnect); objCommand.ExecuteNonQuery(); // veritabanı ile baglantiyi kapatiyoruz. objConnect.Close(); // Konular.aspx' e Yönlendiriliyor Response.Redirect("Konular.aspx", true); } catch (Exception objError) { //Hata varsa mesaj yazdiriyoruz. outError.InnerHtml = "<b>* veritabanına baglanti hatasi</b>.<br />" + objError.Message + "<br />" + objError.Source; return; } } } Simdi ise forumun konularinin listelenmesi için Konular. aspx i kodluyoruz. Konular. aspx in source kismina asagidaki kodlari yaziyoruz. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Konular.aspx.cs" Inherits="Konular" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. color="DimGray"> <html xmlns=" Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. color="DimGray"> <head id="Head1" runat="server"> <title>Konular</title> </head> <body> <form id="Form1" method="post" runat="server"> <h3> Basit Forum </h3> <div id="welcome" runat="server" /> <a href="KonuEkle.aspx">Yeni Konu Ekle</a> <p /> <div id="outError" runat="server"> <asp Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. ataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False" HeaderStyle-CssClass="TableHeader" AlternatingItemStyle-CssClass="AltTableItem" ItemStyle-CssClass="TableItem" CellPadding="4" ForeColor="#333333" GridLines="None"> <Columns> <asp:TemplateColumn HeaderText="Yazar"> <ItemTemplate> <asp:Label Runat='server' ID="lblAdminLink"> <%# DataBinder.Eval(Container.DataItem, "KonuSahibi") %> <% if (Session["admin"] == "yes") { %> <br> <a href="KayitSilme.aspx?T=T&ID=<%# DataBinder.Eval(Container.DataItem, "KonuID") %>"> Sil</a> <% } %> <br> </asp:Label> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="Konu"> <ItemTemplate> <asp:Label Runat='server' ID="lblSubject"> <a href="Mesajlar.aspx?ID=<%# DataBinder.Eval(Container.DataItem, "KonuID") %>&S=<%# DataBinder.Eval(Container.DataItem, "KonuBasligi") %>"> <%# DataBinder.Eval(Container.DataItem, "KonuBasligi") %> </a> </asp:Label> </ItemTemplate> </asp:TemplateColumn> <asp Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. oundColumn DataField="KonuTarihi" HeaderText="Yazildigi Tarih"></asp Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. oundColumn> </Columns> <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> <EditItemStyle BackColor="#2461BF" /> <SelectedItemStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" /> <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" /> <AlternatingItemStyle BackColor="White" /> <ItemStyle BackColor="#EFF3FB" /> <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> </asp Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. ataGrid> </div> </form> </body></html> Daha sonra Konular.aspx.cs ye asagidaki kodlari yaziyoruz. using System; using System.Data; using System.Data.OleDb; using System.Configuration; using System.Collections; 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; public partial class Konular : System.Web.UI.Page { public void Page_Load(object sender, System.EventArgs e) { if (Session["KullaniciAdi"] == null)// kullanıcının girişte yazmis oldugu isim veritabanından okunur { Response.Redirect("default.aspx"); } welcome.InnerHtml = "Merhaba " + Session["KullaniciAdi"] + ", yeni konu ekleyebilir veya mevcut olan konulara bakabilirsiniz.<P>"; ListKonular(); } public void ListKonular() { string strConnect = "Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=" + Server.MapPath(".\\db\\forum.mdb"); string strSelect = "SELECT * FROM Konular ORDER BY KonuTarihi DESC"; try { //Yeni baglanti yaratiyoruz OleDbConnection objConnect = new OleDbConnection(strConnect); //veritabanı ile baglantiyi açiyoruz objConnect.Open(); OleDbCommand objCommand = new OleDbCommand(strSelect, objConnect); OleDbDataReader objDataReader; objDataReader = objCommand.ExecuteReader(); DataGrid1.DataSource = objDataReader; DataGrid1.DataBind(); if (DataGrid1.Items.Count == 0) // Eger konuya mesaj yazilmamissa mesaj verdiriyoruz. { outError.InnerHtml = "Henüz Mesaj Yazilmamis.."; } //DataReader ve veritabanı Baglantisini Kapatiyoruz objDataReader.Close(); objConnect.Close(); } catch (Exception objError) { outError.InnerHtml = "<b>* veritabanına baglanti hatasi</b>.<br />" + objError.Message + "<br />" + objError.Source; //Hata varsa mesaj yazdiriyoruz. return; } } } Forum yetkilisinin istenmeyen konu veya mesajlari silmesi için KayitSilme.aspx i olusturalim <%@ Page Language="C#" AutoEventWireup="true" CodeFile="KayitSilme.aspx.cs" Inherits="KayitSilme" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. color="DimGray"> <html xmlns=" Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. color="DimGray"> <head id="Head1" runat="server"> <title>Kayit silme</title> </head> <body> <div id="outError" runat="server"> </div> </body> </html> KayitSilme.aspx.cs ye asagidaki kodlari yaziyoruz. using System; using System.Data; using System.Data.OleDb; using System.Configuration; using System.Collections; 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; public partial class KayitSilme : System.Web.UI.Page { private void Page_Load(object sender, System.EventArgs e) { string strConnect = "Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=" + Server.MapPath(".\\db\\forum.mdb"); // veritabanı Baglanti Cümlesi string strDELETE = "DELETE * FROM " Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. / String değer olusturuyor string strURL; if (Request.QueryString["T"] == "T") { strDELETE += "Konular WHERE KonuID = " + Request.QueryString["ID"]; // Silinecek konu KonuID sine bakilip silinmek üzere strDELETE degiskenine atanir. strURL = "Konular.aspx"; } else { strDELETE += "Mesajlar WHERE MesajID = " + Request.QueryString["ID"] Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. / Mesaj silmek için MesajID sine bakilip silinmek üzere strDELETE degiskenine atanir. strURL = "Mesajlar.aspx?ID=" + Request.QueryString["TID"] + "&S=" + Request.QueryString["S"]; } try { OleDbConnection objConnect = new OleDbConnection(strConnect); // Yeni baglanti yaratiyoruz objConnect.Open() Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. / veritabanı ile baglantiyi açiyoruz. OleDbCommand objCommand = new OleDbCommand(strDELETE, objConnect) Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. / Verilen silme işlemini yapiyoruz objCommand.ExecuteNonQuery(); objConnect.Close(); // veritabanı ile baglantiyi kapatiyoruz. Response.Redirect(strURL); } catch (Exception objError) { outError.InnerHtml = "<b>veritabanınia baglanti hatasi</b>.<br />" + objError.Message + "<br />" + objError.Source; //Hata varsa mesaj yazdiriyoruz. } } } Ve son olarak ta Mesajlar.aspx i olusturuyoruz. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Mesajlar.aspx.cs" Inherits="Mesajlar" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. color="DimGray"> <html xmlns=" Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. color="DimGray"> <head id="Head1" runat="server"> <title>Mesajlar</title> <script type="text/javascript" Language="JavaScript"> function Validate(theForm) { if (theForm.frmPost.value == "") { alert("Lütfen Mesajinizi Yaziniz."); theForm.frmPost.focus(); return (false); } return (true) } </script> </head> <body> <form id="AddPosting" method="post" runat="server" onSubmit="return Validate(this)"> <h2> Basit Forum</h2> <div ID="KonuBasligi" Runat="server"> </div> <p> Ilkbasta Girilen Kullanici Adi Ile Foruma Yeni Mesaj Ekliyoruz </p> <div id="Div1" runat="server"> <table cellpadding="5" cellspacing="1" border="0" class="DataTable"> <tr> <td class="TableItem"> Mesaj Yazan : <asp:Label ID="FrmAdi" Runat="server"></asp:Label> <br /> Yeni mesaj : (Maksimum 255 Karakter ) <br /> <asp:TextBox id="frmPost" runat="server" TextMode="MultiLine" MaxLength="255" Columns="40" Rows="5"></asp:TextBox> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="100%" align="right"> <asp Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. utton onClick="DoAddPost" Text="Ekle" Runat="server" id="Button1" CssClass="button"></asp Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. utton> </td> </tr> </table> </td> </tr> </table> <br /> <a href="Konular.aspx">Konulara Geri Dön</a> <br /> </div> <div id="outError" runat="server"> <asp Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. ataGrid EnableViewState="False" DataKeyField="MesajID" id="DataGrid1" runat="server" AutoGenerateColumns="False" HeaderStyle-CssClass="TableHeader" AlternatingItemStyle-CssClass="AltTableItem" ItemStyle-CssClass="TableItem" CellPadding="4" ForeColor="#333333" GridLines="None"> <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White"></HeaderStyle> <PagerStyle NextPageText="Next >" PrevPageText="< Prev" BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center"></PagerStyle> <AlternatingItemStyle BackColor="White"></AlternatingItemStyle> <ItemStyle BackColor="#EFF3FB"></ItemStyle> <Columns> <asp:TemplateColumn HeaderText="Yazar"> <ItemTemplate> <asp:Label Runat='server' ID="lblAdminLink"> <%# DataBinder.Eval(Container.DataItem, "MesajiYaratan") %> <% if (Session["admin"] == "yes") { %> <br> <a href="KayitSilme.aspx?S=<%# Request.QueryString["S"] %>&TID=<%# Request.QueryString["ID"] %>&T=P&ID=<%# DataBinder.Eval(Container.DataItem, "MesajID") %>"> Sil</a> <% } %> <br> </asp:Label> </ItemTemplate> </asp:TemplateColumn> <asp Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. oundColumn DataField="Mesaj" HeaderText="Mesaj"></asp Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. oundColumn> <asp Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. oundColumn DataField="MesajTarihi" HeaderText="Yazildigi Tarih"></asp Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. oundColumn> </Columns> <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> <EditItemStyle BackColor="#2461BF" /> <SelectedItemStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" /> </asp Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. ataGrid> </div> </form> </body> </html> Mesajlar.aspx.cs ye asagidaki kodu yaziyoruz. using System; using System.Data; using System.Data.OleDb; using System.Configuration; using System.Collections; 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; public partial class Mesajlar : System.Web.UI.Page { private void Page_Load(object sender, System.EventArgs e) { if (Session["KullaniciAdi"] == null) { Response.Redirect("default.aspx"); } FrmAdi.Text = "<b>" + Session["KullaniciAdi"].ToString() + "</b>"; ListMesajlar(); } private void ListMesajlar() { string strConnect = "Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=" + Server.MapPath(".\\db\\forum.mdb"); string strSelect = "SELECT * "; strSelect += "FROM Mesajlar "; strSelect += "WHERE KonuID=" + Request.QueryString["ID"] + " "; strSelect += "ORDER BY MesajTarihi DESC;"; try { OleDbConnection objConnect = new OleDbConnection(strConnect); objConnect.Open(); OleDbCommand objCommand = new OleDbCommand(strSelect, objConnect); OleDbDataReader objDataReader; objDataReader = objCommand.ExecuteReader(); DataGrid1.DataSource = objDataReader; DataGrid1.DataBind(); if (DataGrid1.Items.Count == 0) { outError.InnerHtml = "Henüz Mesaj Yazilmamis.."; } KonuBasligi.InnerHtml = "<h4>" + Request.QueryString["S"] + "</h4>"; objDataReader.Close(); objConnect.Close(); } catch (Exception objError) { outError.InnerHtml = "<b>* veritabanına baglanti hatasi</b>.<br />" + objError.Message + "<br />" + objError.InnerException + "<P>" + objError.Source + "<P>" + objError.StackTrace + "<P>" + strSelect; return; } } public string AdminVisible() { if (Session["admin"] == "yes") { return " Visible=true"; } else { return ""; } } public void DoAddPost(object sender, System.EventArgs e) { string strConnect = "Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=" + Server.MapPath(".\\db\\forum.mdb"); string strInsert = "INSERT INTO Mesajlar (Mesaj, MesajiYaratan, KonuID) VALUES ('" + frmPost.Text + "', '" + Session["KullaniciAdi"].ToString() + "', " + Request.QueryString["ID"] + " )"; try { OleDbConnection objConnect = new OleDbConnection(strConnect); objConnect.Open(); OleDbCommand objCommand = new OleDbCommand(strInsert, objConnect); objCommand.ExecuteNonQuery(); objConnect.Close(); Response.Redirect("Mesajlar.aspx?ID=" + Request.QueryString["ID"] + "&S=" + Request.QueryString["S"], true); } catch (Exception objError) { outError.InnerHtml = "<b>* veritabanına baglanti hatasi</b>.<br />" + objError.Message + "<br />" + objError.Source; return; } } } Alıntıdır. | |
|
Etiketler |
aspx, basit, yle |
Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
Seçenekler | |
Stil | |
| |
Benzer Konular | ||||
Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
Basit Ziyaretçi Defteri Yapımı | Sarya | PhpBB | 0 | 10 Temmuz 2021 02:32 |
Basit Ziyaretçi Defteri Yapımı | Sarya | PhpBB | 0 | 02 Nisan 2021 14:34 |
Basit ebru yapımı | Ecrin | Okul Öncesi Deneyler | 0 | 16 Ocak 2016 19:36 |
Basit Elektrik Motoru Yapımı | YapraK | Fizik | 0 | 11 Mayıs 2009 22:49 |
Basit Banner Yapımı | PaYanDA | Bilgisayar Donanımı | 5 | 23 Mart 2006 03:47 |