IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 20 Mart 2009, 03:59   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
PHP kodu yazarken sıkça sorulan sorular , rastlanan hatalar ve çözümleri ...




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 :p) , hani birileride sabite alırsa tadından yenmez
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
.
  • 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.[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 'un kapalı olduğu sunucularda -ki genelde güvenlik nedeniyle kapalıdır-.
Çözüm : Bu tür verileri aşağıdaki gibi alabilirsiniz.
PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
$ahmet $_POST['ahmet']; // FORM post methodu ile veri yolluyorsa
// $ahmet = $_GET['ahmet']; // GET methodu ile yolluyorsa 

Bu tür sorunların önüne geçmek için kullanabileceğinz global diziler:
$_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 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 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 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...], sonuna [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] ekleyin.
  • Enter tuşuna basıldığında otomatik olarak alt satıra geçilmesini istiyorum

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 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 Kod:   Kodu kopyalamak için üzerine çift tıklayın!
$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 Kod:   Kodu kopyalamak için üzerine çift tıklayın!
$id int ($_GET['id']);
// veya
$id intval($_GET['id']; 

  • Dizindeki dosyaların tümünü array'e atmak istiyorum ?

PHP5 kullanıyorsanız [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] kullanın , PHP4 için alternatifi aşağıda.
PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
$dh opendir('/home/emre');
    while (
false !== ($filename readdir($dh))) {
    
$dizi[] = $filename;


  • echo'mu kullanmalıyım yoksa print'mi ?

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
  • Değişken'den gelen HTML karakterlerini silmek istiyorum ?

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] , [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 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 Kod:   Kodu kopyalamak için üzerine çift tıklayın!
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 ?

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] kullanın.
    • Input kutusu içinde gösterdiğim kaydın sadece ilk kelimesi gözüküyor ?

    PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
    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 Kod:   Kodu kopyalamak için üzerine çift tıklayın!
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

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
  • str_replace'in buyuk kucuk harf ayrımı yapmasını istemiyorum ?

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
  • URL üzerinden veri yolluyorum ama diğer sadece ilk kelimesini alabiliyorum?

urlencode() kullanabilirsiniz ;
PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
echo '<a href="mycgi?foo='urlencode($userinput), '">'

  • Fonksiyon içinde değişken kullanamıyorum !

2 yolu var , fonksiyona parametre olarak tanımlamak.
PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
function foo($degisken1,degisken2,...) {
//...


veya global olarak tanımlamak
PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
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 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] kullanabilirsiniz.
PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
mysql_query("SELECT foo FROM bar where id='$id'") or die(mysql_error()); 

gibi..
  • 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
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
.Şöyle bir kontrol yapabilirsiniz.
PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (!get_magic_quotes_gpc()) { $degisken addslashes($degisken); } 

  • Dosya içeriğini array'e atmak istiyorum ?

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
  • Tasarımla kodlamayı ayırmak istiyorum ?

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
  • Bazı fonksiyonlardan dönen hataların gözardı edilmesini istiyorum?

Fonksiyonu kullanirken başına @ karakterini ekleyin.
PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
@mysql_connect('localhost','root',''); 

gibi..
  • MySQL'den çektiğim verileri yanyana ve altalta gostermek istiyorum ?

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
  • 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 Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<?php
$ch 
curl_init();
curl_setopt($chCURLOPT_URL,"
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
style="color: #007700">);
curl_setopt($chCURLOPT_POST1);
curl_setopt($chCURLOPT_POSTFIELDS,
            
"postvar1=value1&postvar2=value2&postvar3=value3");
curl_exec ($ch);
curl_close ($ch); 
?>

  • header() fonksiyonu belli bir saniye bekledikten sonra yönlendirsin?

[php]header("Refresh: 0; [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]]
  • Sayfam çok geç açılıyor , nasıl optimize edebilirim ?

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
  • HTML icerikli mail yollamak istiyorum?

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
# 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('
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
'
,'turker','
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
'
,'Site Hatası','Ana sayfanın sağ alt köşesinde bir kıl var. Ne o?'); 


 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Cevapla

Etiketler
cozumleri, çözümleri, hatalar, kodu, php, rastlanan, sikca, sorulan, sorular, yazarken


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

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


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Sıkça Sorulan Sorular Ecrin Online Oyunlar 0 04 Aralık 2013 23:48
Mamogramla İlgili Sıkça Sorulan Sorular Zen Sağlık Köşesi 0 18 Mayıs 2013 13:23
Gebelikte Sıkca Sorulan Sorular Sim Kadın Sağlığı 1 14 Mart 2013 14:50
Adsl Hakkında Sıkca Sorulan Sorular PaYanDA Ağ, Network ve Networking 2 26 Şubat 2006 13:07