nedir

ISA Server üzerinde url setleri tanımlayarak kullanıcıların belirli sitelere erişim gerçekleştirmesini sağlayabiliriz.Böylece istemci bilgisayar url setlerin dışında bir adrese girmeye çalıştığında başarılı olamayacaktır.
Örnek olarak kullanıcıların sadece

anilerduran.com
yahoo.com
mynet.com

adreslerine girişlerine izin verelim.
Bunun için sırasıyla yapmamız gereken işlemler;

-İlk önce sağdaki menuden toolbax'a geliriz Network Objects altında New diyerek URL Seti seçeriz.

zayıflamak hemenHerhangi bir aktivite için acilen vermeniz gerekiyorsa, hemen başlasanız iyi olur. Siz kendinizi kişisel olarak mükemmel bir bedene sahip olduğunuzu düşünebilirsiniz. Ancak vermeniz gerekiyorsa bunu gözardı etmemelisiniz.

verirken 10 yıl önceki kilonuza dönmeniz gerekmiyor. Kendinizi olamayacağınız bir kiloda hayal etmeyin. Kendinizi bilin, mantıklı, iyimser hedeflerinizi gerçeklik içerisinde değerlendirin. Böylece herhangi bir hataya düşmezsiniz. İlk yapacağınız şey kendinizi katılacağınız aktivite için ne kadar zamanınız olduğuna bakmak hedefinize odaklanmak.. Read the rest of this entry »

4704370.jpgSiz de aşkta hep kaybedenlerden olduğunuzu mu düşünüyorsunuz ? kaybettiğinizi de düşünüyorsunuz o zaman. bu hep sizin başınıza geliyor öğrenmek için hemen bir kağıt kalem edinin, testi yanıtlayın sebebini öğrenin.

1-Hayatta en hünerli olduğunuz konu ?

a) Bir bakışta insan mak
b) İleriyi görmek Read the rest of this entry »

547981.jpgKadınlar bazen aşırı sinirli olabilir.insanlık halidir. Özellikle tartıştıysanız sizin için gözle görülebilir bir sebep olmadığını ona söylüyorsanız başınıza geleceklere hazır olun! Ayrıca, size göre zararsız olan veya hoş olduğunu düşündüğünüz şeyler bile bazen kadınları kızdırabilir.

Peki, erkekler kadınlar sinirliyken neleri söylememeli? Neleri söyleyerek sakinleştirmeli?

ifadeler Read the rest of this entry »

havuc_3691.jpgBrokoli, havuç sütün ortak özelliği var.Bunlar çevresel yaşlanma etkilerinden cildinizi koruyan doğal cephanenin önemli bir parçasıdır. A vitamini kaynağı olması bu yiyeceklerdeki ortak özellğidir.

Çoğu kişi A vitamini ile sadece gözleri görme gücünü dengeler. Ama epithelial dokumuzun sağlığı -cilt vücudun dışına açılan geçitler, boğaz sinüsler gibi- beslenmemizdeki A vitamini miktarına doğrudan bağlıdır. Read the rest of this entry »

v269064_crop3.jpgBitkisel dermakozmetik ürünleri ile bilinen B’IOTA Laboratuarları’nın yaptığı pazar araştırması, kadınlarının kişisel gelirinin AB ortalamasının çok altında olması, kozmetik kullanımında Avrupalı hemcinslerine göre geri kalmalarında başlıca faktör olarak belirlendi. ’deki 100 kadından sadece 3′nün kozmetik ürünleri kullandığı belirlendi.

Avrupa’da ise bu oran yüzde 47’ye ulaşıyor. Bu alanda Yunanistan’ın harcaması ise ’nin dört katı düzeyinde bulunuyor. Yunanlı kadınlar bakım ürünleri için yılda 8 milyon ı gözden çıırken, ’deki harcama 1.8 milyon dolarda kalıyor. Read the rest of this entry »

cilt tipiCildimin hangi vitamine ihtiyacı var ? hangi cilt tipi hangi vitaminlere ihtiyaç duyar ? cilt tipine göre vitamin ihtiyaçlarını araştırdık. ki her cildin yapısı farklıysa aynı şekilde ihyacı olan vitaminler de farklıdır.cilt bakımı yaşlanmayı geciktirmek için ciltlerimiz böyle bir bakıma muhtaçtır.

Acıbadem Bakırköy Hastanesi Cilt Hastalıkları Uzmanı Dr. Gökhan Okan, C vitaminli, meyve asitleri içeren antioksidan özelliği olan kremleri 30-35 yaş arasındaki kişilere Read the rest of this entry »

mutlulukTal Ben-Sharan’a göre mutluluğun altı anahtarı

Kendinize ‘insan’ olma izni verin!
Üzüntü, , acı gibi duygularınızı kabul ettiğinizde üstesinden daha kolay gelebilirsiniz. Aslında üzülmediğiniz yada olaylara şı birşey hissetmediğinizde psikopat yada ölü gibi olursunuz. Bu nedenle duygularınızı kabullenin. Read the rest of this entry »

5038849.jpgAldatılmak.ne kadar kötü bir durum olduğunu tahmin etmek zor değil.kimileri aldatanları suçlar kimileri de aldatılanları.hatta suçu tamamen aldatılanlara atanlar bile var.bu noktada insanın aklına hemen şu soru geliyor: hırsızın hiç mi suçu yok ?

İletişim Uzmanı İnci Beydeşman aldatılma olayının ın elinde olup olmadığını değerlendirdi. Aldatılmanın aslında aile bağlarını zedelemeyecek ölçüde çözülebilecek bir sorun olduğunun ı çizen Beydeşman, Read the rest of this entry »

158222.jpgınca yumurtası yağı.aslında ilk duyduğumuzda iğrenç bile gelebilen bu tabir şu sıralar internette sıkça gözümüze çarpıyor.. özellikle de istenmeyen tüylerden şikayetçi olan hanımlar bunu ilgi ile okuyorlar.gerçekten ınca yumurtası yağı faydalı mı değil mi ? bu konuyu sizleri aydınlatmak için araştırdık işte çıkardığımız sonuç:

