PHP Kodları, İpuçları, Hataları , Sebepleri

Aşk'a İnanmışt'ı

Genel Yönetici
Staff member
Katılım
28 Mart 2008
Mesajlar
23.243
Tepki puanı
2.147
Puanları
163
Yaş
40
Bulunduğu Yer
ŞANLIURFA
Tuttuğu Takım
GALATASARAY
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 ?
PHP:
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?
PHP:
@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?
PHP:
$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?
PHP:
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.

PHP:
$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.

PHP:
$degisken = $_POST['deger'];

Soru : Bir formum var ve ben bu formla beraber güvenlik kodu kullanmak istiyorum bunu nasıl yaparım?
PHP:
<?
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
PHP:
<?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

PHP:
<?php
   $orjinalguvenlikkodu = $_SESSION["guvenlikkodu"]; 

     if($orjinalguvenlikkodu!=BuyukHarf(@$_POST["guvenlikkodu"]))
      {
           session_unset();
           HataSayfasiniGoster();
           exit();
       }
?>
(ö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?

Not defterini açın ve içine
PHP:
<?php
phpinfo();
?>

Soru : Harici bir siteyi kendi siteme nasıl include ederim
PHP:
<?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
PHP:
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.

PHP:
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 ?
PHP:
<?php
echo $_SERVER['REMOTE_ADDR'];
?>
 
Ce: PHP Kodları, İpuçları, Hataları , Sebepleri

Şu ziyaretçi diline göre yönlendirmeyle uğraştım zamanında becerememiştim. Boş zamanımda bunu da deneyeceğim. :)
 
Ce: PHP Kodları, İpuçları, Hataları , Sebepleri

dene apocan:)
 
Ce: PHP Kodları, İpuçları, Hataları , Sebepleri

Ama sanki bu kodda eksik var gibime geldi.

PHP:
$lisan = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
if ( $lisan == "tr") {
header("Location:index_tr.php"); 
} else {
header("Location:index_en.php");
}
şeklinde değil de şu şekilde olmalı diye düşünüyorum:

PHP:
$lisan = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
if ( $lisan == "tr") {
header("Location:index_tr.php"); 
} else {
if ( $lisan == "en") {
header("Location:index_en.php");
} else {
}
Tabi bunun doğruluk payı nedir bilemem. Tahmin yürüttüm
 
Ce: PHP Kodları, İpuçları, Hataları , Sebepleri

ikisinide dene sen:D
 
Ce: PHP Kodları, İpuçları, Hataları , Sebepleri

vBulletin için hiç biri de olmadı. Sağolsun bir arkadaşım vBulletine uyarladı. :)
 
Ce: PHP Kodları, İpuçları, Hataları , Sebepleri

saolsun
 
Back
Yukarı