lostyazilim
tr.link

Mail() Fonksiyonunda Türkçe Karakter

13 Mesajlar 1.972 Okunma
lstbozum
tr.link

4531 4531 WM Aracı Anonim Üyelik
  • Üyelik 13.03.2012
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 996
  • Beğeniler 210 / 211
  • Ticaret 3, (%100)
Merhaba arkadşalar, http://wmaraci.com/forum/yeni-baslayanlar/form-e-mail-gonderme-7136.html burada ki konuda bulduğum mail sistemi çok iyi bir şekilde çalışıyor ancak, maili yolladığımda türkçe karakter hatası oluyor. Yani başladım kelimesi örneğin ÅŸladım oluyor bunu nasıl düzeltebilirim.

Buyrun bunlarda gonder.php kodları;

session_start();
extract($_POST);
extract($_GET);


$kime = "iletisim@taluttasgiran.com.tr"; // Mesajın gitmesini istediğin e-posta adresin.
$konu = "TalutTasgiran.Com.Tr / İletişim Formundan Mesaj!";
$DateandTime = date("d-m-Y H:i:s");
$mesaj = "İletişim Formunuzdan Gönderilen Mesajın İçeriği Aşağıdadır :

Ad-sayad: $GONDERENIN_ADI_SOYADI
E-Posta Adresi: $EPOSTA_ADRESI
Konu: $MESAJIN_KONUSU
Mesaj: $GONDERENIN_MESAJI


";




if ( $_POST["GONDERENIN_ADI_SOYADI"]=="")
{
echo "Lütfen Adınızı ve Soyadınızı Giriniz.
" . $_POST["GONDERENIN_ADI_SOYADI"];
exit();
}

if ( $_POST["EPOSTA_ADRESI"]=="")
{
echo "Lütfen E-Posta Adresinizi Giriniz.
" . $_POST["EPOSTA_ADRESI"];
exit();
}

if ( $_POST["GONDERENIN_MESAJI"]=="")
{
echo "Lütfen Mesajınızı Giriniz.
" . $_POST["GONDERENIN_MESAJI"];
exit();
}



if (!@mail($kime, $konu, $mesaj, "From: $ADI_SOYADI <$EPOSTA_ADRESI>\nX-Mailer: PHP/" . phpversion()) )
{
echo "Şu anda sistemimizde bir sorun bulunmaktadır.
" .
"Lütfen daha sonra tekrar deneyin.
";
exit();
}

header( "location: http://taluttasgiran.com.tr " ); // Mesaj gönderiltikten sonra yönlenmesini istediğin adres.

?>
 

 

wmaraci
reklam

srhtycl srhtycl IBM Ambassador Kullanıcı
  • Üyelik 13.04.2013
  • Yaş/Cinsiyet 28 / E
  • Meslek Software Engineer
  • Konum İstanbul Anadolu
  • Ad Soyad S** Y**
  • Mesajlar 501
  • Beğeniler 86 / 124
  • Ticaret 12, (%100)
ereg_replace ile sorunu çözebilirsiniz.



session_start();
extract($_POST);
extract($_GET);

$mesaj = ereg_replace("ş","s",$mesaj);
$mesaj = ereg_replace("Ş","S",$mesaj);
$mesaj = ereg_replace("ç","c",$mesaj);
$mesaj = ereg_replace("Ç","C",$mesaj);
$mesaj = ereg_replace("ı","i",$mesaj);
$mesaj = ereg_replace("İ","I",$mesaj);
$mesaj = ereg_replace("ğ","g",$mesaj);
$mesaj = ereg_replace("Ğ","G",$mesaj);
$mesaj = ereg_replace("ö","o",$mesaj);
$mesaj = ereg_replace("Ö","O",$mesaj);
$mesaj = ereg_replace("ü","u",$mesaj);
$mesaj = ereg_replace("Ü","U",$mesaj);
$mesaj = ereg_replace("Ö","O",$mesaj);
$mesaj = ereg_replace("Ş","ş",$mesaj);
$mesaj = ereg_replace("Ç","ç",$mesaj);
$mesaj = ereg_replace("İ","i",$mesaj);
$mesaj = ereg_replace("Ğ","ğ",$mesaj);
$mesaj = ereg_replace("Ö","ö",$mesaj);
$mesaj = ereg_replace("Ü","ü",$mesaj);