Hiç kuşkusuz biz kadınların en önemli sorunlarından biri istenmeyen tüylerimiz.Bu nedenle tüylerden kesin olarak kurtulmak deyince orada hazır bulunuyoruz. Read the rest of this entry »

Almak’de dünyada bir çok e- servisi var. tamamıyla ! Yani e- almak, göndermek kesinlikle .

Aşağıda, ’de en popüler bir kaç tane e-posta servisinden, e- alacağınızı ayrıntılarıyla açıklayan yazılar hazırladık. Bu e- servislerinin ! Kesinlikle herhangi bir ücret gerektirmiyor. İstediğiniz e-posta adresini alabilirsiniz. , , çe e- servisleri!

Mynet kullaniciadi@.com
Hotmail kullaniciadi@.com
Gmail kullanici adi@.com
Yahoo kullaniciadi@.com

MSN kullaniciadi@.com

Güncelleme: Bazı yorumlardan dolayı bu açıklamayı yapmak zorunda kaldım. Herkesin e- veya e-posta konusunda yeterli bilgisi olmayabilir. Bu nedenle bu açıklama oldukça uygun olacak:

E-, bir kişisel adrestir. Örneğin isminiz Ahmet Yılmaz. Bu kişiye kayıtlı bir e- almak istiyorsunuz. Alacağınız adresin ismini istediğiniz gibi alabilirsiniz. Örnek olarak ahmet_yilmaz@.com gibi. Veya isminizi istediğiniz gibi seçebilirsiniz. Ahmet Yılmaz kişisi için, feryksdsds123@.com gibi bir e- bile alabilirsiniz. Burada önemli olan, seçmiş olduğunuz e-mailin başka bir kişi tarafından alınmamış olmasıdır!

Ayrıca, alacağınız e- herhangi bir e- servisinden olabilir. Örnek olarak, @.com, @.com, @.com, @.com, @.com gibi. İsterseniz yalnızca bir tanesinden alabileceğiniz gibi, birden fazla servisten olarak e-posta alabilirsiniz. Bu seçim sizin! Bu servislerden örnek olarak .com’u seçtiniz.

ahmet_yilmaz@.com adresini, herhangi bir siteye üye olurken kullanabilirsiniz. Bir soruda ’a hangi e- ile üye olunabileceği soruluyordu. Bu sorunun cevabı, “İstediğiniz e- adresiyle ’a üye olabilirsiniz”.
Bunda herhangi bir kısıtlama yok. Ancak, bazı veya siteler, olurken bazı servislerin e-maillerini kabul etmezler.

Oyunu Tavla

denemedim

arşivimden

sizinle paylaşmak istedim

umarım iş görür

Tavla62.zip

Santranç Oyunu

denemedim

arşivimden

umarım işinize yarar

Satranc31.zip

orijinal
Batak

denemedim

Arşivimde buldum sizlerle paylaşmak istedim arkadaşlar

Batak42.zip

üye olunuyor tamam tıklıyorum böyle bir çıkıyor sorun ne ?

SQL Error

Duplicate entry “0″ for 2
INSERT INTO {{table}} SET `username`=”karaprens”, `password`=”d41d8cd98f00b204e9800998ecf8427e”, `email`=”sehmuzkaya@.com”, `email_2`=”sehmuzkaya@.com”, ``=”F”, `id_planet`=”", `register_time`=”1197478843″

——————————————————————————–
Query 1: SELECT * FROM {{table}} config
Query 2: SELEC

Web sunucusu istemcisi (Browser) arasındaki etkileşme alışverişin işlediğine ilişkin bilgilerimiz olduğunu varsayarak, sadece Internet”te , bir Web sayfasının ziyaretçiden veri alabildiği bunları Web sunucusuna ulaştırabildiği başlıca araç olduğunu hatırlayalım. , ziyaretçinin bizim istediğimiz bilgilerin yanı sıra ziyaretçinin ından Web sunucusu bilgisayara, daha bir çok bilgiyi de beraberinde getirir. Web programcısı Web tasarımcısı olarak bu bilgileri bilmeye daima ihtiyacımız var. Söz gelimi, ziyaretçimizin Browser türünü sürümü belirleyerek, onu, uygun sayfaya yönlendirmekten tutun, ziyaretçiden istediğimiz bilgilerin Sunucu”ya ulaştığında nerede hangi değişkende tutulduğuna kadar, gerekli bir çok bilgi Sunucu çievre değişkenleri Sunucu değişkenleri dediğimiz dizilerde bulunur. tasarımına bir ”un bilgilerini ile yakalamaya işlemeye geçmeden önce Web Server”ı bize verdiği bilgileri daha yakından namız yararlı olur. Bunun için önce şu ı formlar01. adıyla kaydedin çalıştırın:

<>
<HEAD>
<TITLE>”de Nesneler</TITLE>
<meta http-equiv=”content-type” content=”text/; charset=ISO-8859-9″>
<meta http-equiv=”Content-Type” content=”text/; charset=-1254″>
</HEAD>
<BODY>
<?
foreach ($GLOBALS as $anahtar=>$deger )
{
print ($anahtar . ” = ” . $deger . “<br>”);
}
?>
</BODY>
</>

Şimdi Browser penceresinde gördüğünüz bilgileri irdeleyelim; çünkü biraz sonra ziyaretçiden ile gelen verileri yakalarken işlerken bu bilgilerden yararlanacağız.

Bu programla ”nin daima varolan $GLOBALS dizisinin üyelerini görüntülüyoruz. $GLOBALS bir ilişkili-dizi-değişken, yani değişken değerlerinin endeks adı (anahtarı) bulunan bir dizi olduğu için, içerdiği değerlere adları ile ulaşabiliriz. Bu programda, $GLOBALS”ın anahtarlarını $anahtar, değerlerini ise $değer değişkenine yazdırıyoruz bir foreach döngüsü ile Brnowser penceresine gönderiyoruz. ı çalıştırdığımız sisteme Web sunucu ına bağlı olmak üzere, ımızda bir çok değişken görebiliriz. Bunlar arasında bütün HTTP Server programları için ortak Web programcısı için önemli değişkenler şunlardır:

