ASP Dersleri - Google Fan Webmaster Forum
Google Fan Webmaster Forum  

Geri Dön   Google Fan Webmaster Forum > Server Side Programlama > ASP

ASP Script sorunları yardım paylaşım bölümü

Cevapla
 
LinkBack Konu Seçenekleri
  #1 (permalink)  
Eski 01-04-2008, 16:29:52
Dogann - ait Avatar
 
İstanbul Avrupa Şubesi
Mesajlar: 700
Thanks: 0
Thanked 0 Times in 0 Posts
iTrader Puanı: (0)
iTrader Feedback: (0%)
Rep puanı: 28
Dogann isimli üyemiz hakkına hiçbir bilgimiz yok.
Tanımlı ASP Dersleri

Arkadaşlar yararlı bulduğum ASP Derslerini sizlerle paylaşacağım.
Alıntı ile Cevapla
  #2 (permalink)  
Eski 01-04-2008, 16:31:25
Dogann - ait Avatar
 
İstanbul Avrupa Şubesi
Mesajlar: 700
Thanks: 0
Thanked 0 Times in 0 Posts
iTrader Puanı: (0)
iTrader Feedback: (0%)
Rep puanı: 28
Dogann isimli üyemiz hakkına hiçbir bilgimiz yok.
Tanımlı Klasik ASP ile Bileşen Testi

Code:
<%@Language=”JavaScript” EnableSessionState=”false” %>
<%
//Response.ContentType = “application/xhtml+xml;charset=ISO-8859-9″
var accept = String(Request.ServerVariables(”HTTP_ACCEPT”));
var ua = String(Request.ServerVariables(”HTTP_USER_AGENT”));
if (accept != null && ua != null) {
if (accept.indexOf(”application/xhtml+xml”) >=0 || ua.indexOf(”W3C_Validator”) >= 0) {
Response.ContentType = “application/xhtml+xml;charset=ISO-8859-9″;
}
}
%>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1//EN” “http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”tr”>
<head>
<meta http-equiv=”content-type” content=”application/xhtml+xml; charset=iso-8859-9″ />
<title>ASP JavaScript Veritabanı test sayfası</title>
<meta name=”generator” content=”Notepad, see http://www.microsoft.com/windows/” />
</head>
<body>
<div>
<% // Öncelikle bir fonksiyona ihtiyacımız var.
// Bu fonksiyon nesneleri oluşturup sonra silecek ve hata olursa bize geri bildirim yapacak
function Detect(name)
{
try {
var obj = Server.CreateObject(name);
/*if (obj != null) return true;// Ulaşılamaz kod algılandı
delete obj;
obj = null;*/
var s = true; // Kestirme kod fakat bellek açısında verimli…
if (obj != null) {
delete obj;
obj = null;
}
return s;
}
catch (e) {return false;}
return false;
}
var objeler = new Array(”ADODB.Connection”, “ADODB.Recordset”, “CDONTS.NewMail”);
for (var i = 0; i < objeler.length; i++)
{
Response.Write( Detect(objeler[i]) ? “Yüklü” : “Yüklü Değil” );
}
%>
</div>
</body>
</html>
objeler dizisine dikkat edin. Burda bize gerekli olan sınıfları bir dizi içine koydukki daha sonra bu diziden adlarını alarak işlem yapalım ayrıca buraya istediğiniz sınıflarıda girebilirsiniz.

İşte bukadar. hatta bazı programcılar (benim gibi mesela) Scripting.Dictionary nesnesi ile otomatik COM destekli diziler oluşturabilirler fakat gereksiz. Gerekli neden çünkü nesnelerin adları ile oluşturma adları farklı olduğundan. Anlatmak istediğim CDONT mesela yada ADODB biz şimdi ADODB.Recordset ile kayıtseti oluşturuyoruz ama bahsettiğimiz zamanda ADODB yada ADO diye söylüyoruz kısacası Scripting.Dictionary nesnesinin Add metoduna iki tane parametre girilerek istediğiniz gibi bir biçimleme oluşturabilirsiniz. ozaman kodumuz şöyle olurdu
Code:
var objeler = Server.CreateObject(”Scripting.Dictionary”);
objeler.Add(”ADO”, “ADODB.Connection”);
yada objeler.Add(”ADO”, “ADODB.Recordset”);
hatta objeler.Add(”CDONTS”, “CDONTS.NewMail”);
sonrada kodumuzda ufak bir değişiklikle
Code:
for (var i = 0; i < objeler.Count; i++)
{
Response.Write( Detect(objeler.Items[i]) ? objeler.Keys[i] + “Yüklü” : objeler.Keys[i] + “Yüklü Değil” );
}
Alıntı ile Cevapla
  #3 (permalink)  
Eski 01-04-2008, 16:32:12
Dogann - ait Avatar
 
İstanbul Avrupa Şubesi
Mesajlar: 700
Thanks: 0
Thanked 0 Times in 0 Posts
iTrader Puanı: (0)
iTrader Feedback: (0%)
Rep puanı: 28
Dogann isimli üyemiz hakkına hiçbir bilgimiz yok.
Tanımlı Asp Sistem Hatalari Ve Sebepleri

ASP sistemlerde sıkça karşılaştığımız hataların çözüm yollarını bu başlık altına toplamaya çalişacam.
Hata Tipi:”Active Server Sayfaları, ASP 0116 (0×80004005) Komut yazıları bloğunda etiketin sonu eksik (%>).”
Sebebi: Kodlarınızı “%>” ile kapatmamışsınız.
Çözüm: “%>” yazınız.
Hata Tipi: “Microsoft VBScript derleme hatası (0×800A03F6) ‘End’ gerekli”
Sebebi: if kontrol kodunu bitirmemişsiniz.
Çözüm: Gereken yere “end if” yazın.

