php ve flash ile ziyaretçi defteri uygulaması , yaktı beni ?
sherlockholmes28.07.2005 - 12:12:07
slm ,

flash ta bir ziyaretçi defteri yapmayı deniyorum. php ile kayıtları txt dosyasına kaydediyorum. php'yi tek başına çalıştırınca çalışıyor ama flash kısmında bir sorun var.

flash da isim , mail , konu ve yorum olmak üzere 4 tane input text kutusu var. bunların var özellikleri ad_soyad, mail_adres,konu ve yorum olarak ayarlandı.

bir buton var gönder , action script kısmına şunu yazdım

on(press){
if (this.ad_soyad==null) {
this.Status = "Lütfen isminizi yazınız";
} else if (this.mail_adres==null) {
this.Status = "Lütfen email adresinizi yazınız";
} else if (!this.mail_adres.length || mail_adres.indexOf("@") == -1 || mail_adres.indexOf(".") == -1) {
this.Status = "Hatalı email !";
} else if (this.konu==null) {
this.Status = "Lütfen bir konu yazınız";
}
else if (this.yorum==null) {
this.Status = "Lütfen yorumunuzu yazınız";
}
else if (_global.deger!=1) {
this.Status = "Fla dosyasını düzenlemede hata yapıldı";
_root.GuestBook =" Fla dosyasını düzenlemede hata yapıldı";
Name = "Dosya hatası";
Email = "Dosya hatası";
Comments = "Dosya hatası";
} else {
Submit = "Yes";
NumHigh = 10;
NumLow = 0;
/*_root.GuestBook = "İşlem yapılıyor.. veriler yükleniyor... ";*/
loadVariablesNum ("yaz.php", 0, "POST");
this.Status = "Mesajınız kaydedilmiştir.";
ad_soyad = "";
mail_adres = "";
konu = "";
konu = "";
yorum = "";

}

}


bu kod , çalışan bir flash-php ziyaretçi defteri uygulamasından aldım.

php kısmında ise şöyle bir kodlama var:



<?
function get_ip()
{
if (isset($_SERVER) and !empty($_SERVER)) {
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else if (isset($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
} else {
if (getenv('HTTP_X_FORWARDED_FOR')) {
$ip = getenv('HTTP_X_FORWARDED_FOR');
} else if (getenv('HTTP_CLIENT_IP')) {
$ip = getenv('HTTP_CLIENT_IP');
} else {
$realip = getenv('REMOTE_ADDR');
}
}

return $ip;
}




$fp = fopen("yorum.txt", "a");
fwrite($fp,"ad,soyad:".$HTTP_POST_VARS["ad_soyad"]."\n");
fwrite($fp,"mail:".$HTTP_POST_VARS["mail_adres"]."\n");
fwrite($fp,"konu:".$HTTP_POST_VARS["konu"]."\n");
fwrite($fp,"yorum:".$HTTP_POST_VARS["yorum"]."\n");
fwrite($fp,"ip adresi:".get_ip()."\n");
fwrite($fp, "\n");
fwrite($fp, "tarih:");
$tarih=gmdate ("M d Y");
fwrite($fp, $tarih);
fwrite($fp, "<hr>");
fclose($fp,gmdate ("M d Y"));


?>



şimdi swf'yi açınca text alanalrda _level0.mail_adres filan yazıyor , ve butona basınca php'yi çağırıp , yorum.txt dosyasına kayıt yapmıyor.

bu uygulamayı localde apache server üzerinde deniyorum. izinlerle alakalı bir sorun yok.

ne önerirsiniz ?
 
mcihad28.07.2005 - 16:48:34
var ldVars:LoadVars=new LoadVars();
ldVars.ad=_root.ad.text;
...
...
...

ldVars.SendAndLoad("http:/adres",nesne,"POST");

daha sonra başka bir framede
if(ldVars.loaded) {
.....
}

şeklinde verinin gönderilmesini kontrol etsen daha iyi olur
yoksa hemen veriyi göndermiyor;

daha önce olayı yapmıştım ama türkçe karakter sorunundan dolayı daha fazla uğraşmadım
 
sherlockholmes28.07.2005 - 17:10:45
çözüm : flash^ta instance name ve var name özelliklerini aynı yazmışım , değiştirince , bu kodlarla çalıştı.

...
 
NOT : Bu sayfa google'un siteyi indekslemesi içindir. www.delphiturkiye.com/forum/ adresini kullanınız!
1998-2006 www.delphiturkiye.com