* HTTP_ENV_VARS : HTTP Sunucu ın çalışmakta olan dosyası için oluşturduğu çevre değişkenlerinin yazılı olduğu dizi değişken. Bu değişkenin içinde şu unsurlar bulunur:

HOSTNAME Sunucunun IP
SHELL Unix sisteminde kullanılan Shell ı
HOSTTYPE Sunucunun adı sürünü
OSTYPE Sunucu”nun işletim sistemi
HOME Çalışan ın kök dizini
PATH Çalışan ın Sunucu”daki yolu

* HTTP_SERVER_VARS Sunucu ın çalışmakta olan dosyasına sunduğu bazı bilgilerin bulunduğu dizi değişken. Bu değişkenin içinde şu unsurlar bulunur:

PHP_SELF Çalışan ının bulunduğu dizin adı
PATH_TRANSLATED Çalışan ının fiziksel yolu

* HTTP_GET_VARS Bir ”dan GET metoduyla alınan bilgilerin anahtar=değer çiftleri olarak kaydedildiği dizi değişken

* HTTP_POST_VARS Bir ”dan POST metoduyla alınan bilgilerin anahtar=değer çiftleri olarak kaydedildiği dizi değişken

* HTTP_USER_AGENT Ziyaretçinin ında kurulu Internet Browser ı

* QUERY_STRING ile bilgi alırken GET metodunu kullandığımız takdirde, Browser”ın göndereceği bilgilerin tutulduğu değişken

* REMOTE_ADDR Ziyaretçinin ına ISS tarafından atanmış IP

* REQUEST_METHOD ile gelen bilgilerin gönderildiği metod: GET veya POST

* REQUEST_URI O anda çalışmakta olan dosyasının adı varsa bu ada eklenmiş Query_String

* SCRIPT_FILENAME O anda çalışmakta olan ının dosya adı

* SCRIPT_URI O anda çalışmakta olan ının tam URL

* SERVER_ADDR Sunucunun IP

* SERVER_PROTOCOL Sunucunun HTTP protokolünün sürümü

”dan GET metoduyla gelen bilgiler
Ziyaretçilerimizin ne tür Browser kullandıklarını HTTP_USER_AGENT değişkeninin değerini alarak bu değerin içinde belirli anahtar kelimeleri aratarak bulabiliriz. ile gelen bilgiler, GET metodu ile alınıyorsa, hem QUERY_STRING, hem de HTTP_GET_VARS dizisine kaydolur. POST metoduyla aldığımız bilgileri HTTP_POST_VARS değişkenin değerleri arasında buluruz. Bunları öğrendiğimize göre, şimdi gerçekten bir ”u yapabil bununla ziyaretçimizden bilgi alabiliriz.

Basit bir ”u tasarlayalım. Aşağıdaki kodları formlar02.htm adılyla kaydedin:

<>
<HEAD>
<TITLE>”de Formlar</TITLE>
<meta http-equiv=”content-type” content=”text/; charset=ISO-8859-9″>
<meta http-equiv=”Content-Type” content=”text/; charset=-1254″>
</HEAD>
<BODY>
< ACTION=”formlar02_isle.” METHOD=”GET”>
Adınız, Soyadınız: <INPUT TYPE=”TEXT” NAME=”adi”>
<br>
E- Adresiniz: <INPUT TYPE=TEXT” NAME=”adres”>
<br>
<INPUT TYPE=”SUBMIT” VALUE=”Gönder Gitsin!”>
<INPUT TYPE=”RESET” VALUE=”Vazgeç, Gönderme!”>
</>
</BODY>
</>

Bu ”la Web tasarım yarışmasına katılmayacağımıza göre, şimdilik sadece Web Sunucuya bilgi göndermekte kullanabiliriz. ”un ACTION parametresine dikkat ederseniz, formlar02_isle. adlı bir dosyanın adını göreceksiniz. Bu, ziyaretçinin Gönder düğmesini tıklamasıyla birlikte ”un içerdiği bilgilerin METHOD parametresinde pazılı olan GET yöntemiyle Sunucu”da gönderileceği ın adıdır.

Şimdi bir an için ne olacağını düşünmeden, formu doldurun Gönder düğmesini tıklayın; Browser”ınızdaki mesajına aldırmadan, URL adres kutusunda ne yazdığını okuyun:

http://server/formlar02_isle.php?adi…mtac@mynet.com

Bu, HTTP protokolüne göre GET yoluyla bilgi göndermekte kullanılan yöntemin tam bir örneğidir: Browser, GET yoluyla bilgi göndereceği zaman, ”daki bütün bilgileri URL-Encoding denen sistemle kodlar; ”un alan adlarına o alanlara ziyaretçinin yazdığı bilgileri bir eşittir işaretiyle ekler; bu tür alan=girdi çiftlerinin arasına & ( işareti) koyar gönderir. Web sunucu, bu bilgileri alınca, önce kendi oluşturduğu bazı değişkenlere (hem QUERY_STRING, hem de HTTP_GET_VARS dizisine) yazar sonra URL hanesinde adı yazılı olan programa (sayfaya) verir. Şimdi bizim bu bilgilerin gönderildiği ını kendisine verilecek bu bilgileri işlemeye hazır şekilde yazmamız gerekir. Şu aşağıdaki kodları formlar02_isle. adıyla kaydedin:

<>
<HEAD>
<TITLE>”de Formlar</TITLE>
<meta http-equiv=”content-type” content=”text/; charset=ISO-8859-9″>
<meta http-equiv=”Content-Type” content=”text/; charset=-1254″>
</HEAD>
<BODY>
<?
print (”Sayın <b>$adi</b>

“);
print (”<p>Elektronik adresiniz: <b>$adres </b></p>

“);
?>
</BODY>
</>

