PHP dosyası alan içeriğini hatırlamak

4 Cevap

Ben metin girişleri ve dosya girişleri ile bir form var; metin alanları valide edilmektedir. Form onlar teslim vurdu ama metin alanlarından biri doğrulamak yoktu, çünkü geri dönmek gerekiyorsa kullanıcı zaten seçili olan hangi dosyaları hatırlamak için bir yolu var mı?

4 Cevap

Güvenlik nedenleriyle bir dosya yükleme alanının içeriğini "ön-doldurma" olamaz. Ayrıca, bu dosyayı iyi olmaz, hangi form gönderildiğinde her seferinde yeniden tarih almak anlamına gelecektir.

Bunun yerine, bu do:

  • Isimde bir dosya yükleme alanı oluşturma file_upload.
  • Sunucu tarafında, form doğrulama kalanı başarısız olsa bile, her durumda yükleme işlemek.
  • Form doğrulama başarısız oldu, ancak dosya karşıya ise, adı file sadece yüklenen dosyanın adını içeren forma gizli bir giriş eklemek.
  • Dosyanın tamam olduğunu bir kullanıcı görünür gösterge görüntüler. Bu bir görüntü varsa, bunun bir resim sürümünü görüntüler. Başka herhangi bir dosya varsa, dosya adını ve / veya simgesini görüntüler.
  • Kullanıcı file_upload alanı, süreç yükleme farklı bir dosya yüklemek ve file yeni değeri depolamak seçerse.

Pseudocode:

<?php
    $file = null;
    if (!empty($_POST['file'])) {
        $file = $_POST['file'];
    }
    if (!empty($_POST['file_upload'])) {
        // process upload, save file somewhere
        $file = $nameOfSavedFile;
    }

    // validate form
?>


<input type="file" name="file_upload" />
<input type="hidden" name="file" value="<?php echo $file; ?>" />
<?php
    if (!empty($file)) {
        echo "File: $file";
    }
 ?>

Sunulmadan önce AJAX ile metin girişlerini doğrulamak: Ben alternatif bir yöntem önermek istiyorum.

Bu da, sizin formların kullanılabilirliği arttırmak olacaktır.

dosya giriş alanları salt okunur onlar için bir başlangıç ​​değeri ayarlanamaz

Zaten dosyaları upload ve bunun yerine dosya seçme kutusunun adlarını görüntüleyebilir. Alanları hatırlamak, bir $ _SESSION değişkeni kullanabilirsiniz.