$kime = "iletisim@taluttasgiran.com.tr"; // Mesajın gitmesini istediğin e-posta adresin.
$konu = "TalutTasgiran.Com.Tr / İletişim Formundan Mesaj!";
$DateandTime = date("d-m-Y H:i:s");
$mesaj = "İletişim Formunuzdan Gönderilen Mesajın İçeriği Aşağıdadır :

Ad-sayad: $GONDERENIN_ADI_SOYADI
E-Posta Adresi: $EPOSTA_ADRESI
Konu: $MESAJIN_KONUSU
Mesaj: $GONDERENIN_MESAJI


";




if ( $_POST["GONDERENIN_ADI_SOYADI"]=="")
{
echo "Lütfen Adınızı ve Soyadınızı Giriniz.
" . $_POST["GONDERENIN_ADI_SOYADI"];
exit();
}

if ( $_POST["EPOSTA_ADRESI"]=="")
{
echo "Lütfen E-Posta Adresinizi Giriniz.
" . $_POST["EPOSTA_ADRESI"];
exit();
}

if ( $_POST["GONDERENIN_MESAJI"]=="")
{
echo "Lütfen Mesajınızı Giriniz.
" . $_POST["GONDERENIN_MESAJI"];
exit();
}



if (!@mail($kime, $konu, $mesaj, "From: $ADI_SOYADI <$EPOSTA_ADRESI>\nX-Mailer: PHP/" . phpversion()) )
{
echo "Şu anda sistemimizde bir sorun bulunmaktadır.
" .
"Lütfen daha sonra tekrar deneyin.
";
exit();
}

header( "location: http://taluttasgiran.com.tr " ); // Mesaj gönderiltikten sonra yönlenmesini istediğin adres.

?>


Not hiç php bilgim yok sadece ufak tefek düzeltme çareleri biliyorum buda onlardan biri,umarım işinize yarar.
 

 

4531 4531 WM Aracı Anonim Üyelik
  • Üyelik 13.03.2012
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 996
  • Beğeniler 210 / 211
  • Ticaret 3, (%100)

srhtycl adlı üyeden alıntı

ereg_replace ile sorunu çözebilirsiniz.



session_start();
extract($_POST);
extract($_GET);

$mesaj = ereg_replace("ş","s",$mesaj);
$mesaj = ereg_replace("Ş","S",$mesaj);
$mesaj = ereg_replace("ç","c",$mesaj);
$mesaj = ereg_replace("Ç","C",$mesaj);
$mesaj = ereg_replace("ı","i",$mesaj);
$mesaj = ereg_replace("İ","I",$mesaj);
$mesaj = ereg_replace("ğ","g",$mesaj);
$mesaj = ereg_replace("Ğ","G",$mesaj);
$mesaj = ereg_replace("ö","o",$mesaj);
$mesaj = ereg_replace("Ö","O",$mesaj);
$mesaj = ereg_replace("ü","u",$mesaj);
$mesaj = ereg_replace("Ü","U",$mesaj);
$mesaj = ereg_replace("Ö","O",$mesaj);
$mesaj = ereg_replace("Ş","ş",$mesaj);
$mesaj = ereg_replace("Ç","ç",$mesaj);
$mesaj = ereg_replace("İ","i",$mesaj);
$mesaj = ereg_replace("Ğ","ğ",$mesaj);
$mesaj = ereg_replace("Ö","ö",$mesaj);
$mesaj = ereg_replace("Ü","ü",$mesaj);

$kime = "iletisim@taluttasgiran.com.tr"; // Mesajın gitmesini istediğin e-posta adresin.
$konu = "TalutTasgiran.Com.Tr / İletişim Formundan Mesaj!";
$DateandTime = date("d-m-Y H:i:s");
$mesaj = "İletişim Formunuzdan Gönderilen Mesajın İçeriği Aşağıdadır :

Ad-sayad: $GONDERENIN_ADI_SOYADI
E-Posta Adresi: $EPOSTA_ADRESI
Konu: $MESAJIN_KONUSU
Mesaj: $GONDERENIN_MESAJI


";




if ( $_POST["GONDERENIN_ADI_SOYADI"]=="")
{
echo "Lütfen Adınızı ve Soyadınızı Giriniz.
" . $_POST["GONDERENIN_ADI_SOYADI"];
exit();
}

if ( $_POST["EPOSTA_ADRESI"]=="")
{
echo "Lütfen E-Posta Adresinizi Giriniz.
" . $_POST["EPOSTA_ADRESI"];
exit();
}