Şimdi, Browser”ınızda formlar02.htm sayfasını yeniden açın, ”u doldurun gönderin. Açılacak sayfa, ”un gönderecğii bilgileri alacak kendi görünteleyecektir.

Fakat burada gördüğünüz gibi Sunucu”nun ziyaretçiden gelen bilgileri depoladığı dizileri kullanmadık. Bunu yaparken, GET ile gelen bilgiler kendisinde verildiğinde ının alan adlarını değişken adı, bunların şısında yazılı olan verileri de bu değişkenin değeri saymasından yararlandık. Fakat isteseydik, bu değişkenleri, Sunucu”nun oluşturduğu dizilerden de alabilirdik. Şimdi hem ”umuzu geliştirelim; hem de bu kez okuma işini Sunucu dizisinden yapalım.

Önce ”umuzu değiştirelim formlar03.htm adıyla kaydedelim:

< ACTION=”formlar03_isle.” METHOD=”GET”>
Adınız, Soyadınız: <INPUT TYPE=”TEXT” NAME=”adi”>
<BR>Elektronik Adresiniz: <INPUT TYPE=TEXT” NAME=”adres”>
<BR>Hangi notunuzu öğrenmek istiyorsunuz?
<BR>
<SELECT NAME=”hangi_not”>
<OPTION>–Lütfen seçiniz–
<OPTION>Sınav 1
<OPTION>Sınav 2
<OPTION>Ortalama
</SELECT>
<BR>
<INPUT TYPE=”SUBMIT” VALUE=”Gönder!”>
<INPUT TYPE=”RESET” VALUE=”Vazgeç”>
</>

Yeni ”da yeni bir unsuruna yer verdiğimizi SELECT..OPTION etiketi ile ziyaretçiye bir seçim imkanı verdiğimizi görüyorsunuz. Şimdi, bu ”un göndereceği bilgileri işleyecek ını yazalım. Aşağıdaki kodları formlar03_isle. adıyla kaydedelim:

<>
<HEAD>
<TITLE>”de Formlar</TITLE>
<meta http-equiv=”content-type” content=”text/; charset=ISO-8859-9″>
<meta http-equiv=”Content-Type” content=”text/; charset=-1254″>
</HEAD>
<BODY>
<?
foreach ($HTTP_GET_VARS as $anahtar=>$deger )
{
print (”<b>$anahtar = $deger <br>
“);
}
?>
</BODY>
</>

Demiştik ki, Web sunucu, bir istemci Browser”dan kendisine GET yöntemiyle yollanan bilgilerini $HTTP_GET_VARS adlı dizi değişkende tutar. Yine daha önce görmüştük ki dizi değişkenlerin içinde ya sayı ya da isim olarak bir anahtar bu anahtarın temsil ettiği bir değer vardır. Burada, $HTTP_GET_VARS değişkeninin anahtar değerlerini $anahtar $deger değişkenlerine => operatörünün ıyla, bir foreach döngüsü içinde atıyoruz. Döngü kullanmamızın sebebi, dizi değişkenin içinde birden fazla anahtar=değer çifti bulunması ihtimali bulunması; döngü olarak da foreach kullanmamızın sebebi dizide kaç anahtar=değer çifti bulunduğunu bilmememizdir.

sayfasının gönderdiği bilgilerin derlenip toplanıp URL-koduyla Sunucuya gönderildiğini, ”un Gönder düğmesini tıkladığımızda Browser”ın URL adres hanesinde ilen bilgilerin görülecektir. Buradaki örnekte bu bilgi (HTTP ünü URL kodlarını kaldırarak):

adi=Şahika+Tabak&adres=stabak@somenet.com&hangi_no t=Sınav+1

şeklindedir. Bu bilgi, sunucu tarafından $HTTP_GET_VARS dizi değişkeninin içine yazıldığına göre, daha önce gördüğümüz gibi dizi değişkenlerin anahtarlarını bu anahtarların temsil ettiği değerleri bir döngü içinde $anahtar $deger değişkenlerine atarsak, daha sonra bu değişkenlerin değerlerini Browser penceresine göndermemiz mümkün olur.

URL Kodları
HTTP protokolüne göre, ASCII listesi içinde yer almayan karakterler, tabiî bu arada sadece çe”de bazı diğer alfabelerde bulunan harfler, bir ”da yer aldığı taktirde, Browser tarafından URL şemasına göre kodlanarak gönderilir. Gerçi bir çok HTTP sunucu ıbu karakterlere yabilir bir dosyaya yazarken doğru şekilde yazabilirler; ama bu çevirme işleminin bazen ıyla yapılması gerekebilir. Bizim için önemli karakterler URL kodları şöyle:

ü %FC Ü %DC ö %F6 Ö %D6 ı %FD
İ %DD ğ %F0 Ð %D0 ş %FE Ş %DE
ç %E7 Ç %C7 % %25 & %26 [ +%5B
] %5D { %7B } %7D ? %3F = %3D
Şimdi biraz dizi-değişken içine dizi-değişken koyalım! Yani ziyaretçinin göndereceği bilgiler, buradaki gibi SELECT..OPTION etiketinde yapacağı sadece bir unsur seçimi olmasın da çoklu-seçim olsun. bilgilerinizi yoklarsanız, bunu SELECT etiketini MULTIPLE parametresi ile yapabildiğimizi hatırlayacaksınız. Biraz önceki kaydettiğimiz dosyanın sadece ünü aşağıdaki gibi geliştirerek, formlar03a.htm adıyla kaydedelim:

< ACTION=”formlar03a_isle.” METHOD=”GET”>
Adınız, Soyadınız: <INPUT TYPE=”TEXT” NAME=”adi”>
<BR>Elektronik Adresiniz: <INPUT TYPE=TEXT” NAME=”adres”>
<BR>Hangi notunuzu öğrenmek istiyorsunuz?
<BR>
<SELECT NAME=”hangi_not[]” MULTIPLE>
<OPTION>Sınav 1
<OPTION>Sınav 2
<OPTION>Ortalama
</SELECT>
<BR>
<INPUT TYPE=”SUBMIT” VALUE=”Gönder”>
<INPUT TYPE=”RESET” VALUE=”Vazgeç”>
</>

