Neden bazı $ _POST değişkenleri PHP ile bir form için eksik giderdi?

6 Cevap php

Bazen birden çok kez aslında bir gün, benim web uygulama kullanıcıları gizli alanlar hangi yarısı yaklaşık bir düzine form alanları vardır ve $ _POST verilerin yarısı sadece işleme senaryodaki değil, belirli bir formu gönderiyorsunuz. Mevcut olmayan alanlar formun çok altında olduğunu unutmayın. Ben bu bir ölümcül hata yükseltir, çünkü bu biliyorum, ve bir e-posta sonrası verileri içeren bana gönderilir.

Ve tabii ki, ne ben ne de benim takımımda geliştiricileri her ne sorunu yeniden.

Ben bir ilerleme göstergesi görüntülemek için Uploadify adında bir kütüphane kullanıyorum gibi Flash sürecine katılır. İşte akış herkes sonrası bazı verileri sildi almak olurdu neden her HERHANGİ fikirleri var mı ... nedir?

  • CMS bir sayfa için kullanıcı ziyaretler düzenleme ekranı ben kullanıyorum.
  • Sayfa için rekor id gizli bir değer olarak bir form içine konur.
  • Kullanıcı Uploadify Gözat düğmesine tıklar ve (yalnızca tek bir dosya seçimi izin verilir) bir dosyayı seçer.
  • Kullanıcı tıkladığında benim form için Gönder düğmesini.
  • jQuery, form gönderme eylemi yakaladığını yüklemeye başlamak için Uploadify tetikler, ve (el Uploadify üzerinden alabilir, böylece biçim olay göndermek iptal) gönderme eylemi için false döndürür.
  • Özel bir işlem komut dosyası yüklenenler Uploadify.
  • Uploadify yükleme tamamlandıktan ve Javascript tamamlama geri arama tetikler.
  • Javascript geri arama ('# myForm') $ çağırır. Submit () formu göndermek için.

Bu çoklu tarayıcılarda (Firefox 3.5, 3.6, Safari, Internet Explorer 7, 8) ve çoklu platformlar üzerinde olur (Mac OS 10.5, 10.6 ve Windows XP, 7).

6 Cevap

Dosya yükleme (Uploadify) gibi aynı komut için hedef <form>? Eğer öyleyse açıkça scriptData yapılandırma seçeneği belirtmek sürece, Uploadify dosya yükleme ile herhangi bir bilgi (yani, diğer form alanları) birlikte göndermek olmaz. Belki hatalar, belirli alanları eksikliği istekleri sonuçları sayfasına isabet Bu yüklemeler, neden ediliyor.

Eğer veri javascript ile bir şey yapıyor musunuz? Eğer öyleyse, bazı kullanıcılar js etkin olmayabilir ve soruna neden olabilir. Javascript özürlü ile formunu çalıştırmayı deneyin.

edit: bütün yazıyı okumak için yardımcı olur. evet, büyük ihtimalle insanlar javascript etkin olmadan formunu çalışan vardır.

Benim ilk düşünce geçersiz html. Sen sonunda gizli alanlar söylüyorlar. Belki onları gömülü bazı verilerin düzgün hazırlanmış veya kaçmış değil.

Eğer some veri olsun beri, belki form elemanları bir sağlama toplamı bir tür oluşturmak için jquery kullanmaya başlamak ve bu konuda bildiği değerleri ve birlikte form post ile bu toplu sağlama göndermek istiyorsunuz. Eğer işe alma konusunda sorun olsun ya da olmasın bağlı olarak sorun çok açıklayıcıdır olabilir.

Ayrıca tarayıcı tarafından gönderilen http isteği içerik uzunluğunu bulmak için deneyebilirsiniz. Belki web sunucusu günlüğü yapılandırma değiştirin. Bu veri gönderme olabilir, ve sunucu / script tarafından yanlış ediliyor.

Ben senin akışı yanlış olabilir düşünüyorum. Eğer yapmamalısın

1> Browse for file 2> After selecting file automatically starts uploading. 3> User selects submit button

Eğer bir şeyler yakalama komplikasyonu önlemek bu şekilde.

İşte benim akışının bir parçası olduğunu:

var fname = '';
$(document).ready(function() {
    $('#upload').hide();
    $('#submit_btn').hide();

    if($('#id').val()) {
        $('#upload').show();
    }
    $('#upload').uploadify({
        uploader:   'js/uploadify/uploadify.swf',
        script:     'upload.php',
        folder:     '_holder',
        auto:       true,
        cancelImg:  'images/cancel.png',
        buttonText: 'Upload File',
        width:      '120',
        onComplete: function(event, queueID, fileObj, reponse, data) {
            fname = fileObj.name;
            $("#status_msg").html( 'File Is Uploaded.' );
            $('#submit_btn').show();
       }
    });
});

Sonra tabii ben submit_btn adlı dosya üzerinde diğer işlemleri yapmak.

Geliyor DEĞİLDİR alanlar aynı formda dosya yükleme alanından sonra tanımlanmış ise, bu çok iyi bir sorun olabilir.

Bu durumda ise, bunu kendi eylemi ile her (en iyi çözüm) yükleme-formu ve veri formu bölmek zorunda, ya da yükleme formu (2 seçenek) 'önce' tüm alanları belirleyecektir

Bu aptalca bir cevap gibi görünebilir, ancak bazı kullanıcılar çift tıklayın kabul var? Belki de ikinci tıklama sorunu neden oluyor?