Jump to content
Son zamanlarda artan kullanıcı hesap hırsızlıkları sebebiyle tüm kullanıcılara şifre sıfırlama maili gönderilmiştir. Lütfen güveli şifreler seçiniz. Mevcut e-mail adresinize erişemiyorsanız, en aşağıdaki destek linkinden bize ulaşınız. ×

tm lerdeki iletişim bölümü nasıl aktif edilir.?


Recommended Posts

  • 2 hafta sonra ...

Flash MX ile son derece kullanışlı bir mail formu yapmak bir miktar action script bir miktar da PHP bilgisi ile çok zor olmayan bir uygulama. Bunun için boş bir Flash çalışması açarak (Kısayol: CTRL +N) işe koyuluyoruz.

Mail formu dilediğimiz bir frame'de kullanmak için movie clip tarzında hazırlamamız yerinde olacaktır. Bu sayede main timeline'dan bağımsız çalışabilen bir mail form oluşturcağız. Kısacası yeni oluşturduğumuz flash çalışmasında ilk işlemimiz Insert --> New Symbol (Kısayol: CTRL + F8) ile bir movie clip oluşturmak olmalı.

Bu movie clip içersinde ilk layer'ımıza rectangle tool ile (Kısayol: R) bir background çizebiliriz. Bir üst layer'a yine aynı aracı kullanarak bir üst çizgi eklememiz görsellik açısından hoş olacaktır. Bir başka layer'a da static text aracını kullanarak (Kısayol: T) İsim, E-Posta ve Mesajınız sabit yazılarını yazalım. Hatta bu üç durağan yazıyı yeni bir movie clip haline getirip instance name'ini mailintro koyabiliriz. Her farklı frame'de farklı durağan yazıyı parlak hale getirip bunları birazdan tanımlayacağımız input text field'ler ile kontrol etmek için böyle bir çalışma yaptık. Şimdi ilk oluşturduğumuz movie clip'e dönerek yeni bir layer'da yine text aracı ile bu sefer properties penceresinden (Kısayol: CTRL +F3) input text seçili olmak koşuluyla üç tane text field oluşturalım ve bunların instance name'lerini sırasıyla name , mail ve bod verelim. Elbette maili gönderebilmek veya formu temizleyebilmek için bir Gönder bir de Temizle butonuna ihtiyacımız olacak. (Lütfen butonların instance name'lerini sırasıyla sendbutton ve clearbutton olarak verelim.) Formun eksik ya da yanlış doldurulmasına karşın bir tane de Geri Dön butonunun olması hiç de fena olmaz.

Bu kadar laf salatasından sonra gelelim sadet olan Action Script kısmına. Her frame'de bir başka kod yazana kadar ben fonsiyonlar ve dizelerle çalışan bir kodlamayı uygun buldum. Bu kodların hepsini movie clip'imizin içinde birinci frame'e yerleştirmemiz yeterli olacaktır.