Hata Tipi: “Microsoft VBScript derleme hatası (0×800A0409) Sonlandırılmamış dize sabiti”
Sebebi: Çift tırnak (”) yazmamışsınız.Veya çok fazla yazmışsınız.
Çözüm: Kodları inceleyerek tırnakları düzeltiniz.
Hata Tipi: “Microsoft VBScript çalışma hatası (0×800A000D) Tür uyumsuz: ‘a’”
Sebebi: Eğer bir sayı ve metin ile matematiksel işlem yapmak isterseniz veya tarih değelerinde yanlış bir işlem yapmaya kalkarsanız alırsınız.
Çözüm: Yapmak istediğiniz işlemi kontrol ediniz.Değişken türlerini tekrar gözden geçirin.
Hata Tipi: “Server nesnesi, ASP 0177 (0×800401F3) Geçersiz ProgID Bu iletiyle ilgili daha fazla bilgi için, lütfen aşağıdaki adresten Microsoft Online Support sitesini ziyaret edin: http://www.microsoft.com/content********.asp.”
Sebebi: Sunucunuzun desteklemediği bir objeyi yaratmak istemişsiniz.
Çözüm: Obje adını kontrol edin, sunucunun desteklediğinden emin olun
Hata Tipi: “Microsoft OLE DB Provider for ODBC Drivers (0×80004005) [Microsoft][ODBC Driver Manager] Veri kaynağı adı bulunamadı ve varsayılan sürücü belirtilmemiş”
Sebebi: DSN adını yanlış yazdınız veya DSN tanımlamadınız.Ya da DSN-Less bağlantı kodu yanlış.
Çözüm: DSN adını kontrol edin veya DSN-Less bağlantı kodunu gözden geçirin.
Hata Tipi: “Microsoft OLE DB Provider for ODBC Drivers (0×80004005) [Microsoft][ODBC Microsoft Access Sürücüsü]Genel hata ‘Temporary (volatile) Jet DSN for process 0×140 Thread 0×5ec DBC 0×13679bc Jet’ kayıt defteri anahtarı açılamadı.”
Sebebi: Belirttiğiniz adreste veritabanı bulunamadığında çıkar.
Çözüm: Yazdığınız yolu veya veritabanını kontrol ediniz.
Hata Tipi: “Microsoft OLE DB Provider for ODBC Drivers (0×80040E14) [Microsoft][ODBC Microsoft Access Sürücüsü] SELECT deyimi, saklı bir sözcük veya yanlış yazılmış veya eksik bir bağımsız değişken içeriyor veya noktalama işareti yanlış”
Sebebi: Yazdığınız SQL kodunda bir sorun var. (Burada * çıkarıldı)
Çözüm: Yazdığınız SQL kodunu kontrol ediniz.
Hata Tipi: “ADODB.Recordset (0×800A0BB9) Yanlış türdeki değişkenler kabul edilebilir aralık dışında veya bir başkasıyla çakışan bağımsız değişkenler kullanılıyor”
Sebebi: Recordset’i açmaya çalıştığımız Connection adı bulunamadı veya connection açılmadı.Başka bir sebepte SQL kodu bulunamadı.
Çözüm: Connection’ı açın veya adını kontrol edip, düzeltin.Ya da SQL kodunu yazdığınızdan emin olun.
Hata Tipi: “ADODB.Recordset (0×800A0CC1) Öğe, istenen ad veya sıra sayısı ile ilişkili derleme içinde bulunamıyor”
Sebebi: Alan adı bulunamıyor.Ekrana yazdırmak istediğiniz veya kullanmak istediğiniz alan adı tabloda yok.
Çözüm: Yazdığınız alan adını kontrol edin, tablonun bu adda bir alan içerdiğinden emin olun.
Hata Tipi: “Microsoft OLE DB Provider for ODBC Drivers (0×80040E10) [Microsoft][ODBC Microsoft Access Sürücüsü] Çok az parametre. 1 bekleniyor.”
Sebebi: SQL kodu içinde işleme tabi tutmak istediğiniz alan yok.
Çözüm: Yazdığın alan adını kontrol edin, tablonun böyle bir alan içerdiğinden emin olun.
Alıntı ile Cevapla
  #4 (permalink)  
Eski 01-04-2008, 16:33:59
Dogann - ait Avatar
 
İstanbul Avrupa Şubesi
Mesajlar: 700
Thanks: 0
Thanked 0 Times in 0 Posts
iTrader Puanı: (0)
iTrader Feedback: (0%)
Rep puanı: 28
Dogann isimli üyemiz hakkına hiçbir bilgimiz yok.
Tanımlı ASP.NET’te Güvenlik

Internet uygulamaları geliştirilirken dikkat edilmesi gereken en önemli unsurlardan birisi güvenliktir. Kullanıcıların yetki seviyeleri, yani rollerine göre gerçekleştirebileceği işlemler denetlenebilmeli, yetkisi olmayan kullanıcılar ise engelenebilmelidir.

ASP.NET teknolojisinde güvenlik iki kısımdan oluşmaktadır, bunlar gerçekliğin doğrulanması (�authentication�) ve yetki kontroludur �(authorization)�. Gerçekliğin doğrulanması işlemi, kullanıcı adı ve şifre bilgilerinin doğru olup olmadığının ilgili kullanıcı bilgilerini saklayan yapının denetlenerek bulunmasıdır. Gerçekliğin doğrulanması işlemi başarı ile sonuçlanırsa, yetki kontrol işlemi aracılığı ile kullanıcının ilgili kaynaklara erişip erişemeyeceğine karar verilmektedir. ASP.NET kod içerisinde de kullanıcı kimliğini kullanarak yetkiye göre davranış sergileyebilmektedir. Buna kişileştirme (�impersonation�) denilmektedir.


Özetlemek gerekirse güvenlik 3. adım seçimlik olmak üzere üç adımdan oluşmaktadır;

<!–[if !supportLists]–> 1) <!–[endif]–> Kullanıcı Gerçekliğinin Doğrulanması

<!–[if !supportLists]–> 2) <!–[endif]–> Kullanıcı Yetkilerinin Kontrolü

<!–[if !supportLists]–> 3) <!–[endif]–> Kullanıcı için kişileştirilme (�User Impersonation�), uygulama istekte bulunan kullanıcının tipine göre kod çalıştırmaktadır.

ASP.NET teknolojisinde gerçekliğin doğrulanması işlemi üç farklı yapı içerisinde sağlanabilmektedir. Bu yapılar şunlardır;

<!–[if !supportLists]–> a) <!–[endif]–> �Form-Based Authentication�

<!–[if !supportLists]–> b) <!–[endif]–> �Windows Authentication�

<!–[if !supportLists]–> c) <!–[endif]–> �Passport Authentication�

Bu makalede �Form-Based Authentication� hakkında detaylı bilgi verilecektir. Bunun sebebi yukarıdaki üç yaklaşım arasından en esnek olanı olmasından dolayıdır. Bu esnekliği sağlayan kendimize ait HTML formları oluşturabilmemiz ve işlemi kontrol edebilmemizdir.

