PHP Kodları , Hataları , İp Uçları ve Sebepleri

'HTML-PHP-ASP-JAVA' forumunda semyav5mitq tarafından 24 Ekim 2008 tarihinde açılan konu

  1. Sponsorlu Bağlantılar
    PHP Kodları , Hataları , İp Uçları ve Sebepleri konusu Soru : Benim bir e-mail değişkenim var buraya girilen e-mail'in isim@siteadı.com formatında olduğunu nasıl kontrol ederim ?

    Kod:
    if (!eregi ("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}$", $email))
    die ("E-Mail Adresiniz Geçersiz");
    Soru : Kod yazıyorum fakat bazen hatalar veriyor ama ben bu hataları ekrana yazdırmasını istemiyorum?

    Kod:
    @mysql_connect('localhost','kullanıcı_adı','şifre');
    Soru : Ben sitemi hem ingilizce hem de türkçe yaptım. Gelen ziyaretçinin diline göre, sitenin otomatik olarak, o dil ile açılmasını nasıl sağlarım?

    Kod:
    $lisan = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
    if ( $lisan == "tr") {
    header("Location:index_tr.php"); 
    } else {
    header("Location:index_en.php");
    }

    Soru : PHP ile mail gönderirken, kullanılan ana fonksiyon nedir ve nasıl kullanılır?
    Kod:
    mail("isim@gönderilecekadres.com", $konu ,stripslashes($mesaj), $mailtanim);
    Soru : Değişkeni index.php?deger=4 şeklinde göndermeme rağmen index php de bu değeri okutamıyorum.

    Her metod için farklı okutma yöntemi vardır. Eğer veriyi index.php?deger=4 şeklinde göndermişseniz veriyi aşağıdaki gibi alabilirsiniz.

    Kod:
    $degisken = $_GET['deger'];
    Eğer veriyi POST metodu ile göndermişseniz ( POST metodu genelde buton ile kullanılır ) veriyi aşağıdaki gibi alabilirsiniz.

    Kod:
    $degisken = $_POST['deger'];
    Soru : Bazı sitelerde www.siteadı.com/index.php?p=sayfa şeklinde değil de www.siteadı.com/?p=sayfa şeklinde değişken kullanıldığını gördüm bunu nasıl yapabilirim ?


    Bunun için yapmanız gereken birşey yok. ?p=sayfa şeklinde olan kullanımda sayfa adı belirtilmemiştir çünkü bu durumda değişken index.php dosyasına gönderilecektir. Bunun sebebi ise serverda varsayılan sayfa adının index.php olmasıdır. Eğer index.php dışında sayfa.php veya iletisim.php gibi sayfalara değer gönderecekseniz bunu belirtmeniz gerekir (Örn :www.siteadı.com/iletisim.php?p=deger) . Çünkü belirtmezseniz değişken varsayılan sayfa olan index.php ye gönderilecektir.


    Soru : Bir formum var ve ben bu formla beraber güvenlik kodu kullanmak istiyorum bunu nasıl yaparım?

    Kod:
    <?
    session_start(); 
    $imagekod = '';
    
    for ($i = 0; $i < 6; $i++) 
    {
    $imagekod .= chr(mt_rand(100,120));
    $imagekod  = strtoupper($imagekod);
    }
    
    $_SESSION["guvenlikkodu"] = $imagekod; 
    $height = 20;
    $width = 80;
    $im = ImageCreate($width, $height);
    $white = ImageColorAllocate ($im, 255, 255, 255);
    $black = ImageColorAllocate ($im, 255,0,0);
    ImageFill($im, 0, 0, $black);
    ImageString($im, 300, 15, 3, $imagekod, $white);
    Header ("Content-type: image/gif");
    ImageGif($im);
    ImageDestroy($im);
    ?>
    Veriyi çıkartma

    Kod:
    <?php
        session_start();
    ?>
    <form method="POST" action="veri.php" id=form1 name=form1>
    Güvenlik Kodu :   <img src="guvenlik_kodu.php">
    <input type="text"  size="6" name="guvenlikkodu" value="">
    </form>


    Veri.php

    Kod:
    <?php
       $orjinalguvenlikkodu = $_SESSION["guvenlikkodu"]; 
    
         if($orjinalguvenlikkodu!=BuyukHarf(@$_POST["guvenlikkodu"]))
          {
               session_unset();
               HataSayfasiniGoster();
               exit();
           }
    ?>
    kolay gelsin (özellikle iletişim formu kullananlar sunucunuzda flood ddos koruması yok ise güvenliyi hostingciniz yerine siz alabilirsiniz bu şekilde..)

    Soru: PHP ile MySQL'e bir türlü bağlanamadım ne gibi çözümler olabilir?


    Bunun iki sebebi olabilir.

    1. İmla hataları: ";" işaretinin uygun yerlerde konulup konulmadığına dikkat edin. Ve bütün kelimeleri inceleyin.

    2. MySQL bilgilerinin yanlışlığı: phpMyAdmin e girdiğinizde üst köşede bütün bilgiler yazar Örneğin kayyonun Server adı "localhost" değil "mysql01.**********" dur.


    Soru : Serverdaki PHP, MySQL,Apache'nin sürümlerinin kaç olduğunu, server detaylarını nasıl öğrenirim?

    Kod:
    <?php
    phpinfo();
    ?>
    yazın ve farklı kaydet deyip info.php olarak kaydedin. Daha sonra da sitenize upload edip , www.siteadı.com/info.php şeklinde adresinizi girin. Tüm server detayları ekrana gelecektir.


    Soru : Harici bir siteyi kendi siteme nasıl include ederim?

    Kod:
    <?php
    readfile("http://www.siteadı.com");
    ?>
    Soru : Ekrana şöyle bir uyarı çıkıyor , site sorunsuz çalışıyor ama nedense bu uyarıyı da veriyor. Bu uyarı ne demektir ve nasıl önlenir?
    Çıkan Uyarı :


    Notice : Bu hata kodunuzda bir bug olduğunu gösterir. Fakat bu hata çoğu zaman bir değişkene değer atamadan çağırdığımız zaman çıkabiliyor ( Bu çıkan hatada toplam değişkenine değer verilmemiş) . Bu yüzden hangi durumda çıktığına dikkat edin. Bu hatadan kurtulmak için ya o değişkene değer verin veya php.ini dosyanızı açıp içindeki

    Kod:
    error_reporting  =  E_ALL
    satırını bulun. ( Dikkat edin başında ; olmayacak ) . Daha sonra bu satırı aşağıdaki gibi değiştirip kaydedin ve apache'yi yeniden başlatın.

    Kod:
    error_reporting = E_ALL & ~E_NOTICE
    Soru : Sizce EasyPHP gibi bir hazır kurulum programı ile yetinmelimiyim yoksa, Apache, MySQL ve PHP nin en son sürümleri ile kendim mi kurayım?

    Eğer amaç kodlama yapmak ise EasyPHP gibi hazır kurulum programları bu iş için yeterlidir. Boşuna manuel kurulum ile uğraşıp da vakit kaybetmenize gerek yok. Manuel kurulum sunucu yönetimi yapan kişilerin bilmesi gerekn bilgiler kısmına girer.


    Soru : Php yi Apache üzerine CGI olarak mı yoksa modül olarak mı kurmak daha iyidir?

    PHP, müstakil yorumlayıcı (CGI) olarak kurulduğunda, Web sunucusu, her ihtiyaç halinde PHP yorumlayıcısının bir örneğini çalıştırır. Bu, bir süre sonra Web sunucusunun bulunduğu işletim sisteminin yükünün artmasına ve işleyişinde yavaşlamaya yol açabilir.
    Oysa PHP, sunucunun bir modülü olarak kurulduğunda, bu sakınca ortaya çıkmaz. (Bu özelliği ile PHP, klasik CGI/Perl'ün çalışma tarzından ayrılır, ASP'nin ve ColdFusion'ın çalışma tarzına yaklaşır.)
    Bununla birlikte kötü niyetle veya beceriksizce yazılmış PHP programları modül olarak kurulmuş PHP'yi çökertirlerse, Web sunucusunu da çökertmiş olurlar; oysa müstakil PHP yorumlayıcı çökerse, Web sunucusuna bir şey olmaz.


    Soru : Siteme gelen ziyaretçinin IP adresini sitemde nasıl gösterebilirim ?

    Kod:
    <?php
    echo $_SERVER['REMOTE_ADDR'];
    ?>
    Konu Alıntıdır...
     
    1 kişi bunu beğendi.
  2. Google

    Google Özel Üye

    paylaşım için teşekürler
     

Bu Sayfayı Paylaş