stop(); //başlangıç anında filmi durdurduk.
Name.text = "Misafir";//Açılışta yazacak olan name yazısı.
Mail.text = "[email protected]";//Açılışta yazacak olan mail yazısı.
Bod.text = "Bu Alana Mesajınızı Yazınız...";//Açılışta yazacak olan bod yazısı.
name.tabIndex = 1;
mail.tabIndex = 2;
bod.tabIndex = 3;
cleanbutton.tabEnabled = false;
sendbutton.tabEnabled = false; //buraya kadar tab tuşunun kullanımı ayrıntısını gerçekleştirdik.
errors = new Array(); //hataların bir dize olarak tanımlanmasını sağlayacağız.
function ClearMailForm() {
Name.text = "";
Mail.text = "";
Bod.text = "";
errorLog.text = "";
errors.length = 0; //formu temizleyecek olan fonksiyonu tanımladık.
}
function ValidateMailForm() {
errorLog.text = "";
errors.length = 0;
ValidateName();
ValidateEmail();
ValidateBody();
if (errors.length > 0) {
gotoAndStop (5);
errorLog.htmlText = "<font color='#000000'><b>Lütfen Bilgileri Düzeltiniz:</b></font><br><br>";
var j = -1;
while (++j < errors.length) {
errorLog.htmlText += errors[j] + newline; //formun doğruluğunu kontrol eden fonksiyonumuzu tanımladık. Hata mevcutsa beşinci frame'e gidip yazdırmasını istedik.
}
}
else {
Translation ();
gotoAndStop (10);
loadVariablesNum("mail.php", 0, "POST"); //formda hata yoksa ara işlemi yapacak olan fonksiyonun çalışmasını isteyerek değişkenlerin gideceği php dosyasını ve filmin 10. frame'e gitmesi gerektiğini gösterdik.
}
}
function ValidateName() {
if (Name.text == "Misafir") {
errors.push("<font color='#FF0000'>Lütfen Gerçek İsminizi Giriniz!</font>");//İsim alanında Misafir yazıyorsa verilecek hatayı belirttik.
}
if (Name.text.length < 2 || isNaN(Name.text) == false) {
errors.push("Lütfen İsminizi Giriniz!");//İsim alanına girilen karekter sayısı ikiden azsa verilecek hatayı belirttik.
}
}
function ValidateEmail() {
if (Mail.text.indexOf("@") < 2) {
errors.push("<b>@</b> simgesi olmayan bir mail adresi girdiniz!");//Mail alanında girilmesi gereken @ karekterinin kontrolünü ve verilecek hatayı belirttik.
}
if (Mail.text.lastIndexOf(".") <= (Mail.text.indexOf("@") + 2)) {
errors.push("<b>.</b> simgesi olmayan bir E-Mail adresi girdiniz!");//Mail alanında girilmesi gereken . karekterinin @ karekterine göre yerini kontrol ederek verilecek hatayı belirttik.
}
if (Mail.text.length < 8) {
errors.push("Mail Adresi Yeterince Uzun Değil!");//Mail alanına sekiz karekterden daha kısa bir mail adresi yazıldığı vakit veerilecek hatayı belirttik.
}
if (Mail.text == "[email protected]") {
errors.push("<font color='#FF0000'>Lütfen E-Mail Adresinizi Giriniz!</font>");//Mail alanında [email protected] yazıyorsa verilecek hatayı belirttik.
}
}
function ValidateBody() {
if (Bod.text == "Bu Alana Mesajınızı Yazınız...") {
errors.push("<font color='#FF0000'>Lütfen Mesajınızı Yazınız!</font>"); //Bod alanına girilen yazıyı kontrol ettik ve verilecek hatayı belirttik.
}
if (Bod.text.length < 2 || isNaN(Bod.text) == false) {
errors.push("Mesajınız Yeterince Uzun Değil!"); //Bod alanına girilen yazının karekter değerini kontrol ettik ve verilecek hatayı belirttik.
}
}
function Translation() {
NameFrom = Name.text; //NameFrom adlı değişkeni Name instance name'ine sahip text field ile ilişkilendirdik.
MailFrom = Mail.text;//MailFrom adlı değişkeni Mail instance name'ine sahip text field ile ilişkilendirdik.
Body = Bod.text;//Body adlı değişkeni Bod instance name'ine sahip text field ile ilişkilendirdik.
}
Name.onSetFocus = function () {
mailintro.gotoAndStop("isimlik");
if (Name.text == "Misafir") {
Name.text = ""; //Name adlı text field seçildiğinde ona bağlı static text'in parlak olmasını ve misafir yazısının silinmesini sağladık.
}
}
Mail.onSetFocus = function () {
mailintro.gotoAndStop("postalik");
if (Mail.text == "[email protected]") {
Mail.text = ""; //Mail adlı text field seçildiğinde ona bağlı static text'in parlak olmasını ve [email protected] yazısının silinmesini sağladık.
}
}
Bod.onSetFocus = function () {
mailintro.gotoAndStop("mesajlik");
if (Bod.text == "Bu Alana Mesajınızı Yazınız...") {
Bod.text = ""; //Bod adlı text field seçildiğinde ona bağlı static text'in parlak olmasını ve Bu Alana Mesajınızı Yazınız... yazısının silinmesini sağladık.
}
}[/CODE]

Bu action script olayını da hallettikten sonra Temizle butonuna;

[CODE]on (release) {
mailintro.gotoAndStop(1);
ClearMailForm();
}[/CODE]

Gönder butonuna;

[CODE]on (release) {
mailintro.gotoAndStop(1);
ValidateMailForm();
}[/CODE]

ve Geri Dön butonuna;

[CODE]on (release) {
gotoAndStop(1);
}[/CODE]

action script kodlarını eklemeliyiz. Yine movie clip içersinde 5. frame'e errorLog, 10. frame'e ise Thanks instance name'ine sahip birer dynamic text tanımlayıp properties panelinden "render text as html" kutucuğunu seçili hale getirmemiz gerekmektedir. Aynı zamanda 10. frame'in action script penceresine;