if ( $_POST["GONDERENIN_MESAJI"]=="")
{
echo "Lütfen Mesajınızı Giriniz.
" . $_POST["GONDERENIN_MESAJI"];
exit();
}



if (!@mail($kime, $konu, $mesaj, "From: $ADI_SOYADI <$EPOSTA_ADRESI>\nX-Mailer: PHP/" . phpversion()) )
{
echo "Şu anda sistemimizde bir sorun bulunmaktadır.
" .
"Lütfen daha sonra tekrar deneyin.
";
exit();
}

header( "location: http://taluttasgiran.com.tr " ); // Mesaj gönderiltikten sonra yönlenmesini istediğin adres.

?>


Not hiç php bilgim yok sadece ufak tefek düzeltme çareleri biliyorum buda onlardan biri,umarım işinize yarar.


bunu denedim ama olmadı ne yazık ki. Hem tam ş'ler ş olarak gelmesi daha iyi ı'ların i olmasının kötü olduğu gibi :D
 

 

srhtycl srhtycl IBM Ambassador Kullanıcı
  • Üyelik 13.04.2013
  • Yaş/Cinsiyet 28 / E
  • Meslek Software Engineer
  • Konum İstanbul Anadolu
  • Ad Soyad S** Y**
  • Mesajlar 501
  • Beğeniler 86 / 124
  • Ticaret 12, (%100)

ahmettalut adlı üyeden alıntı

bunu denedim ama olmadı ne yazık ki. Hem tam ş'ler ş olarak gelmesi daha iyi ı'ların i olmasının kötü olduğu gibi :D


olmadı derken yine aynı karakter sorunumu var?
 

 

wmaraci
wmaraci

4531 4531 WM Aracı Anonim Üyelik
  • Üyelik 13.03.2012
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 996
  • Beğeniler 210 / 211
  • Ticaret 3, (%100)
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/brisingr/taluttasgiran.com.tr/gonder.php:1) in /home/brisingr/taluttasgiran.com.tr/gonder.php on line 3

Bu hatayı alıyorum.
 

 

srhtycl srhtycl IBM Ambassador Kullanıcı
  • Üyelik 13.04.2013
  • Yaş/Cinsiyet 28 / E
  • Meslek Software Engineer
  • Konum İstanbul Anadolu
  • Ad Soyad S** Y**
  • Mesajlar 501
  • Beğeniler 86 / 124
  • Ticaret 12, (%100)
Yada birde şöyle deneseniz?

srhtycl adlı üyeden alıntı

ereg_replace ile sorunu çözebilirsiniz.



header("Content-Type: text/html; charset=ISO-8859-9");
session_start();
extract($_POST);
extract($_GET);

$kime = "iletisim@taluttasgiran.com.tr"; // Mesajın gitmesini istediğin e-posta adresin.
$konu = "TalutTasgiran.Com.Tr / İletişim Formundan Mesaj!";
$DateandTime = date("d-m-Y H:i:s");
$mesaj = "İletişim Formunuzdan Gönderilen Mesajın İçeriği Aşağıdadır :

Ad-sayad: $GONDERENIN_ADI_SOYADI
E-Posta Adresi: $EPOSTA_ADRESI
Konu: $MESAJIN_KONUSU
Mesaj: $GONDERENIN_MESAJI


";




if ( $_POST["GONDERENIN_ADI_SOYADI"]=="")
{
echo "Lütfen Adınızı ve Soyadınızı Giriniz.
" . $_POST["GONDERENIN_ADI_SOYADI"];
exit();
}

if ( $_POST["EPOSTA_ADRESI"]=="")
{
echo "Lütfen E-Posta Adresinizi Giriniz.
" . $_POST["EPOSTA_ADRESI"];
exit();
}

if ( $_POST["GONDERENIN_MESAJI"]=="")
{
echo "Lütfen Mesajınızı Giriniz.
" . $_POST["GONDERENIN_MESAJI"];
exit();
}



if (!@mail($kime, $konu, $mesaj, "From: $ADI_SOYADI <$EPOSTA_ADRESI>\nX-Mailer: PHP/" . phpversion()) )
{
echo "Şu anda sistemimizde bir sorun bulunmaktadır.
" .
"Lütfen daha sonra tekrar deneyin.
";
exit();
}

header( "location: http://taluttasgiran.com.tr " ); // Mesaj gönderiltikten sonra yönlenmesini istediğin adres.

?>


