<?php ?>arasındaki herşeydir
kısa tag olarak <? olarakta yazılabilir
<? ... ?>gibi
nasıl yazarım
nereden başlıyalım önce php ile ekrana yazmayı görelim
<? echo'saho'; ?>burada yazdırdık ama ' ' ile yazdırdık bir değişken yazdıracağımızda değişken değil düz metin olarak çıktı verilir ama henüz değişken nedir bilmiyorsunuz. o yüzden hemen değişkeni anlatalım
$degisken='degisken iceri verisi';
veya
$degisken="degisken iceri verisi";
gibi tanımlanır yine üstteki kısım
' ' arasında kod var ise değişken olarak değilde metin olarak algılar " " arasında olursa değişken oolduğunu anlar echo ile değişken basmaya devam örnek
<? $saho='saho değişken değeri'; echo'$saho'; ?>bu ekrana
$saho çıktısı verir
ama
<? $saho='saho değişken değeri'; echo "$saho"; ?>ekrana
$saho değişkenin içini yani
saho değişken değeri
ini bastı yapar
bir püf noktası mesala
<? echo'<table><tr><td>... <form ..... <input ...'; ?>gibi bir yazımdan
?>[/php]
<table><tr><td>...
<form .....
<input ...
<? yazımı daha hızlı derlenmesine ve daha hızlı çıktı vermesine etki eder bu yüzden bu şekilde kullanılmalıdır bu kısımlarda ise pratik ve kısa yazımlar için bir püf noktası ?><table><tr><td>...
<form .....
<input name='saho' value='<?=$saho;?>'>
<?
gibi
<?= değişken ;?>gibi kısadan yazılabilir değişken içeriği bastırılabilir
değişkenlere geri dönersek
değişkenleri uc uca ekleyerek toplayabiliriz
$degisken3=$degisken2.$degisken1;
gibi yan yana eklenebilir burada mesala bir çok şey yaplabilir mesala aralarına ayraç koyabilirsiniz
$degisken3=$degisken2.'ayraç'.$degisken1;
gibi php de metin gireceğimizde bu aralıkta
. ile durdurur ' ile metin kısmını açar ' ile kapar .
ile php metini bitiririz, yine ' ' - " " basması geçerlidi değişken kullanmayacaksak ' ' ile metin girişi yapıp az da olsa sayfanızın hızlı derlenmesini sağlayabilirsiniz.
değişkenlerde sıkıntınız varsa ek olarak yazabilirsiniz
php de ölümcül nokta
if lere geldik aslında programlama nın temeli if tir
aslında if herşeydir hadi layn nerden çıkardın diyenlere kapak geliyo
if e yani programlamacılığa ekşin yapıyoruz
önce kısa gösterimler daha sonra kapak etme mevzusuna dönecem
<? $saho='sahoooo'; if($saho=='sahoooo') { şartımız sağlanıyorsa } ?>şimdi bir de şey var şartımız sağlanmıyorsa
bunun için epey yöntem var zihnimde 3 tanesi yeterli : ) gibi yazarız 1 ara
yöntem -1
<? $saho='sahoooo'; if($saho!='sahoooo') { şartımız sağlanmıyorsa } ?>== yerine != yaparak eşit değilse yapabiliriz
yerini değiştiremezsiniz =! yaparsanız synatx error verir : ) != gibi kullanımı söz konusu
yöntem -2
<? $saho='sahoooo'; if($saho<>'sahoooo') { şartımız sağlanmıyorsa } ?>yine eşit değilse diğer php nin temel yöntemi
yöntem -3
<? $saho='sahoooo'; if($saho=='sahoooo') { şartımız sağlanıyorsa } else { şartımız sağlanmıyorsa istediğimizi elde edemediysek } ?>hemen basit bir örnek türkiye ip leri başlangıcı 85 var mesala
<? $turk_ip='85'; $adamin_ip=substr($_SERVER["REMOTE_ADDR"],0,2); if($turk_ip==$adamin_ip) { türkse gösterilecek sayfa burada genelde include"turkce_index.php"; } else { türk ip si değilse include"digerdiller_index.php"; } ?>noluyo görsetmediğin şeyler var burada derseniz
2 şey var
1- substr
2- include
hemen yan başlık açalım onlara
substr bir değerin içeriğinin sayısal olarak uzunluklarına göre alınmasını sağlanır
he birde
$_SERVER["REMOTE_ADDR"] var buda kişinin ip sini alır
kişinin ip sini aldık mesala
85.12.98.127 gibi bir şey
bunu substr ile
substr($_SERVER[REMOTE_ADDR],0,2);
yaparak adamın ip sini al 0 dan başla 2 tane karakterini al dedik ve 85 i elde etmiş oldu mesala tr olmayan bir ip ise if de diğer kısım çıkacak substr ın diğer kullanım yöntemleri mesala
subsr($degisken,-4);
en sağdan tersten 4 karakteri alır soldan başlamz yani şöyle bişi daha var
substr i mesala şurada kullanırsın siteye haber ekleyeceksin makale ekleyeceksin uzun makale makalenin bir kısmını ana sayfada göstermek için
substr($yazikaynagi,0,255);
255 tane al ilk 255 karakteri al yani sonra kalanları almak içinse şöyle bir yöntem
substr($yazikaynagi,255,strlen($yazikaynagi));
gibi bir şekilde 255 den değişkenin uzunluğu kadar alırsın evet strlen o değişkenin uzunluğunu sayısal olarak çıktısını verir sonra geçtik nerede kaldıydık ya [IMG]file:///C:/DOCUME%7E1/Saho/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image001.gif[/IMG]
heh if leri vermişiz
if böyle çok basit diyosan mesala hani programlamanın temeliydi diyosan mesala
phpde süper değişkenler diye bir şey var bunlar
$_GET, $_POST get form la üretilir yada link verilir php sadece form dan üretilir curl cart curt la zaten suncuuya post attırma mantığı var
link ile mesala
index.php?bolum=saho dersen
<? if($_GET["bolum"]=="saho") { include"saho.php"; } else { include"index.php"; } ?>gibi bir kullanım var bunun daha pratiği switch var ama onun mantığı da yine if e dayanıyor içinde if den farklı bir şey yoktur.biraz daha basit kullanımı işte üsttekini açıklıyım devam edelim
bolum den gelen değeri
$_GET["bolum"] ile aldık bu saho ya eşitse
saho.php yi sayfaya dahil ettik değilse
index.php yi dahil ettik
mesala 3 sayfanız var saho,deli_dana,index .php adında
<? if($_GET["bolum"]=="saho") { include"saho.php"; } elseif($_GET["bolum]=="deli_dana") { include"deli_dana.php"; } else { include"index.php"; } ?>birde mesala get ile verdiğimiz link ile include ettiğimiz dosya adı aynı olmayabilir mesala
<? if($_GET["bolum"]=="saho") { include"sahabettin.php"; } elseif($_GET["bolum]=="deli_dana") { include"hosaf.php"; } else { include"index.php"; } ?>şayet öyle ise bunlarıda dinamik hala getirebiliriz ve sürekli anca dosya adını yazmayabiliriz mesala şöyle yapabiliriz
<? if($_GET["bolum"]=="saho") { include"$_GET["bolum"].php"; } elseif(=="deli_dana") { include"$_GET["bolum].php"; } else { include"index.php"; } ?>gibi
şimdi kısaca switch igösterem
<? switch($_GET["bolum"]) { case"saho": include"saho.php"; break; case"deli_dana": include"deli_dana.php"; break; default: include"index.php"; break; } ?>buda mesala üstteki ile aynı işi yapar biraz daha pratik ama temeli if bununda zaten
include ye gelirsek include edersiniz
saho mesala get bolum değeri
saho.php yoksa include hata verir ama sayfayı basmaya devam eder
require ile yaparsanız şöyle
require"saho.php";
sayfada hata verir direk sitenin diğer kısımlarınıda basmaz aslında bu saho.php sitenin temeli ise gerekli ise kesinlikle require ile sayfa ya dahil edilmelidir ki lamerlerlerin etkilerine tepkisiz kalmamnız için birde şu var mesala
aynı fonksiyon var saho.php nin içinde fonksiyon ney hemen onada gireyim
function saho() { saho fonksiyonunun içeriği }gibi mesala saho.php nin içinnde bu var
saho.php yi oldu bir yanlışlıkla 2 kez dahil ettiniz veya dinamik bir sayfa bir şekilde 2 kez dahil olabilir sayfaya kodlarınızın durum ve karmaşası ve mantığı ve algoritmasına göre 2 kez include edildiyse mesala
duplicate function gibi bir hata verebilir yada
duplicate definition yani 2 kez tanımlanmış bu fonksiyon gibi bir hata verebilir yada saho.php içeriği 2 kez basılır ekrana bunu engellemek için daha önce dahil edilmiş mi bu şeyler diye kontrol etmek için
require"saho.php";yerine
require_once"saho.php";yapmak olayı çözer
include"x";yeirnede
include_once"x";kullanılabilir
kafam dağıldı hemen
for a geçelim mesala
for($i=0;$i<10;$i++) { echo $i; }gibi yazarsak 1 den 10 a kadar ekrana yazı basar pratk halini yazalım tek satır echo bastıracaksak for içinde
for($i=0;$i<10;$i++) echo $i;parantezleri kullanmadan da yazdıralabilir mesala
title spam yapmak için yada etiket olayları içinde olabilir bu ben 2 sinide gösterem mesala
$spam=array('izle','indir','gonder');
array ney looo diyecek olursanız array
dizi burasya girdiğimiz izle indir gonder tek değişkene atandı toplu işlemler yapmak için daha pratik olur bu buna bin bir türlü erişim var php de $spam[0] derseniz izle 0 . saçma gibi ama 0. değeri alıyor [1] gibi derğerli alıyor mesala for ile şöyle yaparsınız
$spam=array('izle','indir','gonder'); for($i=0;$i<count($spam);$i++) echo $spam[$i];ekrana ard arda spam ın içeriğini dizer
count($spam)spam dizi-array ında kaç veri olduğunu ekrana basar mesala 3 tane ise for 3 kez döner ve tüm içeriğini basar bu amaçla kullandık burada mesala herşeyin temeli if demiştik burada for ile kullandık ya
bunu diziler için en büyük araç olan foreach ile daha kolay basabliriz mesala
foreach($spam as $spamx) { echo $spamx; }gibi yine yazdırırsın değeri vs. ile de uğraşmazsın daha pratik daha gelişmiş hali for buna göre daha ilkel yine bunda da tek satır parantezleri kullanmadan daha hızlı olabilirsiniz zaten bu parantezleri parse -syntax error ların temelidir insanı canından bezdirebilir ama eskiden di oda [IMG]file:///C:/DOCUME%7E1/Saho/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image001.gif[/IMG] zend var her satırı gösteriyo parantezleri vs. ama notepad,notepad++,dreamveawer kullananlar verem olmaya devam forever verem [IMG]file:///C:/DOCUME%7E1/Saho/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image002.gif[/IMG]
php ye devam mesala iyide ekrana bu spamı bassak elimize ne geçer şöyle bişide geçer
mesala video siten var
video adı $video_adi adlı bir değişkenin içinde veritabanından çekilmiş duruyo veritabanından çekmeyi de görecez anca giriyoz o az uzun kafanızı çok dağıtmıyım şimdi gelmiş değişkende duruyo kabul edelim
$video_adi içinde,
"baptista harika röveşata" yazıyor mesala
title spam yine bu title şeyini meta keyw a da da aktarabiliriz
foreach($spam as $spamx) echo $video_adi." ".$spamx;gibi yaparsak
baptista harika röveşata izle
baptista harika röveşata indir
baptista harika röveşata gonder
gibi çıktılar verir title de süper gider
daha sonra mesala array-dizi ile ilgili
shuffle($spam);
yaparsanız
spam da ki izle indir gonder in [0][1][2] lerin yerlerini değişir
birde arrayların güzelliği var toplu işlem yapabilirsiniz mesala şu
$_GET["bolum"] $_GET["obje"]gibi 15 tane get var bunlara güvenlik uygulaması yapacaksınız ' " vs. bunlardan kurtaracaksınız
fonksiyonlarada tekrar dönerek göstereyim mesala
function dizi_duz($dizi) { # dizi dedimiz şey $spam mesala $kotu_seyler=array('or','union','...'); return str_replace($kotu_seyler,'',addslashes(strtolower(htmlspecialchars($dizi)))); }gibi dizi_duz enleme fonksiyonumuzu tanımlıyoruz
daha sonra
foreach($_GET as $saho=>$ankabt) dizi_duz($_GET[$saho]);gibi tüm dizi içeriğine dizi_duz de bir kez tanımladığımız tüm olayları uygulayabiliyoruz
daha yazacağım şey var karışıkta olabilir
Yazar Şahabettin Akca