Doğru Cevap
-
Merhaba,
Her bir işleminiz için ayrı dosylar varsa onu kullanmanız mantıklı olur: login.php, arkadaslistesi.php vb.
Kendi projelerimde ajax çağrılarını sadece bu çağrılara cevap verecek tek bir dosya üzerinden yapmayı tercih ediyorum: ajax.islemleri.php gibi.
Bunun için KOD üzerinde yapmanız gereken şey şu:
Öncelikle, her bir işlemde ne yapacağınızı belirten bir parametre göndermelisiniz:
ajax.islemleri.php?islem=login
Çağrılan bu dosyanın içeriği de şöyle olmalı:
if($_GET["islem"] == "login") { // işlemler burada // işlemler burada return; // Bu kod çok önemli !!! } if($_GET["islem"] == "liste") { // işlemler burada // işlemler burada return; // Bu kod çok önemli !!! }
Görüldüğü gibi her bir parametreye ait işler bittiğinde "return" ile program akışının o noktadan aşağıya devam etmesini önlemeniz gerekiyor.
Cevaplar
-
login.php ile işlem yaptığınızda, login.php'nin tamamı gelmiyor mu?
Eğer gelmiyorsa login.php'de kullandığınız mantığın aynısını index.php'de kullanmanız gerekiyor. Eğer aynısı geliyorsa, ajax sorgusu yapacağınız sayfayı kısımlara ayırmalısınız. Şöyle ki;
$olay diye bir değişkenimiz olsun ve 'ekle' ve 'sil' değerlerini alabilsin. Bu da login.php sayfası olsun<?php $olay = $_GET['olay']; switch($olay) case 'ekle': //Ekleme işlemi yapılıyor break; case 'sil': //silme işlemi yapılıyor break; }
Şimdi siz bu sayfayaurl: 'http://localhost/proje/login.php?olay=ekle'
gibi bir sorgu ile ulaşmaya çalışırsanız, sadece "//Ekleme işlemi yapılıyor " kısmındaki kodlar çalışır. Büyük ihtimalle, index.php'nin tamamının dönmesinin sebebi bu şekilde kısımlara ayırmamış olmanız-
jette
Evet Kısımlara Ayırmadım
Ama Şöyle Bir yapı Oldugunu Düşünürsek
index.php?islem=uye_sorgula
Burdada Aynı Şekilde İndex.php üzerinden işlem yaptıgımız İçin Komple Html Kodlarını Geri Döndürüyor Ama Login.php Gibi Bir Sayfa Tasarlayıp Sadece Php Kodları Olur Ve Net Sonuçlar Dönerse o zaman Sorun Olmuyor
Yani Kısacası Sorun benim Php Kodları İle Html Kodlarını Ayırmadan Yazamamdan kaynaklanıyor
Örnek
<xhtml>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!-- META -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- TİTLE -->
<title><?php echo firma ?></title>
</head>
<body>
<?php require_once 'page/login_class.php'; ?>
</body>
</html>
</xhml>
login_class.php de İse Ajaxın Yolladıgı Postlar Değerlendirilip Sonuç Döndürüyorum Ama Dönen Sonucu Düzgün Bir Şekilde Alamıyorum Bu Sayfanın Tümü Sonuç Olarak Dönüyor12 yıl önce yazılmış -
yunusy
index.php<?php $olay = $_GET['olay']; switch($olay) case 'ekle': //Ekleme işlemi yapılıyor break; case 'sil': //silme işlemi yapılıyor break; default: //Normal index.php sayfandaki bütün kodları bu kısma yaz // Parametresiz çağrıldığında, yani http://.../index.php diye yüklendiğinde bu kısım çalışır. //Ajax sorgularını ise ?olay=olaylar diye yaparsan istediğin gibi kodları ayırmış olursun en kaba hali ile }
12 yıl önce yazılmış
-
-
GET işlemini yaptırdığın if komutunun sonuna exit; yazarsan dosyanın devamını okumayı bırakır ve çıktıyı gösterir. if kontrolünü de sayfanın en üstüne koyarsan istediğin sonucu alabilirsin.