Yenileme tam sayfa olmadan veritabanından veri almak

2 Cevap php

CreateClass.php, o createdClass.php yüklenirken sözde "Gönder" sayfasını bastığınızda kullanıcı vs notu, profil ekler: Benim proje adında bir sayfa var bir okul yönetici hakkında. Veritabanında aynı özelliklere sahip başka bir sınıf ise "Sınıf zaten var": Bu sayfanın içinde ben veritabanına veri eklemek ve de diyor bir "eğer" yapısı, tüm kodu var. Ayrıca ikinci sayfasında (createdClass.php) i her öğrencinin yerini gösteren küçük bir tablo var. İlk kez tüm hücreleri yeşil (Burası ücretsiz olduğu anlamına gelir) ve ben bunlardan birini tıklarsanız bana o yerden öğrenci hakkında bilgi eklemek için izin bir açılır pencere görünür. Bir yerde meşgul ise hücre (buraya bir göz atın: http://screencast.com/t/NzM2YzYxNjct) kırmızı olacaktır. Büyük bir sorun hücre sonra (yer veritabanından veri isteyin) sayfayı yenileyin kırmızı olmasıdır. Ben yenileme görüntülenir basarsanız "sınıfı zaten". I bir açıklama doğrulamak ve sırasıyla sınıf eklemek tüm satırları ekledim kodu test etmek. Benim sorunum ajax ile çözülebileceğini düşünüyorum. Ben bir cevap bekliyorum. Selamlar Stefan

2 Cevap

Sen (genellikle konuşan, POST isteği sonra) verileri taktıktan sonra başka bir sayfaya kullanıcıyı yönlendirmek gerekir.

Aynı sayfaya işaret eden ve bu dosyaya veritabanı ekleme kodunu hareket createClass.php formu değiştirin.

<?php

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // insert the data here
    header('Location: /createdClass.php');
    exit();
}

?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
...
</form>

(Update) akış böyle gidecek:

  1. Kullanıcı createClass.php bir formu gösterilmektedir
  2. Kullanıcı formu gönderdiğinde, teslim veritabanı satır ekler aynı createClass.php, ele ve sonra hiç sayfa gösterilmiştir ama 'createdClass.php' gitmek için tarayıcı anlatıyor.
  3. Şimdi tarayıcı sadece öğrenci tablosunu gösterir, hangi createClass.php yükler (ancak veri tabanı ekler yapar!). Eğer yan etkiler olmadan istediğiniz gibi şimdi birçok kez createClass.php yenileyebilirsiniz.

Yukarıdaki tüm sorunları çözmek unutmayın. Daha fazla bilgi (veya kod) olmadan daha fazla yardımcı olamaz.

Popup orijinal penceresini yenilemek için, javascript bu parça kullanın:

window.opener.location.refresh();