[CODE]Thanks.htmlText = "Sayın " +NameFrom+ " Mesajınız Alınmıştır. Görüşleriniz Bizim İçin Önemlidir, Teşekkür Ederiz.";[/CODE]

yazarsak maili gönderen kişiye ufak bir jest yapmış oluruz.

Oldukça iyi tasarlanmış, göze hitap eden ve kodlaması sağlam bir mail form uygulamasını da böylece anlatmış olduk. mail.php dosyasının içeriğini aşağıda bulacaksınız. Yine yapılması gereken tek şey File --> Save (Kısayol: CTRL + S) ile çalışmamızı kaydetmek. Hoş burada kaydedilmişi var.

mail.php dosyası içeriği:

[CODE]<?php
//Değişkenlerin Alınması ve İşlenmesi
$eski = array("ı", "ç", "ğ","ü","ş","ö","İ","Ğ","Ü","Ş","Ö","Ç"," ","\r");
$yeni = array("ı", "ç", "ğ","ü","ş","ö","İ","Ğ","Ü","Ş","Ö","Ç"," ","<br>");
$NameFrom= str_replace($eski, $yeni, $NameFrom);
$MailFrom= str_replace($eski, $yeni, $MailFrom);
$Body= str_replace($eski, $yeni, $Body);
//Türkçe karekter sorununu da bu işlemci ile çözümlüyoruz.
$MailTo = "[email protected]";
$Site = "Sitenizden E-Posta Gönderildi.";
$DateandTime = date("d-m-Y H:i:s");
if ($REMOTE_ADDR == "") $ip = "no ip";
else $ip = getHostByAddr($REMOTE_ADDR);
$MailBody = "
[------------------------------------------------------------------]

Isım : $NameFrom
E-Posta : $MailFrom
Mesaj : $Body
[------------------------------------------------------------------]
Sistem : $HTTP_USER_AGENT
Hostname : $ip
IP adresi : $REMOTE_ADDR
Tarih : $DateandTime
[------------------------------------------------------------------]
";
//Mailin gönderilmesi
mail($MailTo, $Site, $MailBody, "From: $NameFrom <$MailFrom>");
?>[/CODE]

diye elimdeki örneklerden birisini koyuyorum.

Link to comment
Share on other sites

  • 3 hafta sonra ...
Flash MX ile son derece kullanışlı bir mail formu yapmak bir miktar action script bir miktar da PHP bilgisi ile çok zor olmayan bir uygulama. Bunun için boş bir Flash çalışması açarak (Kısayol: CTRL +N) işe koyuluyoruz.

Mail formu dilediğimiz bir frame'de kullanmak için movie clip tarzında hazırlamamız yerinde olacaktır. Bu sayede main timeline'dan bağımsız çalışabilen bir mail form oluşturcağız. Kısacası yeni oluşturduğumuz flash çalışmasında ilk işlemimiz Insert --> New Symbol (Kısayol: CTRL + F8) ile bir movie clip oluşturmak olmalı.

Bu movie clip içersinde ilk layer'ımıza rectangle tool ile (Kısayol: R) bir background çizebiliriz. Bir üst layer'a yine aynı aracı kullanarak bir üst çizgi eklememiz görsellik açısından hoş olacaktır. Bir başka layer'a da static text aracını kullanarak (Kısayol: T) İsim, E-Posta ve Mesajınız sabit yazılarını yazalım. Hatta bu üç durağan yazıyı yeni bir movie clip haline getirip instance name'ini mailintro koyabiliriz. Her farklı frame'de farklı durağan yazıyı parlak hale getirip bunları birazdan tanımlayacağımız input text field'ler ile kontrol etmek için böyle bir çalışma yaptık. Şimdi ilk oluşturduğumuz movie clip'e dönerek yeni bir layer'da yine text aracı ile bu sefer properties penceresinden (Kısayol: CTRL +F3) input text seçili olmak koşuluyla üç tane text field oluşturalım ve bunların instance name'lerini sırasıyla name , mail ve bod verelim. Elbette maili gönderebilmek veya formu temizleyebilmek için bir Gönder bir de Temizle butonuna ihtiyacımız olacak. (Lütfen butonların instance name'lerini sırasıyla sendbutton ve clearbutton olarak verelim.) Formun eksik ya da yanlış doldurulmasına karşın bir tane de Geri Dön butonunun olması hiç de fena olmaz.