�Form-Based Authentication� yapısında gerçekliğin doğrulanması işlemi için �cookie� ler kullanılmaktadır. Gerçekliğin doğrulanması işlemini gerektiren isteklerde bulunulduğunda (Örneğin sanal alışveriş sitesinde alınacak ürün seçildikten sonra ödeme işlemini sadece sisteme kayıtlı kullanıcıların yapması) kullanıcı �HTML Login� formuna yönlendirilmektedir. Kullanıcı adı ve şifre bilgileri girildikten sonra bu bilgilerin doğru olup olmadığı sistem tarafından ilgili kaynakların (kullanıcı bilgilerinin saklandığı veritabanı veya XML dosya veya web.config dosyası…) taranması aracılığı ile tespit edilmektedir. Bilgilerin doğru olması durumunda kullanıcı kimliğini belirten bir cookie yaratılmaktadır. Daha sonraki istekler için bu cookie kontrol edilmektedir.


Gerçekliğin doğrulanması işleminin aktif hale getirilmesi için web.config dosyası içerisinde, <security> bölümü altındaki <authentication> öğesi biçimlendirilmelidir.
Code:
<configuration>
<system.web>
<security>
<authentication mode=”Forms”>
</authentication>
</security>
</system.web>
</configuration>
Gerçekliğin doğrulanması işleminin ardından kullanıcının erişim kontrolleri yine web.config dosyası kullanılarak denetlenebilmektedir. ASP.NET kullanıcı tipine göre (�role-based security�) güvenliği de desteklemektedir. Bu konu hakkında detaylı bilgi verilecektir.

�Form-Based Authentication�
Bu kısımda �Form-based authentication� örnekler ile açıklanacaktır. İlk örnekte kullanıcı adı ve şifreler web.config dosyasında saklanacak, böylelikle cookie tabanlı gerçekliğin doğrulanması işlemine kolay bir bakış açısı sağlanacak, ikinci örnekte ise fonksiyonelliği arttırmak amacı ile kullanıcı adı ve şifreler bir veritabanı tablosuna taşınacaktır.

1.Örnek

Bu örnek 3 ayrı dosyadan oluşmaktadır. Bunlar web.config, default.aspx ve login.aspx dosyalarıdır.

web.config
———–
Code:
<configuration>
<system.web>
<authentication mode=”Forms”>
<forms name=”.ASPXUSERDEMO” loginUrl=”login.aspx” 
protection=”All” timeout=”60″>
<credentials passwordFormat=”Clear” >
<user name=”hersh” password=”bhasin”/>
<user name=”joe” password=”smith”/>
<user name=”test” password=”user”/> 
</credentials>
</forms>
</authentication>
<authorization>
<deny users=”?” />
</authorization>
<globalization requestEncoding=”UTF-8″ responseEncoding=”UTF-8″ />
</system.web>
</configuration>
Yukarıdaki örnekte görüldüğü gibi gerçekliğin doğrulanması (�authentication�) ve yetki kontrolü (�authorization�) ayrı öğeler içerisinde gösterilmiştir. Kullanıcı adları ve şifreler web.config dosyası içerisinde tanımlanmış, ve cookie içerisinde tanımlı kullanıcı adı bulunmaması durumunda �login.aspx� dosyasına yönlendirilme <forms> �tag� i içerisinde belirtilmiştir.

<authorization> bölümü içerisinde <deny> ve <allow> olmak üzere iki bölüm yaratılabilmektedir.

<deny users= �?�/> satırı ile cookie (bu cookie ileride gösterilecek kod örneklerinde daha iyi bir şekilde anlaşılabilecek olan �authentication� işleminin başarılı geçmesi durumunda bir değer taşıyan cookie�dir) içerisinde bir değer bulunmaması durumunda bu kullanıcıyı reddet emri sisteme verilmektedir.

Login.aspx
Code:
<%@ Import Namespace=”System.Web.Security ” %>
<html>
<script language=”VB” runat=server>
public void Login_Click(object Src,EventArgs e)
{
if(FormsAuthentication.Authenticate(UserName.Value,UserPass.Value) 
{
FormsAuthentication.SetAuthCookie(UserName.Value,false);
Response.Redirect(”default.aspx”);
}
else
{ 
Msg.Text = “Yanlış kullanıcı adı veya şifre: Yeniden deneyiniz.“
} 
} 
</script>
<body>
<form runat=server>
<h3><font face=”Verdana”>Login Page</font></h3>
<table>
<tr>
<td>User Name:</td>
<td><input id=”UserName” type=”text” runat=server/></td>
<td><asp:RequiredFieldValidator ControlToValidate=”UserName” Display=”Static” ErrorMessage=”*” runat=server/></td>
</tr>
<tr> 
<td>Password:</td>
<td><input id=”UserPass” type=password runat=server/></td>
<td><asp:RequiredFieldValidator ControlToValidate=”UserPass” Display=”Static” ErrorMessage=”*” runat=server/></td>
</tr>
</table>
<asp:button text=”Login” OnClick=”Login_Click” runat=server/> 
<asp:Label id=”Msg” ForeColor=”red” Font-Name=”Verdana” Font-Size=”10″ runat=server />
</form>
</body>
</html>
<%@ Import Namespace=”System.Web.Security ” %>

<html>

<script language=”VB” runat=server>

public void Login_Click(object Src,EventArgs e)
{
if(FormsAuthentication.Authenticate(UserName.Value ,UserPass.Value)
{
FormsAuthentication.SetAuthCookie(UserName.Value,f alse);
Response.Redirect(”default.aspx”);
}
else
{
Msg.Text = “Yanlış kullanıcı adı veya şifre: Yeniden deneyiniz.“
}
}

</script>

<body>

<form runat=server>
<h3><font face=”Verdana”>Login Page</font></h3>
<table>
<tr>
<td>User Name:</td>
<td><input id=”UserName” type=”text” runat=server/></td>
<td><asp:RequiredFieldValidator ControlToValidate=”UserName” Display=”Static” ErrorMessage=”*” runat=server/></td>
</tr>
<tr>
<td>Password:</td>
<td><input id=”UserPass” type=password runat=server/></td>
<td><asp:RequiredFieldValidator ControlToValidate=”UserPass” Display=”Static” ErrorMessage=”*” runat=server/></td>
</tr>
</table>
<asp:button text=”Login” OnClick=”Login_Click” runat=server/>
<asp:Label id=”Msg” ForeColor=”red” Font-Name=”Verdana” Font-Size=”10″ runat=server />
</form>
</body>
</html>
Yukarıdaki kodda kritik olarak incelenmesi gereken kısım aşağıdadır;

public void Login_Click(object Src,EventArgs e)
{
if(FormsAuthentication.Authenticate(UserName.Value ,UserPass.Value)
{
FormsAuthentication.SetAuthCookie(UserName.Value,f alse);
Response.Redirect(”default.aspx”);
}
else
{
Msg.Text = “Yanlış kullanıcı adı veya şifre: Yeniden deneyiniz.“
}
}

Bu metodta kullanılan �FormsAuthentication� sınıfı System.Security içerisinde bulunan ve �forms-based authentication� işlemlerinde kullanılan sınıftır. �Authenticate� metodu ile girilen kullanıcı adı ve şifrenin web.config dosyasında tanımlı olan şifreler ile eşleşip eşleşmediğine bakılmaktadır. Eğer eşleşme doğru ise ilgili cookie değerine kullanıcı adı atanmakta ve sayfa yönlendirilmektedir. Eşleşmenin yanlış olması durumunda kullanıcı uyarılmaktadır.

Buraya kadar olan kısmı bir örnek ile özetlemek gerekirse;

1) <!–[endif]–> Gerçekliğin doğrulanması işlemine ihtiyaç duyulduğu zaman hangi sayfaya gidilmesi gerektiği tanımlanır;

<forms name=”.ASPXUSERDEMO” loginUrl=”login.aspx” protection=”All” timeout=”60″>

2) <!–[endif]–> web.config dosyasında kullanıcı adları ve şifreleri tanımlanır

<credentials passwordFormat=”Clear” >

<user name=”hersh” password=”bhasin”/>

<user name=”joe” password=”smith”/>

<user name=”test” password=”user”/>

</credentials>

3) <!–[endif]–> İlgili yetki tanımları yapılır