Not hiç php bilgim yok sadece ufak tefek düzeltme çareleri biliyorum buda onlardan biri,umarım işinize yarar.
 

 

alabacaknet alabacaknet Developer Kullanıcı
  • Üyelik 14.09.2012
  • Yaş/Cinsiyet 39 / E
  • Meslek Yazılım geliştirme
  • Konum Ankara
  • Ad Soyad M** A**
  • Mesajlar 217
  • Beğeniler 55 / 48
  • Ticaret 0, (%0)
mail()'in 4. parametresi olan "Headers" kısmı özel bir alandır, karşı sunucu için okunması gereken başlıkları göndeririz.

O kısmı kısaca yazmak yerine şöyle uzun uzun yazmalısınız.


$headers = "MIME-Version: 1.0\n";
/* BU KISIM ÖNEMLİ KISIM, İÇERİĞİ HTML OLARAK İŞARETLEYİP DİLİNİ KÜRESEL OLARAK BELİRTİYORUZ */
$headers .= "Content-type: text/html; charset=utf-8\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";



Sizin kodunuz da şu:


@session_start();

/* BU KISIMLARI GENELDE KULLANMA, ÇÜNKÜ BU SİTENİZDE GÜVENLİK AÇIĞI OLUŞTURMAZ DİREK HACK-LEYECEK KİŞİLERE */
/* GİRİŞ İZNİ VERİR */
extract($_POST);
extract($_GET);

$kime = "iletisim@taluttasgiran.com.tr"; // Mesajın gitmesini istediğin e-posta adresin.
$konu = "TalutTasgiran.Com.Tr / İletişim Formundan Mesaj!";
$DateandTime = date("d-m-Y H:i:s");
$mesaj = "İletişim Formunuzdan Gönderilen Mesajın İçeriği Aşağıdadır :

Ad-sayad: $GONDERENIN_ADI_SOYADI
E-Posta Adresi: $EPOSTA_ADRESI
Konu: $MESAJIN_KONUSU
Mesaj: $GONDERENIN_MESAJI


";
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=utf-8\n";
$headers .= "X-Mailer: PHP\n";
$headers .= "X-Sender: PHP\n";
$headers .= "From: $GONDERENIN_ADI_SOYADI <$EPOSTA_ADRESI>\n";
$headers .= "Reply-To: $GONDERENIN_ADI_SOYADI <$EPOSTA_ADRESI>\n";
$headers .= "Return-Path: $GONDERENIN_ADI_SOYADI <$EPOSTA_ADRESI>\n";




if ( $_POST["GONDERENIN_ADI_SOYADI"]=="")
{
echo "Lütfen Adınızı ve Soyadınızı Giriniz.
" . $_POST["GONDERENIN_ADI_SOYADI"];
exit();
}

if ( $_POST["EPOSTA_ADRESI"]=="")
{
echo "Lütfen E-Posta Adresinizi Giriniz.
" . $_POST["EPOSTA_ADRESI"];
exit();
}

if ( $_POST["GONDERENIN_MESAJI"]=="")
{
echo "Lütfen Mesajınızı Giriniz.
" . $_POST["GONDERENIN_MESAJI"];
exit();
}



if (!@mail($kime, $konu, $mesaj, $headers) )
{
echo "Şu anda sistemimizde bir sorun bulunmaktadır.
" .
"Lütfen daha sonra tekrar deneyin.
";
exit();
}

header("Location: http://taluttasgiran.com.tr "); // Mesaj gönderiltikten sonra yönlenmesini istediğin adres.

?>
 

 

Murat Alabacak <http://muratalabacak.net>

4531 4531 WM Aracı Anonim Üyelik
  • Üyelik 13.03.2012
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 996
  • Beğeniler 210 / 211
  • Ticaret 3, (%100)

alabacaknet adlı üyeden alıntı

mail()'in 4. parametresi olan "Headers" kısmı özel bir alandır, karşı sunucu için okunması gereken başlıkları göndeririz.

O kısmı kısaca yazmak yerine şöyle uzun uzun yazmalısınız.


$headers = "MIME-Version: 1.0\n";
/* BU KISIM ÖNEMLİ KISIM, İÇERİĞİ HTML OLARAK İŞARETLEYİP DİLİNİ KÜRESEL OLARAK BELİRTİYORUZ */
$headers .= "Content-type: text/html; charset=utf-8\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";



Sizin kodunuz da şu:


@session_start();