Bu kadar laf salatasından sonra gelelim sadet olan Action Script kısmına. Her frame'de bir başka kod yazana kadar ben fonsiyonlar ve dizelerle çalışan bir kodlamayı uygun buldum. Bu kodların hepsini movie clip'imizin içinde birinci frame'e yerleştirmemiz yeterli olacaktır.

stop(); //başlangıç anında filmi durdurduk.
Name.text = "Misafir";//Açılışta yazacak olan name yazısı.
Mail.text = "[email protected]";//Açılışta yazacak olan mail yazısı.
Bod.text = "Bu Alana Mesajınızı Yazınız...";//Açılışta yazacak olan bod yazısı.
name.tabIndex = 1;
mail.tabIndex = 2;
bod.tabIndex = 3;
cleanbutton.tabEnabled = false;
sendbutton.tabEnabled = false; //buraya kadar tab tuşunun kullanımı ayrıntısını gerçekleştirdik.
errors = new Array(); //hataların bir dize olarak tanımlanmasını sağlayacağız.
function ClearMailForm() {
Name.text = "";
Mail.text = "";
Bod.text = "";
errorLog.text = "";
errors.length = 0; //formu temizleyecek olan fonksiyonu tanımladık.
}
function ValidateMailForm() {
errorLog.text = "";
errors.length = 0;
ValidateName();
ValidateEmail();
ValidateBody();
if (errors.length > 0) {
gotoAndStop (5);
errorLog.htmlText = "<font color='#000000'><b>Lütfen Bilgileri Düzeltiniz:</b></font><br><br>";
var j = -1;
while (++j < errors.length) {
errorLog.htmlText += errors[j] + newline; //formun doğruluğunu kontrol eden fonksiyonumuzu tanımladık. Hata mevcutsa beşinci frame'e gidip yazdırmasını istedik.
}
}
else {
Translation ();
gotoAndStop (10);
loadVariablesNum("mail.php", 0, "POST"); //formda hata yoksa ara işlemi yapacak olan fonksiyonun çalışmasını isteyerek değişkenlerin gideceği php dosyasını ve filmin 10. frame'e gitmesi gerektiğini gösterdik.
}
}
function ValidateName() {
if (Name.text == "Misafir") {
errors.push("<font color='#FF0000'>Lütfen Gerçek İsminizi Giriniz!</font>");//İsim alanında Misafir yazıyorsa verilecek hatayı belirttik.
}
if (Name.text.length < 2 || isNaN(Name.text) == false) {
errors.push("Lütfen İsminizi Giriniz!");//İsim alanına girilen karekter sayısı ikiden azsa verilecek hatayı belirttik.
}
}
function ValidateEmail() {
if (Mail.text.indexOf("@") < 2) {
errors.push("<b>@</b> simgesi olmayan bir mail adresi girdiniz!");//Mail alanında girilmesi gereken @ karekterinin kontrolünü ve verilecek hatayı belirttik.
}
if (Mail.text.lastIndexOf(".") <= (Mail.text.indexOf("@") + 2)) {
errors.push("<b>.</b> simgesi olmayan bir E-Mail adresi girdiniz!");//Mail alanında girilmesi gereken . karekterinin @ karekterine göre yerini kontrol ederek verilecek hatayı belirttik.
}
if (Mail.text.length < 8) {
errors.push("Mail Adresi Yeterince Uzun Değil!");//Mail alanına sekiz karekterden daha kısa bir mail adresi yazıldığı vakit veerilecek hatayı belirttik.
}
if (Mail.text == "[email protected]") {
errors.push("<font color='#FF0000'>Lütfen E-Mail Adresinizi Giriniz!</font>");//Mail alanında [email protected] yazıyorsa verilecek hatayı belirttik.
}
}
function ValidateBody() {
if (Bod.text == "Bu Alana Mesajınızı Yazınız...") {
errors.push("<font color='#FF0000'>Lütfen Mesajınızı Yazınız!</font>"); //Bod alanına girilen yazıyı kontrol ettik ve verilecek hatayı belirttik.
}
if (Bod.text.length < 2 || isNaN(Bod.text) == false) {
errors.push("Mesajınız Yeterince Uzun Değil!"); //Bod alanına girilen yazının karekter değerini kontrol ettik ve verilecek hatayı belirttik.
}
}
function Translation() {
NameFrom = Name.text; //NameFrom adlı değişkeni Name instance name'ine sahip text field ile ilişkilendirdik.
MailFrom = Mail.text;//MailFrom adlı değişkeni Mail instance name'ine sahip text field ile ilişkilendirdik.
Body = Bod.text;//Body adlı değişkeni Bod instance name'ine sahip text field ile ilişkilendirdik.
}
Name.onSetFocus = function () {
mailintro.gotoAndStop("isimlik");
if (Name.text == "Misafir") {
Name.text = ""; //Name adlı text field seçildiğinde ona bağlı static text'in parlak olmasını ve misafir yazısının silinmesini sağladık.
}
}
Mail.onSetFocus = function () {
mailintro.gotoAndStop("postalik");
if (Mail.text == "[email protected]") {
Mail.text = ""; //Mail adlı text field seçildiğinde ona bağlı static text'in parlak olmasını ve [email protected] yazısının silinmesini sağladık.
}
}
Bod.onSetFocus = function () {
mailintro.gotoAndStop("mesajlik");
if (Bod.text == "Bu Alana Mesajınızı Yazınız...") {
Bod.text = ""; //Bod adlı text field seçildiğinde ona bağlı static text'in parlak olmasını ve Bu Alana Mesajınızı Yazınız... yazısının silinmesini sağladık.
}
}[/CODE]