<authorization>

<deny users=”?” />

</authorization>

4) <!–[endif]–> Gerçekliğin doğrulanması işleminin başarılı olup olmadığını kontrol eden kod eklenir. (Login_Click metodu)

2.Örnek

Bu örnekte daha önceden de belirtildiği gibi kullanıcı adı ve şifreler veritabanındaki bir tablodan alınacaktır.

Kod olarak �MSPetshop� uygulamasından yararlanılmaktadır.

Web.config dosya yapısı
Code:
……
…… 
<authentication mode=”Forms”>
<forms name=”PetShopAuth” loginUrl=”SignIn.aspx” protection=”None” path=”/” />
</authentication>
</system.web>
<!– set secure paths –>
<location path=”EditAccount.aspx”>
<system.web>
<authorization>
<deny users=”?” />
</authorization>
</system.web>
</location>
<location path=”OrderBilling.aspx”>
<system.web>
<authorization>
<deny users=”?” />
</authorization>
</system.web>
</location>
</configuration>
Yukarıdaki örnekte de görüldüğü gibi, kullanıcı adı ve şifre tanımı web.config dosyasında yapılmamıştır. İlk örnekten bir diğer farkı ise gerçekliğin doğrulanması işleminin tüm sayfalar yerine sadece iki sayfa için (�EditAccount.aspx� ve �OrderBilling.aspx�) tanımlanmış olmasıdır. Bu sayfalara erişmek isteyen kullanıcılar eğer sisteme kayıtlanmadılar ise �Signın.aspx� dosyasına yönlendirileceklerdir.

SignIn.aspx.cs Dosyası
……………………………
Code:
private void btnSubmit_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
if (Page.IsValid == true)
{
Customer customer = new Customer();
string customerID = customer.Login(txtUsername.Text, txtPassword.Text);
if (customerID != null)
{
Response.Cookies[”CustomerID”].Value = customerID; FormsAuthentication.SetAuthCookie(customerID, false);
Response.Redirect(”VerifySignIn.aspx”); 
}
else
{ 
lblErrorMessage.Visible = true;
}
}
}
…..
Yukarıdaki kod örneği SignIn.aspx sayfasındaki kullanıcı adı ve şifre bilgileri girildikten sonra çalışan kodu göstermektedir. �Customer.login� çağrımı ile girilen değerlerin veritabanında olup olmadığına bakılmakta, eğer var ise �customerID� değişken değeri �null� değerinden farklı gelmekte, böylelikle gerçekliğin doğrulanması işleminin tamamlanabilmesi için gerekli olan kod (�FormsAuthentication.SetAuthCookie(customerI D, false);�) satırının bulunduğu �if bloğuna girilmektedir.

Konu Dogann tarafından (01-04-2008 Saat 16:36:54 ) de değiştirilmiştir..
Alıntı ile Cevapla
  #5 (permalink)  
Eski 01-04-2008, 16:37:42
Dogann - ait Avatar
 
İstanbul Avrupa Şubesi
Mesajlar: 700
Thanks: 0
Thanked 0 Times in 0 Posts
iTrader Puanı: (0)
iTrader Feedback: (0%)
Rep puanı: 28
Dogann isimli üyemiz hakkına hiçbir bilgimiz yok.
Tanımlı ASP, Tarih, Veritabanı

HTML ilk olarak uğraşmaya başladığımda bir yere bir tarih yazmak istediğimde <b>30.12.3002 Perşembe</b> yazmam yeterli oluyordu. Ama sayfa ve güncelleme sayısı arttıkça bu ve bu gibi işler içinden çıkılmaz bir hal almaya başlamışlardı. Oldukça uzun bir süre böyle cebelleştik. Ama gün geldi “ve Microsoft, ASP’ yi yarattı.” Artık hiçbir şey eskisi gibi değildi. Her şey çoook güzeldi.
Ama bir gün, iş evimde kendi ülke ayarlarımdan farklı bir sunucuda dosyalarımı host etmeye geldiğinde ASP ile yazdığım sitenin çuvalladığını gördüm. Tarihler 30.12.3002 değil de 12/30/2002 şeklinde çıkmaya başladı. (Titiz bir insan için önemli bir problem.)

İşte o zaman bir karar verdim. “Ne gerek var, bu tarih formatına” dedim. Tamam işler daha kolaydı. İşimi kolaylaştıran bir çok artısı vardı. Ama karşı sunucuda işler umduğum gibi gitmiyordu. Böylece tarihleri kendi formatımda saklamaya ve gerekli dönüşüm fonksiyonları ile ekrana yazdırmaya başladım. VB Script’ in Mid() fonksiyonu bu işler için tam biçilmiş kaftandı.
Tarihleri, artık veritabanında tarih tipinde değil metin tipinde 8 karakterlik bir alanda saklamaya başlamıştım. Sıralamada sorun yaşamamak için YILAYGUN (30021230) şeklini benimsedim. 2 karakter deyip geçmemek gerek. Biraz hesaplama yapıldığında aslında ne kadar vahim bir durum olduğu ortaya çıkar.

