Edıtorun Notu: Konuyu daha rahat ızlenebılmesı ıcın uste tasıdım. Eger sızde bu konuya katkıda bulunabılecegınızı dusunuyorsanız Yns'ın belırledıgı formatta mesajlar gonderebılırsınız..
Bunun dısında kalan seyler ıcın (soru, gorus vs.) yenı bı konu acmanız yerınde olur.
----------------------------------
Araştırdım ceviz'de böyle bir konu yok , aslında döküman şeklinde yazacaktım ama herkes birşeyler ekler konu daha güzel olur diye düşündüm.
Bu konuda , PHP öğrenirken sıkça sorulan soruları ve cevaplarını yazalım , böylece hemen hemen her 2 haftada bir sorulan klon sorulardan kurtulabiliriz belki(umarım) , hani birileride sabite alırsa tadından yenmez
.
- Neden FORM bilgilerim gözükmüyor ? Örneğin , form'da name=ahmet şeklinde bir input kutusu hazırlayıp diğer sayfada $ahmet şeklinde almaya çalıştığımda hiç birşey ekrana basılmıyor ?
Form'dan gelen veriyi tescillemeyi unutmayın.register_globals 'un kapalı olduğu sunucularda -ki genelde güvenlik nedeniyle kapalıdır-.
Çözüm : Bu tür verileri aşağıdaki gibi alabilirsiniz.
Bu tür sorunların önüne geçmek için kullanabileceğinz global diziler:PHP Kodu:$ahmet = $_POST['ahmet']; // FORM post methodu ile veri yolluyorsa
// $ahmet = $_GET['ahmet']; // GET methodu ile yolluyorsa
$_SERVER[]: sunucu degiskenleri , PHP_SELF ,REMOTE_ADDR gibi.
$_COOKIE[]: çerez değişkenlerinin saklandıgı dizi
$_SESSION[]: oturum değişkenlerinin saklandığı dizi
$_FILES[]: Upload değişkenlerinins saklandığı dizi
$_REQUEST[]: GET , POST , COOKIE değişkenlerini içine alan dizi
Supergloballer hakkında daha fazla ayrıntılı bilgiye buradan ulaşabilirsiniz.
- Cannot modify header information - headers already sent hatası alıyorum ? Nasıl düzeltirim ?
Muhtemelen sayfaya HTML çıktısı yapıldıktan sonra header() kullanmaya çalıştınız.Sayfanın başına ob_start();, sonuna ob_end_flush() ekleyin.
- Enter tuşuna basıldığında otomatik olarak alt satıra geçilmesini istiyorum
nl2br fonksiyonunu kullanın.
- Değişkeni ekrana basarken değeri çıkmıyor , $degiskenadi şeklinde çıkıyor.
Muhtemelen tek tırnak içinde ekrana basmak istediniz.Örneği inceleyin.
PHP Kodu:$degisken = 'ceviz.net';
echo"$degisken"; // cikti ceviz.net
echo''.$degisken.''; // cikti ceviz.net
echo $degisken; // cikti ceviz.net
echo '$degisken'; // cikti $degisken
- Adres satırından gelen veriyi integer veritipine çevirmek istiyorum ?
Eğer veri numerik degilse 0'a eşitlenir.
PHP Kodu:$id = int ($_GET['id']);
// veya
$id = intval($_GET['id'];
- Dizindeki dosyaların tümünü array'e atmak istiyorum ?
PHP5 kullanıyorsanız scandir kullanın , PHP4 için alternatifi aşağıda.
PHP Kodu:$dh = opendir('/home/emre');
while (false !== ($filename = readdir($dh))) {
$dizi[] = $filename;
}
- echo'mu kullanmalıyım yoksa print'mi ?
http://www.faqts.com/knowledge_base/...l/aid/1/fid/40
- Değişken'den gelen HTML karakterlerini silmek istiyorum ?
strip_tags , htmlspecialchars kullanın.strip_tags ile belirttiğiniz html etiketlerinin kullanılabilmesinide sağlayabilirsiniz.
- E-mail değişkenime mantıksal bir e-mail girilmiş mi kontrol etmek istiyorum ?
PHP Kodu:function mail_kontrol($email) {
if (!eregi ("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}$", $email))
die ("E-Mail Adresiniz Geçersiz");
}
- Değişkeni belli bir karakterden sonra bölmek istiyorum ?
substr kullanın.
- Input kutusu içinde gösterdiğim kaydın sadece ilk kelimesi gözüküyor ?
PHP Kodu:echo"<input type=text name=$degisken>"; # hatali kullanim
echo"<input type=text name='$degisken"; # dogru
- Belli bir karakterden sonra otomatik olarak <br /> yapılmasını istiyorum.Sayfa uzadıkça uzuyor yahu.
PHP Kodu:function yaziyi_bol($yazi, $uzunluk) {
if($yazi && strlen($yazi)>$uzunluk) {
$yazi=preg_replace("/([^\n\r -]{".$uzunluk."})/i"," \\1\n<br />",$yazi);
return $yazi;
}
else return $yazi;
}
//Örnek kullanım
echo yaziyi_bol($yazi,$uzunluk);
- Rasgele şifre üretmek istiyorum
http://forum.ceviz.net/showpost.php?...3&postcount=11 (Kütüphane)
- str_replace'in buyuk kucuk harf ayrımı yapmasını istemiyorum ?
eregi_replace
- URL üzerinden veri yolluyorum ama diğer sadece ilk kelimesini alabiliyorum?
urlencode() kullanabilirsiniz ;
PHP Kodu:echo '<a href="mycgi?foo=', urlencode($userinput), '">';
- Fonksiyon içinde değişken kullanamıyorum !
2 yolu var , fonksiyona parametre olarak tanımlamak.
veya global olarak tanımlamakPHP Kodu:function foo($degisken1,degisken2,...) {
//...
}
PHP Kodu:function bar($degisken) {
global $degisken1,$degisken2;
//..
}
- MySQL sorgusu yapmak istediğimde Invalid Result Resource hatası alıyorum ? Ne anlama geliyor ?
Bu hata herhangi bir nedenden dolayı yaptığınız sorguda oluşan bir hatayı gösterir.Ayrıntılı hata mesajlari alabilmek için mysql_error(); kullanabilirsiniz.
gibi..PHP Kodu:mysql_query("SELECT foo FROM bar where id='$id'") or die(mysql_error());
- Veritabanina yazarken ' karakterleri \\\ haline geliyor.Niye bu kafar çok \ var ?
Eğer magic_quotes açıksa veriler sorguya sokulmadan önce otomatik olarak slash eklenir birde adslashes ile eklerseniz fazladan slash bolluğu yapmış olursunuz.Şöyle bir kontrol yapabilirsiniz.
PHP Kodu:if (!get_magic_quotes_gpc()) { $degisken = addslashes($degisken); }
- Dosya içeriğini array'e atmak istiyorum ?
file()
- Tasarımla kodlamayı ayırmak istiyorum ?
http://forum.ceviz.net/showpost.php?...0&postcount=61 (Kütüphane)
- Bazı fonksiyonlardan dönen hataların gözardı edilmesini istiyorum?
Fonksiyonu kullanirken başına @ karakterini ekleyin.
gibi..PHP Kodu:@mysql_connect('localhost','root','');
- MySQL'den çektiğim verileri yanyana ve altalta gostermek istiyorum ?
http://forum.ceviz.net/showthread.php?t=23244 (düşey ve yatay sıralama)
- Form doldurmadan PHP'den doğru POST verisi yollamak istiyorum ?
cURL veya socket kütüphaneleriye yapmak mümkün , ikisiylede ilgili döküman dökümanlar bölümünde mevcut , yada basitçe cURL ile POST verisi yollamak.
PHP Kodu:<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://www.mysite.com/tester.phtml");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
"postvar1=value1&postvar2=value2&postvar3=value3");
curl_exec ($ch);
curl_close ($ch);
?>
- header() fonksiyonu belli bir saniye bekledikten sonra yönlendirsin?
PHP Kodu:header("Refresh: 0; http://www.php.net");
- Sayfam çok geç açılıyor , nasıl optimize edebilirim ?
http://forum.ceviz.net/showthread.php?t=23178 (200+ online kaldırabilicek kodlar yazabilmek)
- HTML icerikli mail yollamak istiyorum?
PHP Kodu:# turker
function
postala($gidecekMail,$gonderenAd,$gonderenMail,$konu,$mesaj) {
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-9\n";
$headers .= "X-Mailer: PHP\n";
$headers .= "X-Sender: PHP\n";
$headers .= "From: $gonderenAd<$gonderenMail>\n";
$headers .= "Reply-To: $gonderenAd<$gonderenMail>\n";
$headers .= "Return-Path: $gonderenAd<$gonderenMail>\n";
@mail($gidecekMail,$konu,$mesaj,$headers);
}
# kullanim
postala('webmaster@ceviz.net','turker','turker@eggdropturk.com','Site Hatası','Ana sayfanın sağ alt köşesinde bir kıl var. Ne o?');



LinkBack URL
About LinkBacks
) , hani birileride sabite alırsa tadından yenmez
.
Alıntı Yaparak Yanıtla

Sık Kullanılanlar