Bu action script olayını da hallettikten sonra Temizle butonuna;

[CODE]on (release) {
mailintro.gotoAndStop(1);
ClearMailForm();
}[/CODE]

Gönder butonuna;

[CODE]on (release) {
mailintro.gotoAndStop(1);
ValidateMailForm();
}[/CODE]

ve Geri Dön butonuna;

[CODE]on (release) {
gotoAndStop(1);
}[/CODE]

action script kodlarını eklemeliyiz. Yine movie clip içersinde 5. frame'e errorLog, 10. frame'e ise Thanks instance name'ine sahip birer dynamic text tanımlayıp properties panelinden "render text as html" kutucuğunu seçili hale getirmemiz gerekmektedir. Aynı zamanda 10. frame'in action script penceresine;

[CODE]Thanks.htmlText = "Sayın " +NameFrom+ " Mesajınız Alınmıştır. Görüşleriniz Bizim İçin Önemlidir, Teşekkür Ederiz.";[/CODE]

yazarsak maili gönderen kişiye ufak bir jest yapmış oluruz.

Oldukça iyi tasarlanmış, göze hitap eden ve kodlaması sağlam bir mail form uygulamasını da böylece anlatmış olduk. mail.php dosyasının içeriğini aşağıda bulacaksınız. Yine yapılması gereken tek şey File --> Save (Kısayol: CTRL + S) ile çalışmamızı kaydetmek. Hoş burada kaydedilmişi var.

mail.php dosyası içeriği:

[CODE]<?php
//Değişkenlerin Alınması ve İşlenmesi
$eski = array("ı", "ç", "ğ","ü","ş","ö","İ","Ğ","Ü","Ş","Ö","Ç"," ","\r");
$yeni = array("ı", "ç", "ğ","ü","ş","ö","İ","Ğ","Ü","Ş","Ö","Ç"," ","<br>");
$NameFrom= str_replace($eski, $yeni, $NameFrom);
$MailFrom= str_replace($eski, $yeni, $MailFrom);
$Body= str_replace($eski, $yeni, $Body);
//Türkçe karekter sorununu da bu işlemci ile çözümlüyoruz.
$MailTo = "[email protected]";
$Site = "Sitenizden E-Posta Gönderildi.";
$DateandTime = date("d-m-Y H:i:s");
if ($REMOTE_ADDR == "") $ip = "no ip";
else $ip = getHostByAddr($REMOTE_ADDR);
$MailBody = "
[------------------------------------------------------------------]

Isım : $NameFrom
E-Posta : $MailFrom
Mesaj : $Body
[------------------------------------------------------------------]
Sistem : $HTTP_USER_AGENT
Hostname : $ip
IP adresi : $REMOTE_ADDR
Tarih : $DateandTime
[------------------------------------------------------------------]
";
//Mailin gönderilmesi
mail($MailTo, $Site, $MailBody, "From: $NameFrom <$MailFrom>");
?>[/CODE]

diye elimdeki örneklerden birisini koyuyorum.

[b][color=#FF0000]Yukarıda bahsettiğiniz konuyu kendi siteme uygulamaya çalıştım fakat beceremedim. Bana bu konuda yardımcı olursanız sevinirim.[/color][/b]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...