Kayıt Sayısı
Alan Sayısı
1 Char Boyut (KB)
2 Char Boyut (KB)
Tablo 1 - Kayıt sayısı ve Alan Sayısı Faktörlerin göre 2 bytelık bilginin kapladığı alan.
Yukarıdaki tabloda 2 byteçık bilginin nelere yol açabileceğini sergilemeye çalıştım. Belki 10 Milyon kayıt biraz abartılı olabilir ama .mdb içindeki 100.000 kayıt hiç de abartılı değil. Veritabanımız içinde tarih sakladığımız 4 adet alan olması halinde yaklaşık 780 KB’ lik fazla yer işgali ile karşı karşıya kalırız. Size rahatlıkla söyleyebilirim ki 5 tablodan oluşacak ufak bir uygulamanızda bile ortalama 10 adet alanda tarih saklamak zorunda kalırsınız. Yüksek trafikli sitelerde size getireceği yükü hayal edebilirsiniz…
Ayrıca, hosting aldığınız firmaya ülke ayarlarını kurdurmanın zorlukları ve/veya imkansızlıkları düşünüldüğünde yöntem geleneksel ama işe yarar bir yöntemdir.
Alıntı ile Cevapla
  #6 (permalink)  
Eski 01-04-2008, 16:39:13
Dogann - ait Avatar
 
İstanbul Avrupa Şubesi
Mesajlar: 700
Thanks: 0
Thanked 0 Times in 0 Posts
iTrader Puanı: (0)
iTrader Feedback: (0%)
Rep puanı: 28
Dogann isimli üyemiz hakkına hiçbir bilgimiz yok.
Tanımlı ASP’de Form ve Veri İşleme

Genel olarak bir form içindeki bilgiler diğer bir sayfaya gönderilir ve bu sayfa içinde çeşitli işlemlere tabi tutulur.

Örneğin:
<form action=”uye_ekle.asp” method=”post” name=”frmUyeBilgileri”> gibi bir yapıyla bilgiler ayrı bir dosya içinde değerlendirir. Yapısallık açısında iyi bir yöntem gibi görünse de istemeden de olsa proje içinde dosya karmaşasına yol açılmış olunur.

Bunu önlemek için güzel bir yol mevcut. Dikkat ettiyseniz, yukarıdaki örnekte method kısmını kırmızı ile yazdım. İşte anahtarımız bu.

Şöyle bir fikir jimnastiği yapalım. Action kısmında yer alan dosya ismi bizim formumuzun içinde bulunduğu dosya olursa ne olur? Tabi ki sayfa yeniden yüklenir ve form boş olarak görüntülenir. Aslında bilgiler post edildi. Fakat bu bilgileri işleyebilmemiz için birkaç düzenleme yapmamız gerekiyor.

1- .ASP dosyamızın başına aşağıda ki kodu eklemeliyiz. Görüldüğü üzere bu kod boolean tanımlı bir değişkeni post edilme durumuna göre 1 veya 0 yapıyor.
Code:
<%@ Language=VBScript %>
<%
Dim bPost
BPost = False
If Request.ServerVariables (”request_method”)=”POST” Then
bPost=True
End If
%> 
2- Artık bu yapıyı kullanarak .ASP sayfamızı iki parçaya bölmemiz mümkün.
If Not bPost Then

‘Herhangi bir bilgi Post Edilmemişken görüntülenecek sayfa
Code:
%>
<form ….>
</form>
<% 
Else

‘Herhangi bir bilgi Post Edildikten sonra görüntülenecek sayfa
txtAd=Request.Form (”txtAd”)
IsaretliSayisi = Request.Form (”chkUyeID”).Count
End If



Görüldüğü gibi yöntem oldukça basit. Bundan sonra formdan gelen bilgilere göre sayfanın ikinci bölümünü daha alt parçalara bölmek de mümkün.
Alıntı ile Cevapla
  #7 (permalink)  
Eski 01-04-2008, 16:40:02
Dogann - ait Avatar
 
İstanbul Avrupa Şubesi
Mesajlar: 700
Thanks: 0
Thanked 0 Times in 0 Posts
iTrader Puanı: (0)
iTrader Feedback: (0%)
Rep puanı: 28
Dogann isimli üyemiz hakkına hiçbir bilgimiz yok.
Tanımlı VBScript’e Giriş

VBScript yani Visual Basic Script. Ama biz kısaltılmış olan adını yani VBScript adını kullanıyoruz. Visual Basic dilini biliyor iseniz, VBScript dilini biliyorsunuz sayılır.

İstemci tarafında çalışan sayfalar da Netscape VBScript dilini anlamaz. Ama bizim sayfalarımız Server’ da çalışacağı için bu sorun olmayacak. Sadece bir kaç VBScript komutu ile mükemmel ASP sayfaları hazırlayabiliriz.

ASP sayfalarımızdaki script dillerini, gerek VBScript, gerek diğer script dillerini sayfa içindeki HTML kodlarından ayırmamız gerekir. ASP.DLL’ ye “ASP.DLL kardeş, Script dilimiz şurada başlıyor, şurada bitiyor“ dememiz gerekir. Bunun için şimdi öğreneceğimiz script dili VBScript’ in kodlarını <% %>işaretleri arasına alırız. Kardeşimiz ASP.DLL bu işaretler ” <% %>” arasındaki komutları yazmak yerine yapar. HTML’ deki “< >” klasik unsurlar aynen sayfaya yazılır, ama <% ve %>işaretine gelince çok sevgili ASP.DLL’ miz durur ve bir düşünür. <% ve %>işaretlerinin arasındaki her şey “Language” ile belirlediğimiz scriptin yorumlayıcısına gönderilir (Aralarında sürekli paslaşır bunlar). <% ve %>işaretlerine sınırlayıcı denir. Sınırlayıcının içinde bir ya da bir çok satır kod bulunabilir.

ASP ve VBScript komutlarımızın arasında “Yorum Satırımız” olmalıdır. Bu neden gereklidir? Yorum satırını bir kodu ne için nerede kullandığımızı belirtmek için kullanırız. Böylece kodlarımızı başka biri devam ettirmek istediğinde nerede ne yaptığımızı açıkça görmüş olur. Ya da uzun süre çalışmadığımız ASP sayfamızda unuttuğumuz yerler olabilir. Bunlara hatırlatma satırı da denir. Yorum satırının başına ( ‘ ) tek tırnak işareti koyarız. Böylece serverın yorumlayıcısı bu tek tırnağı gördüğünde, görmemezlikten gelir. Sanki hiç tanışmıyorlarmış gibi! Şimdi VBScript ile bu teknikleri kullanarak bir sayfa yazalım.

ORNEK:

