Düğmesine geri Taşıma

4 Cevap php

Ben birkaç adım alır bir kayıt formu var.

Adımlarından biri olarak, bazı bilgileri doldurmak, ve onlar yüklemek için bazı görüntüleri seçin.

Bir sonraki adım, onların bir uygulama Değerlendirmenizi görmek.

Ne gerçekleşmesi muhtemel yanında kullanıcı o sevmez şey görürse, o formda ne değiştirmek için geri düğmesine basın olacaktır.

Ancak;

1) O, form tabanlı gönderimleri hakkında bu tarayıcı uyarı mesajının birini alabilirsiniz

O geri dönmek yoksa 2), (belki) ona istediği birini değiştirmek için izin, o yükledi görüntüleri göstermek dosya yükleme modülü farklı davranmasını istiyorum

Nasıl ben o geri düğmesini tıklarsa kullanıcının gördüğü ne daha fazla kontrol?

PS. I'm using PHP (html, javascript, whatever ...). For other parts of the application process I used ajax behavior to save anything they do in real-time (checking boxes, etc ...). So I made the "continue" button just a regular link. Here however, uploading files makes this process more difficult.

4 Cevap

Sen hemen hemen bunu "devlet" farkında böylece formun her aşamasını kod gerek tanımak anlamında kendi sorularını yanıtladı ettik. Ben sadece "bilgilerinizi onaylayın" aşamasından sonra (db olarak) verileri işlemekten, oturum değişkenleri her aşamasında takip tuttu ki bazı çok benzer sondaj formları yaptık.

Eğer ilgileniyorsanız eğer an example here görebilirsiniz. Bu formda, dosya-yükleme bölümü "Sponsorluk detayları" aşamasında olur. Bu formlar veya Javascript olmadan çalışmak üzere dizayn edilmiştir. Ne olacağını görmek için geri adım sonra bazı örnek dosya upload - Hiçbir şey öylesine oynamak için çekinmeyin son aşamasına kadar gönderilir veya kaydedilir.

P.S. Her aşamasını izlemek için oturum değişkenleri kullanarak bir avantajı (buldum) yapmanız gereken tüm $ _SESSION dizi serialize ve bir veritabanı alanına kaydedin olduğu gibi çok basit formu tasarrufu ve yeniden tesis sağlamasıdır.

1) O, form tabanlı gönderimleri hakkında bu tarayıcı uyarı mesajının birini alabilirsiniz

Bkz: Post/Redirect/Get

O geri dönmek yoksa 2), (belki) ona istediği birini değiştirmek için izin, o yükledi görüntüleri göstermek dosya yükleme modülü farklı davranmasını istiyorum

Bkz: da5id's answer.

1 noktasını İlişkin): Post/Redirect/Get desen kullanın. Bu model basit ama etkilidir. Bir kullanıcının mesajlarını form sonra, bir GET isteği ile sonraki sayfaya onları yönlendirebilirsiniz.

Böyle bir şey (denenmemiş):

<?php

    // let's say you determine the current step in the wizard with a GET parameter
    $step = isset( $_GET[ 'step' ] ) ? intval( $_GET[ 'step' ] ) : 1;

    if( 'post' == strtolower( $_SERVER[ 'REQUEST_METHOD' ] ) )
    {
        // we have a POSTed form submission

        /*
            handle form submission
        */

        if( $success )
        {
            // successful form submission, so increment step
            $step += 1;
        }
        else
        {
            // NON-successful form submission
            /*
                maybe save some error messages in a SESSION
            */
        }

        /*
            complete the POST/REDIRECT/GET pattern

            redirect to the desired step in the wizard process with a GET request,
            this prevents re-submission by browser refreshes and backbuttons
        */
        header( 'Location: http://example.com/yourformwizard?step=' . $step );
    }

Ben kadar sayfalarını gönderildi oluşur tarayıcı uyarı konuda yapabileceği olmadığından emin değilim. Ben devlet kolları kullanıcı için ayrı bir geri düğmesini (sihirbaz tarzı) sağlayacaktır. Onlar tarayıcının geri düğmesini kullanın ve tarayıcı uyarıyı göz ardı etmezseniz, o zaman potansiyel bir oturum değişkeni veya bir çerez, vb kullanarak kullanıcının bilinen son durumunun takip verebilir