/* BU KISIMLARI GENELDE KULLANMA, ÇÜNKÜ BU SİTENİZDE GÜVENLİK AÇIĞI OLUŞTURMAZ DİREK HACK-LEYECEK KİŞİLERE */
/* GİRİŞ İZNİ VERİR */
extract($_POST);
extract($_GET);

$kime = "iletisim@taluttasgiran.com.tr"; // Mesajın gitmesini istediğin e-posta adresin.
$konu = "TalutTasgiran.Com.Tr / İletişim Formundan Mesaj!";
$DateandTime = date("d-m-Y H:i:s");
$mesaj = "İletişim Formunuzdan Gönderilen Mesajın İçeriği Aşağıdadır :

Ad-sayad: $GONDERENIN_ADI_SOYADI
E-Posta Adresi: $EPOSTA_ADRESI
Konu: $MESAJIN_KONUSU
Mesaj: $GONDERENIN_MESAJI


";
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=utf-8\n";
$headers .= "X-Mailer: PHP\n";
$headers .= "X-Sender: PHP\n";
$headers .= "From: $GONDERENIN_ADI_SOYADI <$EPOSTA_ADRESI>\n";
$headers .= "Reply-To: $GONDERENIN_ADI_SOYADI <$EPOSTA_ADRESI>\n";
$headers .= "Return-Path: $GONDERENIN_ADI_SOYADI <$EPOSTA_ADRESI>\n";




if ( $_POST["GONDERENIN_ADI_SOYADI"]=="")
{
echo "Lütfen Adınızı ve Soyadınızı Giriniz.
" . $_POST["GONDERENIN_ADI_SOYADI"];
exit();
}

if ( $_POST["EPOSTA_ADRESI"]=="")
{
echo "Lütfen E-Posta Adresinizi Giriniz.
" . $_POST["EPOSTA_ADRESI"];
exit();
}

if ( $_POST["GONDERENIN_MESAJI"]=="")
{
echo "Lütfen Mesajınızı Giriniz.
" . $_POST["GONDERENIN_MESAJI"];
exit();
}



if (!@mail($kime, $konu, $mesaj, $headers) )
{
echo "Şu anda sistemimizde bir sorun bulunmaktadır.
" .
"Lütfen daha sonra tekrar deneyin.
";
exit();
}

header("Location: http://taluttasgiran.com.tr "); // Mesaj gönderiltikten sonra yönlenmesini istediğin adres.

?>


Şimdi oldu mesaj doğru geliyor ancak gonder.php header("Location: http://taluttasgiran.com.tr "); bu tekrar ediyor diyor bu yüzden hata veriyor ama yinede geliyor mesaj.
 

 

alabacaknet alabacaknet Developer Kullanıcı
  • Üyelik 14.09.2012
  • Yaş/Cinsiyet 39 / E
  • Meslek Yazılım geliştirme
  • Konum Ankara
  • Ad Soyad M** A**
  • Mesajlar 217
  • Beğeniler 55 / 48
  • Ticaret 0, (%0)
Ha unutmuşum! O hataları gizlemen için şöyle bir şey uygula


// SAYFA BAŞI
/* BU ŞART, İÇERİĞİ BAŞLATIYORUZ, BU OLMAZSA header() FONKSİYONUNDAN ÖNCE EKRANA BİR ŞEY YAZDIRAMAZSIN */
@ob_start();

@session_start();

............

// SAYFA SONU
@ob_end_flush();
?>
 

 

Murat Alabacak <http://muratalabacak.net>

4531 4531 WM Aracı Anonim Üyelik
  • Üyelik 13.03.2012
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 996
  • Beğeniler 210 / 211
  • Ticaret 3, (%100)

alabacaknet adlı üyeden alıntı

Ha unutmuşum! O hataları gizlemen için şöyle bir şey uygula


// SAYFA BAŞI
/* BU ŞART, İÇERİĞİ BAŞLATIYORUZ, BU OLMAZSA header() FONKSİYONUNDAN ÖNCE EKRANA BİR ŞEY YAZDIRAMAZSIN */
@ob_start();

@session_start();

............

// SAYFA SONU
@ob_end_flush();
?>


Teşekkürler, hatalar gözükmüyor ve mesaj geliyor ama halen şu sorun var;

Warning: Cannot modify header information - headers already sent by (output started at /home/brisingr/taluttasgiran.com.tr/gonder.php:1) in /home/brisingr/taluttasgiran.com.tr/gonder.php on line 64
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al