Code:
<% @LANGUAGE=VBScript %>
<html>
<head>
<title>Merhaba VBScript</title>
<meta http-equiv=”content-type” content=”text/html; charset=ISO-8859-9″>
<meta http-equiv=”Content-Type” content=”text/html; charset=windows-1254″>
</head>
<body>
<center>
<%
‘ Yazı boyutumuzu belirlediğimiz bir değişken tanımlayalım
Dim fontBoyut
%> 
<%
‘ Yazı boyutumuzu 1′den 7′ ye kadar değiştirelim
For fontBoyut = 1 to 7
%>
<font size = <%= fontBoyut%> >
VBScript’ e Merhaba <br>
<% next %>
</center>
<h4> Bugün <%= WeekdayName(Weekday(Date)) %>, <%= Date %>.
Şu anda Server’ a saat: <%= Time %>.<p>
</h4>
</body>
</html>
Sayfamızın başında, bu sayfayı VBScript ile yazacağımızı belirttik. Daha sonra herzamanki HTML kodlarımızı yazdık. Daha sonra bir değişken tanımladık. Bundan sonra değişkenlerin bizim hayatımızda yeri çok büyük olacak . Açıklama satırında da neler yaptığımızı anlatmaya çalıştık. Kısa ve öz. Daha sonra yazı boyutumuzun 1′den 7′ ye kadar değişmesini istediğimizi söyledik.

Bu font boyutlarının sayfada uygulanabilmesi için font özelliklerini belirttiğimiz HTML etiketi olan <font=”"> etiketine tanımladığımız değişkeni yazdık. Böylece font boyutumuzu değişkenimiz belirleyecek: <font size= <%= fontBoyut %> > dedik. <%= bu ifade ASP’ de Response.Write metodunun kısaltılmış halidir. Yani <%= bu işareti yazdığımızda, içine değişkeni yazmamız gerekiyor tabii, bu değişkeni al sayfaya yaz demiş oluyoruz. Böylece değişkenimiz VBScript’e Merhaba yazısını sayfaya 1′ den 7′ ye kadar büyüterek yazdı. Bunları sayfada sıralamasını sağlamak için de <% next %> döngüsünü yazdık. Daha önce de gördüğüm tarih işlemini yazdık. Ama bu defa biraz farklı olarak. Dikkat ederseniz ASP ve VBScript kodlarını Yeşil renk ile yazıyorum. Böylece diğerlerinden ayırmamızın daha kolay olacağı kanısındayım. Değişkenler ve dögülerden ileride daha çok bahs edeceğiz. Çünkü onlarsız hiç bir işe yaramayız
Alıntı ile Cevapla
  #8 (permalink)  
Eski 01-04-2008, 16:40:48
Dogann - ait Avatar
 
İstanbul Avrupa Şubesi
Mesajlar: 700
Thanks: 0
Thanked 0 Times in 0 Posts
iTrader Puanı: (0)
iTrader Feedback: (0%)
Rep puanı: 28
Dogann isimli üyemiz hakkına hiçbir bilgimiz yok.
Tanımlı ASP ile Güvenli Download

Bazı projelerde ziyaretçiye download yapabilmesi için siteye giriş yapması gerekebilir.
Örneğin online yazılım satışı yapan bir sitede sadece ücreti ödeyen ziyaretçilerin download hakkı olmalıdır. Bunun yanında download ettiği dosyanın yoluna bakıp satın almadığı başka dosyaları alabilme şansı olmamalıdır. Bu durumda download işleminin güvenliğini directory security gibi klasik yollarla değil , ASP ile programlama yaparak çözebiliriz.Aşağıdaki örnekte “files” klasöründeki dosya.zip dosyası ASP ile bir değişkene atılıp browser’ a gönderilmektedir. Bu nedenle kullanıcı dosya yolunu göremeyecektir. Ayrıca dosyaları site root’ unun dışına koyarak yazdığımız ASP dışında bir yolla indirilmesini tamamen de engelleyebiliriz.
<%@language=”vbscript”%>
<%
dim stream
dim content
dim filename
dim saveas

saveas=”dosya.zip”
filename = “files/dosya.zip”
filename=server.mappath(filename)
response.contenttype = “application/x-msdownload”
response.addheader “content-transfer-encoding”, “binary”
response.addheader “content-disposition”, “attachment;filename=”& saveas
set stream = server.createobject(”adodb.stream”)
stream.mode = 3
stream.open
stream.loadfromfile filename
content=stream.readtext(-1)
response.binarywrite(content)
stream.close
set stream=nothing
content=null
%>
Eğer dosyamızı download şeklinde değil de stream ederek göndermek istiyorsak
response.contenttype = “application/x-msdownload”
response.addheader “content-transfer-encoding”, “binary”
response.addheader “content-disposition”, “attachment;filename=”& saveas
satırlarını
response.contenttype = “application/octet-stream”
response.addheader “content-disposition”, “attachment;filename=”& saveas
satırlarıyla değiştirmeniz yeterli olacaktır.
Tabi ki stream etme olayını bir zip dosyası değil de media türü dosyalarda kullanmamız mantıklı olacaktır.
Bu arada dikkat etmemiz gereken bir nokta var. ASP dosya içeriğini bir değişkene atıp sunucunun belleğinden browser’ a gönderdiği için microsoft.com’ da olduğu gibi download sayısını sunucumuzun kapasitesine göre sınırlandırmalıyız.
Alıntı ile Cevapla
  #9 (permalink)  
Eski 01-04-2008, 16:41:36
Dogann - ait Avatar
 
İstanbul Avrupa Şubesi
Mesajlar: 700
Thanks: 0
Thanked 0 Times in 0 Posts
iTrader Puanı: (0)
iTrader Feedback: (0%)
Rep puanı: 28
Dogann isimli üyemiz hakkına hiçbir bilgimiz yok.
Tanımlı VbScript ve Değişkenler

Bir programda değişken çok önemlidir.
Değişkenler, değişen değeri tutarlar. Mesela değişkenin adı Aylar ise, bu değişkenin değeri “Ocak, Şubar, Mart…” diye giden aylar olacaktır. Değişkenler, türlerine göre bir ya da daha fazla değer tutabilirler. Adı üstünde, değişken, her zaman değişir.. Bu değişikliği biz de yapabiliriz, program da yapabilir.
Değişkenlerin tanımlanması “DIM” komutu ile yapılır. DIM, dimension “boyutlandır” kelimesinin kısaltılmışıdır. Tanımlayacağımız değişken adının önüne Dim yazarız. Mesela:
<%
Dim Ay, Gun, Sayi, İsim
Ay = “Ocak”
Gun = “Pazartesi”
Sayi = 3
İsim = “BUSE”
%>
Burada önce değişkenlerimizi tanımladık. Birden fazla da değişkenimiz olabilir. Bunun için değişkenlerin arasına virgül koyarak yaparız. Değişken isimlerimizde Türkçe karakter kullanmamaya özen göstermeliyiz. Değişken isimleri mutlaka harfle başlamalıdır, içinde noktalama işaretleri bulunamaz ve uzunluğu 255 karakteri geçemez. Zaten 255 karakterden uzun bir değişken de işimizi zorlaştırır diye düşünüyorum
Değişkenlerin isimlerini belirledikten sonra onlara bazı değerler atadık. Ay isimli değişkenimizin değeri “Ocak” oldu. Buna göre VBScript yorumlayıcısına, “VBScript yorumlayıcısı kardeş, Ay değişkeninin değeri nedir?” diye sorduğumuzda, “Bunu bilmeyecek ne var? Ocak’tır” diyecektir.