Burada, ”in SELECT.. OPTION etiketlerini kullanarak, ziyaretçimizden hangi sınav notunu öğrenmek istediğini bize bildirmesini istiyoruz. Dikkat ettiğiniz gibi, bu kez , elde edeceği verileri formlar03a_isle. ına yollamak istiyor. ”daki <SELECT NAME=”hangi_not[]” MULTIPLE> satırına da dikkat ettiniz mi? Bu satırın özelliği, daha önceki SELECT..OPTION etiketinden farklı olarak ziyaretçinin çoklu seçme yapmasına imkan veriyor; elde edilecek değeri “hangi_not[]” alanının değeri olarak bildiriyor. HTTP iletişim ilkelerine göre çoklu-seçim halinde seçilen OPTION değerleri Sunucu”ya aynı alan adının şısına yazılarak gönderilir. Formumuzun göndereceği bilgi yumağını satırlar haline getirirsek (HTTP ünü atar URL kodlarını çözersek) bunu görebiliriz:

adi=Şahika Tabak
adres=stabak@somenet.com
hangi_not[]=Sınav 1
hangi_not[]=Sınav 2
hangi_not[]=Ortalama

Kendisine böyle bir bilgi yumağı gelen Server, bunun tümünü $HTTP_GET_VARS dizi değişkeninin içine yazacaktır. Başka bir deyişle, bu dizi değişken çıok-boyutlu çok-elemanlı ilişkili-dizi olduğu için, içinde rahatça aynı isimde değişkenlere farklı endeks sayısı verecektir. Fakat sorun ”nin, bu dizinin içinden değişkenleri almasında ortaya çıkacak endeks ismi aynı olan değişkenler sorun olacaktır. Bunu değişkenin endeks adı olarak kullanılacak kelimenin yanına köşeli parantez koyarak çözüyoruz. bu adı görünce, bunun çok-elemanlı bir dizi değişken olacağını anlayacaktır.

Eğer bu formu, formlar03_isle. ına gönderseniz “hangi_not” değişkeninin değeri olarak Browser penceresinde “array” kelimesinin belirdiğini görebilirsiniz. Çünkü açısından bu değişken bir dizidir içinde anahtar=değer çiftleri vardır. Daha önce anahtar=değer çiftlerini geçici değişkenlere atayıp bir döngü ile yazdırmıştık. Şimdi, kodumuzu bu duruma uygun hale getirelim. Biraz önce yazdığımız işleme ının sadece ünü şöyle değiştirerek, formlar03a_isle. adıyla kaydedelim:

<?
foreach ($HTTP_GET_VARS as $anahtar=>$deger )
{
if ( gettype ($deger ) == “array” )
{
print (”$anahtar == <br>
“);
foreach ( $deger as $yeni_degerler )
print (”.. $yeni_degerler<br>”);
}
else
{
print (”<b>$anahtar = $deger <br>
“);
}
}
?>

”nin gettype() fonksiyonunu daha önce görmüş bir değişkenin türünü anlamaya yaradığını öğrenmiştik. Burada $HTTP_GET_VARS değişkeninden aldığımız değerlerden herhangi birinin gerçekten bir değişken değeri mi, yoksa bir dizi (array) mi olduğunu gettype() ile anlayabiliriz. Eğer değer olarak şımıza “array” kelimesi çıkarsa, bunu kendi içinde anahtar değer olarak bölebilir herbirini ayrı ayrı görüntüleyebiliriz. Eğer $HTTP_GET_VARS değişkeninden aldığımız değer, dizi değil de gerçekten bir değişken ise (else) doğruca bu değeri anahtarını yazdıracaktır. Sonuç ise dizi-değişken içindeki dizi-değişkenin değerlerinin tek tek görüntülenmesi olacaktır.

”dan POST metoduyla gelen bilgiler
etiketinin METHOD parametresinin değeri GET olabildiği gibi POST da olabilir; HTTP sunucusu bu yöntemle gelen bilgileri $HTTP_POST_VARS dizi-değişkeninde tutar. Yukarıdaki çok-seçmeli ”un etiketini şöyle değiştirerek, formlar03b.htm adıyla kaydedelim:

< ACTION=”formlar03a_isle.” METHOD=”POST”>

Aynı şekilde son işleme ımızda da sadece şu değişikliği yapalım:

