[Çözüldü] fonksiyon sorusu

Başlatan ecarpar, 21 Eylül 2010 - 13:34:44

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

ecarpar

Merhaba arkadaşlar Normalde flash ve as 2.0 kullanyorum dedim php ile karıştırıp birşeyler yapayım nede olsa dillerde yakın. Birkaç sorun ile karşılaştım.
1. Fonksiyonu yazıyorum sorun yok. Web 2.0 mantığı ile sayfa değiştirmeden o fonksiyonu bir buton ile çağırmaya ve değerini bir text e yazdırmaya çalışıyorum, (çağıramıyorum) ama nedense bir türlü butona basınca fonksiyonun echo sunu bile alamadım.

2. Klasiktir text alanı vardır oraya veri gireriz php gider onu okur ve içerde yorumlayıp bize bir değer dönderir. Peki bu text alanının içini nasıl okuyor php ?

kısaca bir fonksiyona text alanından buton yardımı ile (link değil) veri gönderip, bir fonksiyona buton ile hükmetmek nasıl yapılıyor. Mantığını kuramadım

A.S 2.0 da fonksiyonu yazıp butona fonkIsmi(varsa değer); şeklinde yazınca çalıştırıyordu.  ama php + html olunca ben orda takıldım anlaşılan..

BU arada nette dolaşan klasik örneklere baktım

function deneme ($deger) {
return $deger;
}
echo deneme(3);
Gibi bir örnekten * bir şey anlamadım echoyu basıyor ama kendisiliğinden basıyor. benim istediğim o değere ben butona basınca yazdırması.
Eşşeğin uzun bir yolculuğa çıkmış olması onun at olarak döneceği anlamına gelmez.

canosayan

as dili? sanırım bunu gözden kaçırmışım.
şöyle başlayalım. php sunucuda yorumlanır ve size html sayfası döndürür. yani bir buton'a basınca javascript gibi tarayıcıda çalışamaz. bir text öğesinden ise doğrudan veri okunmaz. verileri post yada get metodlarından iri ile php betiğe gönderirsiniz.

Eğer bir düğme v ya linkin sayfa güncellenmeden bir fonksiyon ile işlenmesini istiyorsanız ilgilenmeniz gereken konu ajax. ajax ile javascript vasıtasıyla verileri bir program betiğine gönderir, geri gelen verileri kullanırsınız.

örneğinize gelince eğer butona bastığınız anda sayfada bir şeyler olmasını istiyorsanız javascript kullanmalısınız.
Kısaca özet geçersek javascript tarayıcıda php bir sunucuda çalışır.
Chmod bizim işimiz.

krwlng

canosayan güzel anlatmış php'de buton mantığı Get ve Post olarak işlenir yani betiğe Post ve Get ile veri gönderilir, karşılığında betik verilen değerlerle istenen fonksiyonu yerine getirir. Sizin söylediğiniz gibi bir şey için javascript veya ajax gerekir. A.S, Action script oluyor sanırım, flash ile kullanılan betik kalıpları kütüphanesi olarak biliyorum ben as'yi, yani mantık olarak benzese bile platform ve yapılabilirlik açısından çok farklı.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

ecarpar

#3
A.S. evet Action script oluyor baktığımda php nin çoğu kısmını gayet rahat anlıyabiliyorum hatta biraz araştırmadan sonra bir klasörün içini okuyup oradaki dosya isinlerinden xml yazdıran basit bir fonksiyon dahi yazabildim :) nekadar zordur bilemem ama bilmeyen ben için oldukça keyifli oldu.

canosayan vallaha üstadım hiç * bir şey anlamadım .
get'i post' u elbette biliyorum php nin tarayıcıda çalışmadığını server side olduğunuda biliyorum, ama halen bir fonksiyonu buton ile çağırmayı bilmiyorum açıkçası.
yokmu yani şöyle bir şey

<input name="  Tamam  " type="button"> (bu araya yazılıcak 1 satır kod :) bu tamam butonunun şu php yi çağırmasını sağlıycak bir şey yokmudur.)


uzun uzun güzel anlatmışsında açıkcası heryerde bunlar zaten buluna biliyor soru olarak burada sormamdaki amaç zaten şu yukarıdaki fonksiyon çağırma olayını buton ile yapamamış olmam sorumun cevabı hariç bir ton şey yazmışsın fakat onlar inan benim hiç bir işime yaramıyor. Yani php de bir butona tıklatıp işlem yaptıramıyormuyuz?  ;D

Bana birisi action script 2.0 ile fonksiyon nasıl çağırılır dese
önce ona nereden çağıracağını sorarım eğer buton ile çağıracaksa butonun bir Movie clip olup olma dığını sorup fonksiyonun nerede olduğunu sorarım seviyesini aladıktan sonra ona butonun on Release ine fonksiyonIsmi(); şeklinde yazıcaksın derim. kodu butonun üzerine yazıyorsa _parent.fonksiyonIsmi(); şeklinde yazıcaksın derim.

Eşşeğin uzun bir yolculuğa çıkmış olması onun at olarak döneceği anlamına gelmez.

canosayan