Şimdi şöyle bir değişken tanımladığımızı düşünelim, acaba ortaya nasıl bir değişken çıkar? :
<%
Dim Aylar(12), Gunler(31), İsimler(10)
%>
Bu yöntemle oluşturduğumuz kodlarla elde edilecek “kaplar,” birden fazla değer tutabilir:
<%
Dim Aylar(12), Gunler(7), İsimler(10)
Aylar(5) = “Mayıs”
Gunler(2) = “Salı”
İsimler(8) = “Hasan”
%>
Bu durumda, içinde 12 ayrı değişken tutabilecek olan Aylar değişkeninin 5 numaralı değeri “Mayıs”, 7 değer tutabilecek olan Gunler değişkeninin 2 numaralı değeri “Salı” ve 10 değer tutabilecek olan İsimler değişkeninin 8 numaralı değeri “Hasan” olacaktır. Böyle, birden fazla değer tutabilen değişkenlere Dizi Değişken veya Array denir.
Array Fonksiyonu
VBScript’ in kullanıma hazır bir çok fonksiyounu vardır, bunlardan biri olan Array ile kolayca dizi değişken oluşturabiliriz.
Örneğin, Gunler(7) dizi-değişkenini isimler ile doldurmak istiyoruz:
<%
Dim İsimler = Array (”Pazartesi”, “Salı”, “Çarşamba”, “Perşembe”, “Cuma”, “Cumartesi”, “Pazar”)
%>
Böylece hem dizi değişkeni oluşturabiliriz, hem de değerlerini atayabiliriz. Buna göre daha sonra dizi değişkenin üyelerini sıra numarası ile çağırabiliriz:
<%= Gunler(5) %>
bize “Cumartesi” değerini verir. Neden mi? Çünkü dil tasarımcıları, sayı saymaya biz dünyalılar gibi 1′ den değil de 0′ dan başlarlar. Dolayısıyla Gunler dizi değişkeni Gunler(0)’ dan başlayacaktır.
<html>
<%
Dim Degisken(2), Toplam
Degisken(1) = “BUSE”
Degisken(2) = “NUR”
Toplam = Degisken(1) + Degisken(2)
%>
<%= Toplam %>
</html>
Bu sayfayı çalıştırdığımızda sayfaya BUSENUR yazıldı değil mi? (Arada boşluk olmayışına aldırmayın. Daha sonra göreceğiz.) Şimdi Değişken(1)’ in değeri olarak “BUSE” yerine tırnak içinde 3, NUR değeri yerine yine tırnak içinde 10 yazın. Şimdi sayfayı tekrar açalım. Sonuç? 310 değil mi? Şimdi tırnakları kaldırın 3 ve 10 ‘ un çevresinden. Sonuç? Doğru sonuç aldığınızdan eminim. Sayıların çevresinden tırnak işaretlerini kaldırınca VBScript bunların sayı olduğunu anladı ve işlemi ona göre yaptı.
SABITLER (CONST)
VBScript’ de bir kere tanımladığımızda bir daha değişmesini istemediğimiz unusurlar olabilir. Bunlara değişken diyemeyiz. Öyle değil mi? O zaman onlara Sabit Değerler diyelim. Sabit değer, bütün site boyunca yani uygulama boyunca değişmeden kalır. Bu değerleri Const (constant, sabit kelimesinden türetilme) komuyutla yaparız:
Const Siteadi = “ASPnedir?com”
Const Slogan = “En iyi kaynak”
VBScript’in kullandığı tek tür değişkene variant denir. Variant, karakter dizini (String) de olabilir, sayı (number) ‘ da. Fakat bir Variant’ın içindeki değer, veri olarak nitelendiğinde şu türlerden birine girer:
Boolean: Değişkenin değeri ya True (doğru) ya da False (Yanlış) olur. True’ nun değeri -1, False’ un değeri ise 0′ dır.
Byte: 0 ile 255 arasında bir sayısal değeri olabilir.
Double: Yüzen noktalı değer denilen veri türüdür. Pozitif sayılar için 4.9E-324 ile 1.8E308 arasında, negatif sayılarda -4.9E-324 ile 1.8E308 arasında bir değer alabilir.
Date/Time: Önceden belirlenmiş biçimlerde tarih ve zaman bilgisi içerir.
Empty: Tanımlanmış ancak henüz değer atanmamış (boş) değişken türüdür.
Error: Programın hata mesajlarını ve hata değerlerini tutar.
Integer: Noktalık bölüm içermeyen tamsayı verilerdir, değeri
-32.768 ile +32.767 arasında olabilir.
Long: Noktalık bölüm içermeyen tamsayı verilerdir; değeri -2.147.483.648 ile 2.147.483.648 arasında olabilir.
Null: İçinde bulunmamak üzere tanımlanmış değişkenlerdir.
Object: Windows OLE nesnelerini tutmak üzere tanımlanmış değişkenlerdir.
Single: Yüzen noktalı değer denilen veri türüdür. Pozitif sayılar için 1.4E.45 ile 3.4E38 arasında, negatif sayılarda -1.4E-45 ile -3.4E38 arasında bir değer alabilir.
String: Alfanumerik veri tutan değişkenlerin değeridir.
Alıntı ile Cevapla
  #10 (permalink)  
Eski 01-04-2008, 16:42:15
Dogann - ait Avatar
 
İstanbul Avrupa Şubesi
Mesajlar: 700
Thanks: 0
Thanked 0 Times in 0 Posts
iTrader Puanı: (0)
iTrader Feedback: (0%)
Rep puanı: 28
Dogann isimli üyemiz hakkına hiçbir bilgimiz yok.
Tanımlı AspHttp ile başka web sitelerinden bilgi alımı