foreach ($HTTP_POST_VARS as $anahtar=>$deger ) {

Bu dosyayı da formlar03b_isle. adıyla kaydedelim. sayfasını açarak formu doldurur gönderirseniz, sonucun metod olarak GET kullanan ”dan hiç farklı olmadığını göreceksiniz. Çünkü ı bu ”un gönderdiği bilgilerin $HTTP_POST_VARS değişkenine yazıldığını biliyordu. $HTTP_POST_VARS da açısından içinde anahtar=değer çiftleri olan bir dizi-değişkendir; bu değişkenin değerlerine de tıpkı daha önce olduğu gibi erişiriz.

HTTP açısından GET ile POST”un tek farkı gelen değerlerin nerede tutuldueğundan ibaret değildir. GET yönteminde, bir Browser”ın sunucuya gönderebileceği verinin uzunluğu, Sunucunun ayarlarına bağlı olmak üzere, sınırlıdır. Oysa POST ile alacağımız veri miktarı, sadece sunucunun bulunduğu ın alanıyla sınırlıdır. (Tabiî bu günümüzde sınırsızdır, anlamına geliyor!) Bir başka fark, Browser”ın GET yoluyla gönderdiği verilerin ( bu arada ziyaretçinin olarak yazdıklarında ekrana olarak çıkan metinler dahil) tümü, sunucuya, URL-kodlanmış metin olarak, Browser”ın URL adres hanesine de yazılmasıdır. Bir çok kullanıcı için bu bir güvensizlik belirtisi sayılır. Bu iki unsur Formlarımızda metod olarak GET yerine POST kullanmanın daha yerinde olduğunu gösterir.

Tedbirli Web programcılığı, özellikle birden fazla tasarımcı programcının birlikte çalıştığı Formlarda hangi yöntemin tercih edildiğini bilmenin kolay olmadığı projelerde, bilgisi işleyen programlarımızda ”da hangi metod kullanılmış olursa olsun, işlyeyici ın iki duruma da elverişli olmasını sağlamaktır. Sözgelimi son yazdığımız işleme ımızı şöyle değiştirir formlar03c_isle. adıyla kaydedersek, içeren sayfasını bu ı veri gönderecek şekilde değiştirirsek, her iki metodla gönderilen verileri işleme yeteneğine sahip bir elde etmiş oluruz.

<?

$form_bilgisi = ( isset($HTTP_POST_VARS ) ) ? $HTTP_POST_VARS : $HTTP_GET_VARS;
foreach ($form_bilgisi as $anahtar=>$deger )
{
if ( gettype ($deger ) == “array” )
{
print (”$anahtar == <br>
“);
foreach ( $deger as $yeni_degerler )
print (”.. $yeni_degerler<br>”);
}
else
{
print (”<b>$anahtar = $deger <br>
“);
}
}
?>

ile işlemciyi Birleştirelim
Şu ana kadar yaptığımız bütün örneklerinde, ”un bulunduğu sayfası ile bu ”un göndereceği verileri işleyen ı iki ayrı belge halinde idi. Bu, buradaki örneklerde olduğu gibi, ziyaretçinin verdiği bilgileri sadece Brıowser penceresine yazdıran bir eğitim çalışması için belki uygun; ama gerçek Web sitelerimizde ziyaretçilerimizin vereceği bilgileri çoğu zaman sadece onların Browser pencerelerinde göstermekle kalmayız, fakat bu bilgileri ya elektronik posta yoluyla kendimize yollarız, ya da sunucuda bir düzyazı veya veritabası dosyasına işleriz. Bu diğer amaçlarla yapacağımız içeren sayfaları, aslında ımızın bir içinde yer alabilir; ya da başka bir deyişle, ”umuz ziyaretçinin vereceği bilgileri kendi bulunduğu ına gönderebilir!

Bu karmaşık ifadeyi bir örnekle açalım. Yukarıda yaptığımız son sayfası ile ını şöyle birleştirelim; bunu formlar04. adıyla kaydedelim:

<?
if ( isset ( $HTTP_POST_VARS ))
{
print (”<>
“);
print (”<HEAD>
“);
print (”<TITLE>”de Formlar</TITLE>
“);
print (”<meta http-equiv=”content-type” content=”text/; charset=ISO-8859-9″>
“);
print (”<meta http-equiv=”Content-Type” content=”text/; charset=-1254″>
“);
print (”</HEAD>
“);
print (”<BODY>
“);
foreach ($HTTP_POST_VARS as $anahtar=>$deger )
{
if ( gettype ($deger ) == “array” )
{
print (”$anahtar == <br>
“);
foreach ( $deger as $yeni_degerler )
print (”.. $yeni_degerler<br>”);
}
else
{
print (”<b>$anahtar = $deger <br>
“);
}
}
print (”</BODY>
“);
print (”</>
“);
}
else
{
print (”<>
“);
print (”<HEAD>
“);
print (”<TITLE>”de Formlar</TITLE>
“);
print (”<meta http-equiv=”content-type” content=”text/; charset=ISO-8859-9″>
“);
print (”<meta http-equiv=”Content-Type” content=”text/; charset=-1254″>
“);
print (”</HEAD>
“);
print (”<BODY>
“);
print (”< ACTION=”$PHP_SELF” METHOD=”POST”>
“);
print (” Adınız, Soyadınız: <INPUT TYPE=”TEXT” NAME=”adi”>
“);
print (”<BR>
“);
print (” Elektronik Adresiniz: <INPUT TYPE=”TEXT” NAME=”adres”>
“);
print (”<BR>
“);
print (” Hangi notunuzu öğrenmek istiyorsunuz?
“);
print (”<BR>
“);
print (”<SELECT NAME=”hangi_not[]” MULTIPLE>
“);
print (”<OPTION>Sınav 1
“);
print (”<OPTION>Sınav 2
“);
print (”<OPTION>Ortalama
“);
print (”</SELECT>
“);
print (”<BR>
“);
print (”<INPUT TYPE=”SUBMIT” VALUE=”Gönder Gitsin!”>
“);
print (”<INPUT TYPE=”RESET” VALUE=”Vazgeç, Gönderme!”>
“);
print (”</>
“);
print (”</BODY>
“);
print (”</>
“);
}
?>

Bu dosyanın tümüyle ı olduğuna dikkat ettiniz, tabiî? açıldığında sunucunun $HTTP_POST_VARS dizi-değişkeninin bir değer içerip içermediğini bir if deyiminin içinden bir değişkenin içeriği olup olmadığını anlamamıza yarayan isset () fonksiyonu ile yapıyoruz. Bu şart doğru ise, yani $HTTP_POST_VARS dizi-değişkeni bir değer içeriyorsa, , foreach döngüsünün içinde bu değişkenin içindekileri almaya Broüwser penceresinde görüntülemeye başlıyor. Bu şart doğru değilse, yani $HTTP_POST_VARS dizi-değişkeni henüz bir değer içermiyorsa, if deyiminin birinci ünü içindeki hiç bir kod icra edilmiyor prgram else deyimine sıçrıyor. ın else ü ise daha önceki kodlarımızı içeren bir dizi print() fonksiyonu yerine getiriyor; yani Browser”a içinde bulunan sayfasını yazdırıyor. Burada etiketine dikkat edelim:

print (”< ACTION=”$PHP_SELF”METHOD=”POST”>”);

”un ACTION parametresinde bir ının adı yerine “$PHP_SELF” değişken adını görüyoruz. Bu, bu ün başında ele aldığımız gibi, sunucunun bu ına sağladığı çevre değişkenlerinden biridir o anda çalışmakta olan ının dosya adını içerir.

Dosya “çıkartma”
Bir sunucuya, Web ziyaretçisi olarak gönderebildiğimiz tek şey ise, Formlara yazdığımız yazılardır! Oysa ”in INPUT etiketinin çok az kullanılan TYPE=”file” parametresi ziyaretçiye Web sunucusuna dosya gönderme (upload) imkanı sağlar. HTTP protokolü buna imkan vermekle birlikte Browser”lar bu imkanı kullanmaya ileri sürümlerinde kavuştular. PHP4, ziyaretçilerimizin sitemize dosya göndermeleri halinde, bu dosyaların yönetimine ayrıca kolaylık sağlayan değişkenlere sahiptir. Önce şu dosyayı, dosya_gonder. adıyla kaydedin:

<>
<HEAD>
<TITLE>”de Dosya Gönderme</TITLE>
<meta http-equiv=”content-type” content=”text/; charset=ISO-8859-9″>
<meta http-equiv=”Content-Type” content=”text/; charset=-1254″>
</HEAD>
<?
$dosya_dizin = “/inetpub/wwwroot/”;
$dosya_url = “http://server/”;
if ( isset ( $dosya_gonder ))
{
print (”<b>Yol:</b> $dosya_gonder<br>
“);
print (”<b>Adı:</b> $dosya_gonder_name<br>
“);
print (”<b>Boyut:</b> $dosya_gonder_size<br>
“);
print (”<b>Tür:</b> $dosya_gonder_type<br>
“);
copy ( $dosya_gonder, “$dosya_dizin/$dosya_gonder_name” )
or die (”Dosya kopyalanamıyor!”);
if ( $dosya_gonder_type == “image/gif” ||$dosya_gonder_type == “image/pjpeg” )
{
print (”<img src=”$dosya_url/$dosya_gonder_name”><p>

“);
}
}
?>
</BODY>
< ENCTYPE=”multipart/-data” ACTION=”<? print $PHP_SELF?>” METHOD=”POST”>
<INPUT TYPE=”hidden” NAME=”MAX_FILE_SIZE” VALUE=”951200″>
<INPUT TYPE=”file” NAME=”dosya_gonder”><BR>
<INPUT TYPE=”SUBMIT” VALUE=”Dosya Gönder!”>
</>
</BODY>
</>

Bu programda <INPUT TYPE=”file” NAME=”dosya_gonder”> etiketinde kullandığımız NAME parametresine verdiğimiz değer, ziyaretçimizin göndereceği dosyanın sunucu tarafından kaydedileceği geçici dizinin tam yolunun yazılacağı değişkenin adı olacakdır. , bu dosya ile ilgili her türlü bilgiyi bu adla kaydedektir. , ziyaretçiden bir dosya yla aktarıldığı anda olarak bu isimden yararlanarak şu değişkenleri oluşturur:

$dosya_gonder:Geçici dizini yolu (UNIX”te /tmp/phpXXX, ”da /TEMP0phpXXX. Burada XXX yerine ziyaretçilerin gönderdiği dosyaların sıra numarasını göreceksiniz.)

* $dosya_gonder_name - Ziyaretçinin gönderdiği dosyanın adı.

* $dosya_gonder_size - Ziyaretçinin gönderdiği dosyanın boyutu.

* $dosya_gonder_type - Ziyaretçinin gönderdiği dosyanın türü

ayrıca bu bilgileri $HTTP_POST_FILES dizi-değişkeninde de tutar.

Yukardaki programda şu iki değişken çok önemlidir:

$dosya_dizin = “/inetpub/wwwroot/”;
$dosya_url = “http://server/”;

$dosya_dizin adıyla oluşturduğumuz değişkene vereceğimiz değer, ziyaretçinin göndereceği dosyanın kopyalanacağı klasörün adı olarak kullanlacaktır. Sözgelimi ortamında buraya kişisel Web sunucunun varsayılan klasörünün adını yazabilirsiniz. Ziyaretçinin göndereceği dosya bir GIF biçiminde grafik dosyası ise bunu Browser”da görünteleyeceğimiz için, bu dizinin Web”e açık olması, başka bir deyişle bizim Web sunucumuzun erişebileceği bir dizin olması gerekir. Nitekim, $dosya_url değişkenine değer olarak bu klasörün URL adresini veriyoruz. Bu iki değişkeni gerçek Web sunucu için yazacağımız zaman, bizim sunucumuzun varnaydığı fiziksel klasör adını yolunu bulmamız gerekir. Bunu daha önce yazdığımız . veya formlar01. programlarını sitemizde çalıştırarak bulabiliriz.


sources/subs. yi aç

Code:
array(
				"tag" => "green",
				"before" => "<span style="color: green;">",
				"after" => "</span>",
			),

altına bunu ekle

Code:
array(
"tag" => "",
"type" => "unparsed_commas_content",
"test" => "d+,d+]",
"content" => "<object width="400" height="334"><param name="movie" value="http://vdo..com/e/$1" ></param><embed src="http://vdo..com/e/$1" type="application/x-shockwave-" wmode="transparent" width="400" height="334"></embed></object>",
"validate" => create_function("&$tag, &$data, $disabled", "
if (isset($disabled["url"]))
$tag["content"] = "$1";"),
"disabled_content" => "<a href="$1" target="_blank">$1</a>",
),

array(
"tag" => "videoyahoo",
"type" => "unparsed_commas_content",
"test" => "d+,d+]",
"content" => "<embed src="http://us.i1.yimg.com/cosmos.bcst..com//media/swf/FLVVideoSolo.swf" flashVars="id=$1&emailUrl=http%3A%2F%2Fvideo..com%2Futil%2Fmail%3Fei%3DUTF-8%26vid%3D952678%26fr%3D%26cache%3D1&imUrl=http%25253A%25252F%25252Fvideo..com%25252Fvideo%25252Fplay%25253Fei%25253DUTF-8%252526vid%25253D952678%252526cache%25253D1&imTitle=The%252BTypewriter&searchUrl=http://..com/search/?p=&profileUrl=http://..com//profile?yid=&creatorValue=$1" width="425" height="350" type="application/x-shockwave-" wmode="transparent"></embed>",
"validate" => create_function("&$tag, &$data, $disabled", "
if (isset($disabled["url"]))
$tag["content"] = "$1";"),
"disabled_content" => "<a href="$1" target="_blank">$1</a>",
),	

		array(
"tag" => "bright",
"type" => "unparsed_commas_content",
"test" => "d+,d+]",
"content" => "<embed src="http://admin.brightcove.com/destination//.swf" bgcolor="#FFFFFF" flashVars="allowFullScreen=true&initVideoId=$1&servicesURL=http://www.brightcove.com&viewerSecureGatewayURL=https://www.brightcove.com&cdnURL=http://admin.brightcove.com&autoStart=false" base="http://admin.brightcove.com" width="486" height="412" type="application/x-shockwave-" wmode="transparent"></embed>",
"validate" => create_function("&$tag, &$data, $disabled", "
if (isset($disabled["url"]))
$tag["content"] = "$1";"),
"disabled_content" => "<a href="$1" target="_blank">$1</a>",
),	

			array(
"tag" => "vidivodo",
"type" => "unparsed_commas_content",
"test" => "d+,d+]",
"content" => "<embed src="http://www.vidivodo.com/VideoPlayerShare.swf?lang=tr&vidID=$1." type="application/x-shockwave-" wmode="transparent" width="425" height="343"></embed>",
"validate" => create_function("&$tag, &$data, $disabled", "
if (isset($disabled["url"]))
$tag["content"] = "$1";"),
"disabled_content" => "<a href="$1" target="_blank">$1</a>",
),

		array(
"tag" => "izlesene",
"type" => "unparsed_commas_content",
"test" => "d+,d+]",
"content" => "<embed src="http://www.izlesene.com/player2.swf?=$1" wmode="transparent" width="432" height="344" type="application/x-shockwave-"></embed>",
"validate" => create_function("&$tag, &$data, $disabled", "
if (isset($disabled["url"]))
$tag["content"] = "$1";"),
"disabled_content" => "<a href="$1" target="_blank">$1</a>",
),

		array(
"tag" => "",
"type" => "unparsed_commas_content",
"test" => "d+,d+]",
"content" => "<object width="$2" height="$3"><param name="movie" value="http://www..com/v/$1" ></param><embed src="http://www..com/v/$1" type="application/x-shockwave-" width="$2" height="$3"></embed></object>",
"validate" => create_function("&$tag, &$data, $disabled", "
if (isset($disabled["url"]))
$tag["content"] = "$1";"),
"disabled_content" => "<a href="$1" target="_blank">$1</a>",
),

			array(
"tag" => "",
"type" => "unparsed_commas_content",
"test" => "d+,d+]",
"content" => "<embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-" src="http://..com/googleplayer.swf?docId=$1&hl=en" flashvars=....................</embed>	",
"validate" => create_function("&$tag, &$data, $disabled", "
if (isset($disabled["url"]))
$tag["content"] = "$1";"),
"disabled_content" => "<a href="$1" target="_blank">$1</a>",
),		

				array(
"tag" => "metacafe",
"type" => "unparsed_commas_content",
"test" => "d+,d+]",
"content" => "<embed src="http://www.metacafe.com/fplayer/$1.swf" type="application/x-shockwave-" width="400" height="345"></embed>",
"validate" => create_function("&$tag, &$data, $disabled", "
if (isset($disabled["url"]))
$tag["content"] = "$1";"),
"disabled_content" => "<a href="$1" target="_blank">$1</a>",
),	

			array(
"tag" => "livevideo",
"type" => "unparsed_commas_content",
"test" => "d+,d+]",
"content" => "<embed src="http://www.livevideo.com/flvplayer/embed/$1" type="application/x-shockwave-" quality="high" WIDTH="445" HEIGHT="369" wmode="transparent"></embed>",
"validate" => create_function("&$tag, &$data, $disabled", "
if (isset($disabled["url"]))
$tag["content"] = "$1";"),
"disabled_content" => "<a href="$1" target="_blank">$1</a>",
),

kullandığınız tema klasoru/display.template. post.template. de
bunu bul

Code:
"ftp" => array("code" => "ftp", "before" => "[ftp=", "after" => "]", "after" => "[/ftp]", "description" => $txt[434]),

altına bunu ekle

Code:
array(),

"" => array("code" => "", "before" => "[=425,350]", "after" => "[/]", "description" => ),

"" => array("code" => "", "before" => "[=400,326]", "after" => "[/]", "description" => ),

"metacafe" => array("code" => "metacafe", "before" => "[metacafe=400,345]", "after" => "[/metacafe]", "description" => Metacafe),

"" => array("code" => "", "before" => "[=400,334]", "after" => "[/]", "description" => ),

"livevideo" => array("code" => "livevideo", "before" => "[livevideo=445,369]", "after" => "[/livevideo]", "description" => Livevideo),

"bright" => array("code" => "bright", "before" => "[bright=486,412]", "after" => "[/bright]", "description" => Brightcove),

"vidivodo" => array("code" => "vidivodo", "before" => "[vidivodo=425,343]", "after" => "[/vidivodo]", "description" => Vidivodo),

"izlesene" => array("code" => "izlesene", "before" => "[izlesene=432,344]", "after" => "[/izlesene]", "description" => izlesene),

"videoyahoo" => array("code" => "videoyahoo", "before" => "[videoyahoo=425,350]", "after" => "[/videoyahoo]", "description" => videoyahoo),

Taglar Arasına Eklenecek Kodlar Koyu Renkle İşaretlenmiştir


http://www.youtube.com/watch?v=zZp75fWe-ss


http://video.google.com/videoplay?docid=-2494059705240860619
Metacafe