İki dizi değerlerini karşılaştırarak

1 Cevap php

Ben, geçersiz görevden, tadil ve doğru alıntılar için kullanılan bir form var. Bir boşluk, bir işten çıkarma, değişiklik veya düzeltme ile conjucntion olarak yapılamaz. Eğer geçersiz ve değişiklik gerekiyorsa, iki formları tamamlamak. Ancak aynı form üzerinde bir işten çıkarma, değişiklik ve / veya düzeltme yapabilirsiniz. Ben formdan değişkenlere dayalı oluşturulan iki diziler var. Bir dizi boşluk bölümünden değişkenleri vardır, diğer dizisi tüm diğer değişkenleri vardır.

Ben tüm diğerlerine boşluğu karşılaştıran bir kural oluşturmak için çalışıyorum. Ben herhangi bir geçersiz değişkenler olup olmadığını kontrol edebilmek istiyorum! = "" Ve diğer değişkenlerin herhangi vardır! = "" Ve sonra bir hata mesajı verir.

if($_POST[$all_other_fields] !== "" && $_POST[$void_fields] !== "")
                {
                  $all_ok = false;
        $citation_error_msg = "Blah, Blah Blah";
                 }

Ben ne yaptım, farkında olmadan, TÜM must! = "" Her iki dizide den varriables belirtilmiştir. Ben eğer iki dizide bile bir değişken! = "", Daha sonra hata iletisi söylemek istiyorum.

Ben karşılaştırma yapmak için nasıl emin değilim.

1 Cevap

Yani, bir boşluk alanı dolduran eğer birileri diğer bölümleri doldurduğu takdirde, bir hata atmak söylüyorsun? Eğer kullanıcı yapmak ve daha sonra bunu yapmak için belirli bir form ile sunmak istediği şey sormak nerede, bir sayfalık forma benim formunu yeniden olabilir. Bir formda gereksiz alanları olması sadece kullanıcı için kafa karıştırıcı şeyler yapar.

Herhangi bir olay, geçerli form tasarımı ile yapışırsa, size $ 'POST kontrol edeceğiz hangi karşı geçersiz alan adları bir dizi olması gerekir. Gibi bir şey:

$vf_flag=false;
$void_fields=array('vf1','vf2','vf3');
    foreach($void_fields as $vf) {
      if(!isset($_POST[$vf])) continue;
      $vf_flag=true;
      break; //only need one error
    }
$nonvf_flag=false;
//do the same as above except with a non_voidfields array()

if($nonvf_flag && $vf_flag) $citation_msg='blah blah blah';

Bu kapsamlı bir yoldur, ama basittir. Ayrıca array_filter() ve bir geri arama ile yapabilirdi.