AspHttp şuanda başka sitelerden bilgi almak için kullanılan
bileşenlerin arasında benim en iyisi olarak gördüğüm bir bileşendir.
AspTear ve XmlHttp ile başka web istelerinden bilgi alımı yapılabilir ama
kullandığınız Server’da AspTear veya XmlHttp yoksa ama AspHttp varsa işte size çözüm:
AspHttp’nin kullanımına geçmeden AspHttp’nin kurulumuna bir gözatalım.
AspHttp’yi http://www.serverobjects.com/comp/asphttp3.zip adresinden indirebilirsiniz.
AspHttp bileşeni deneme sürümüdür. AspHttp ile ilgili düşünceleriniz olumlu ise
bileşeni kullanabilmeniz için satın almanız gerekiyor.
AspHttp’yi kullanabilmeniz için asphttp3.zip içerisindeki “Asphttp.dll” dosyasını register etmeniz gerekmektedir. asphttp3.zip dosyasının içerisinde bulunan “Asphttp.dll” dosyasının Windows ‘un sistem klasörüne kopyalayınız (NT için ‘\winnt\system32′, Win9x için ‘\Windows\System’). Daha sonra “Başlat/Start” menüsünden “çalıştır/Run” menüsünü seçiniz. Açılan ufak pencereye “regsvr32 asphttp.dll” yazıp “Tamam” ‘ı tıklayınız. Bu sayede register işlemimiz gerçekleşecektir.

AspHttp ‘nin Kullanımı:
ısterseniz AspHttp ile istediğiniz web sitesinin tamamını (resimler hariç) gösterim yapabilirsiniz.
AspHttpHTM.Asp
<%
Server.ScriptTimeout = 240
‘Bağlantımızı Kuralım
Set HttpObj = Server.CreateObject(”AspHTTP.Conn”)
HttpObj.Url = “http://www.microsoft.com”
rem HttpObj.Port = 80
rem HttpObj.TimeOut = 80
HttpObj.FollowRedirects = true
HttpObj.RequestMethod = “GET”
HttpObj.UserAgent = “Mozilla/2.0 (compatible; MSIE 3.0B; Windows NT)”
strResult = HttpObj.GetURL
‘Sayfamızı Yazdılarım…
Response.Write strResult
Response.Write “<blockquote><hr>URL is now: ” & HttpObj.URL
Response.Write “<hr><pre>” & HttpObj.Headers & “</pre>”
‘Bileşenimizin Kayıtlı Olup Olmadığını öğrenelim…
Response.Write “<hr>”
strRegName = HttpObj.RegisteredUser
if Left(strRegName, 5) <> “Unreg” then
Response.Write “Bileşenin Kayıtlı Olduğu ısim: ” & strRegName & “<br>”
else
Response.Write “Bileşen Kayıtlı Değil.<br>”
end if
%>
‘AspHttpHTM.Asp Bitti
AspHttp ile yapabileceğimiz diğer bir işlem ise verilen web sitesi adresindeki tüm linkleri
listeleyebilmektir.
ASpHttpList.Asp
<html>
<body>
<%
Server.ScriptTimeout = 240
‘Bağlantımızı Kuralım
Set HttpObj = Server.CreateObject(”AspHTTP.Conn”)
HttpObj.Url = “http://www.genusa.com/asp/tools.html”
rem HttpObj.Port = 80
rem HttpObj.TimeOut = 80
HttpObj.RequestMethod = “GET”
HttpObj.UserAgent = “Mozilla/2.0 (compatible; MSIE 3.0B; Windows NT)”
strResult = HttpObj.GetURL
‘Linklerimizi Listeleyelim…
Response.Write “<h2>A HREF Listesi</h2>”
varHREFArray = HttpObj.GetHREFs
intHREFArrayLimit = UBound(varHREFArray) -1
For I = 0 to intHREFArrayLimit
Response.Write varHREFArray(I) & “<br>” & VBCrLF
Next
%>
‘ASpHttpList.Asp Bitti
Bu bileşenin diğer bir avantajı başka web sitelerinden istediğimiz satır veya bilgiyi alabilmektir. Buna bir örnek olarak TR.Net sitesinden hava durumunu nasıl alabileceğimizi bir örnekle gösterelim:
Hava.Asp
<%
‘Bağlantımızı Kuralım
set HttpObj = Server.CreateObject(”AspHTTP.Conn”)
HTTPObj.Url = “http://www.tr.net”
odunc = HTTPObj.GetURL
‘Sayada Ankara nın yerini belirleyelim.
yer = Instr(1,odunc,”Ankara”)
ankara = Mid(odunc,yer+89)
son = Instr(1,ankara,”<”)
son = son - “1″
‘Ankara nın HavaDurumunu öğrenelim
ankara = Mid(odunc,yer+89,son)
‘Sayada ıstanbul un yerini belirleyelim.
yer = Instr(1,odunc,”ıstanbul”)
istanbul = Mid(odunc,yer+103)
son = Instr(1,istanbul,”<”)
son = son - “1″
‘ıstanbul un HavaDurumunu öğrenelim
istanbul = Mid(odunc,yer+103,son)
‘Sayada ızmir in yerini belirleyelim.
yer = Instr(1,odunc,”ıstanbul”)
izmir = Mid(odunc,yer+103)
son = Instr(1,izmir,”<”)
son = son - “1″
‘ızmir in HavaDurumunu öğrenelim
izmir = Mid(odunc,yer+103,son)
%>
<html>
<head><title>AspHttp ile TR.Net ‘ten HavaDurumu</title>
<meta http-equiv=”Content-Type” content=”text/html; charset=windows-1254″>
<style>
table {font-family: verdana; font-size: 7pt};
</style>
</head>
<body>
<table border=”0″>
<tr><td>Ankara</td><td><%=ankara%></td></tr>
<tr><td>ıstanbul</td><td><%=istanbul%></td></tr>
<tr><td>ızmir</td><td><%=izmir%></td></tr>
</table>
</body></html>
‘Hava.Asp Bitti
Alıntı ile Cevapla
Cevapla


Konuyu Toplam 1 üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Konu Seçenekleri

Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Okuduğunuz Konuya Benzer Konular
Konu Konuyu Açan Forum Cevaplar Son Mesaj
Ücretsiz Scriptler İndex MuratCem Ücretsiz Scriptler 189 01-09-2008 01:31:47
Php Makale Scripti Yazmak Görsel Ders GaziSoft PHP 5 29-04-2008 16:11:18
seo ne seospam ne :D dmrL Yeni Başlayanlar 15 04-10-2006 10:33:39

Bütün Zaman Ayarları WEZ +3 olarak düzenlenmiştir. Şu Anki Saat: 09:40:07 .


 
Telif Hakları vBulletin v3.7.2 © 2000-2008, ve Jelsoft Enterprises Ltd.'e Aittir.
Hosted by Radore Hosting

“İnsanların en hayırlısı, insanlara faydalı olandır”. H.Ş

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198