#4
valla keşke daha iyisini yazabilseydim. ama php butona fonksiyon atanarak çalışacak bir dil değil. actionscript zaten flash içerisinde çalıştığı için javascript ile aynı koşullarda çalışan bir dil. php de ise get, post yada ajax ile bilgi göndermeniz gerekir. bir butona tıklamanız kendi başına php fonksiyonu çalıştırmaz

En basit yolla gidersek get'i ele alalım şöyle bir formumuz olsun
<form action="./ornekbetik.php" method="get">
<input type="text" name="deger" value="5"/>
<input type="submit" />
</form>

Bu formdaki düğmeye bastığınızda  tarayıcı sizi /ornekbetik.php?deger=5 bağlantılı sayfaya gönderir. Bu sayfada sizde istediğiniz yerde $_GET["deger"] yazarak bu 5 değerine ulaşabilirsiniz. ornek betik sayfası ile yapacağınız işlemler sonucunda bir sayfa üretir ve tarayıcıya geri gönderirsiniz.

eğer sayfa hiç değişmeden bu olsun istiyorsanız buton'un onclick öğesine bir ajax fonksiyonu yerleştirirsiniz. ajax ile örnekbetik.php dosyasında işlem yaptırır geri gelen bilgileri sayfanızda kullanırsınız.

çok ayrıntılı olmasa da http://www.php.net/manual/tr/faq.html.php adresi biraz olsun form anlatıyor
Chmod bizim işimiz.

ecarpar

#5
çok sağol @canosayan üstad. demekki ajax da öğrenmek gerekiyor ozaman en basit şekilde işimizi çözmenin yolunu bulacağız.

Aklıma takıldı php ile hazırlanmış forumlar felan hep bu yol ilemi yapıyorlar. Baya zormuş bu işi yapmak öğrenicem ama koydum kafayada sizin başınızı çok ağrıtmam umarım. yanıtlar için teşekkür ederim.

Peki php fonksiyonu sayfanın içersinde çağırıp çalıştırmanın kendi içersinde hiçmi bir yolu yok illede başka bir dilmi gerekiyor? Peki fonksiyonu link ile çağırsam felan olmazmı cevap verdiğiniz için teşekkür ederim bana çok tuhaf geldi php nin kendi içersinde bir butona tıklanınca fonksiyonu çalıştırıp bir değer dönderemiyor olması.  ???

Şaşkınım açıkçası şu an.
İlgilenip cevap verdiğiniz için teşekkür ederim size.
Eşşeğin uzun bir yolculuğa çıkmış olması onun at olarak döneceği anlamına gelmez.

ecarpar

evet arkadaşlar birşeyler buldum çalışıyor ve hemen buradan paylaşayım belki birilerinin gene ihtiyacı olur alır kullanır.
2 dosyamız oluyor
html ve ayrıca birde php php dosyasının ismi burada file.php olarak düzenlenmiş onu kendi php dosyanızın ismine göre düzeltirsiniz.


<script>
function requestOlustur()
{
    var conn;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer")
{
        conn = new ActiveXObject("Microsoft.XMLHTTP");
    }
else
{
        conn = new XMLHttpRequest();
    }
    return conn;
}

var http = requestOlustur();

function requestGonder(action)
{
    http.open('get', 'file.php?act='+action);
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function handleResponse()
{
    if(http.readyState == 4)
{
        var response = http.responseText;
document.getElementById('divim').innerHTML = http.responseText;
    }
}
</script>
<a href=# onClick="requestGonder('index');">Link</a>
<!--file.php den gelecek sonuç bu div içerisinde gösterilecek.-->
<div id="divim"></div>


php tarafı ise


<?php
if(
$_GET['act']=='index')
{
echo 'index';
}
else
{
echo 'default';
}
?>

Eşşeğin uzun bir yolculuğa çıkmış olması onun at olarak döneceği anlamına gelmez.

krwlng

Php kodu ne güzelmiş, çok açık şekilde herşeyi anlatıyor. Sizin işinizi bu şekilde gördüyse güzel, ayrıca bu örnek birçok konuda birçok kişiye yol gösterebilir, azminiz için kutluyorum.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

canosayan

Chmod bizim işimiz.

krwlng

@canosayan, gerçekten çok güzelmiş, asp kısmınıda anlatmışlar olayın, ama php daha anlaşılır duruyor tabii ki.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

ecarpar

Alıntı yapılan: krwlng - 22 Eylül 2010 - 23:33:34
Php kodu ne güzelmiş, çok açık şekilde herşeyi anlatıyor. Sizin işinizi bu şekilde gördüyse güzel, ayrıca bu örnek birçok konuda birçok kişiye yol gösterebilir, azminiz için kutluyorum.
Rica ederim forumlarda amaç paylaşmaktır. Soruyu sordum diye araştırmayı bırakmak olmaz bulduktan sonrada bilgiyi kendine saklamak olmaz çünki soruyu sorduğum yerde biri biliyorsa mutlaka cevaplardı diye düşünüyorum forumlar hakkında ben eh hal böyle oluncada işi gene araştırarakda olsa çözümlediysem çözümünüde forumdaki başlığın altına koyuyorum.
Eşşeğin uzun bir yolculuğa çıkmış olması onun at olarak döneceği anlamına gelmez.

krwlng

Forum mantığını doğru anlamış birini görmek güzel.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!