2016-03-31 47 views
1

Kullanıcının ad ve soyadlarını girdiği bir form var. Formumdaki tüm mevcut üyeleri/kullanıcıları saklamak için kullandığım CSV dosyasında tam adlarının olup olmadığını kontrol etmek istiyorum. Verilerin saklandığı biçim firstname,lastname'dur. Ve eğer mevcutlarsa, You are already a member'u yazdırmak istiyorum.CSV dosyasındaki arama başarısız oluyor

Ancak kodumu çalıştırdığımda çıktıda görmediğim şey bu değil. CSV dosyasında mevcut olan adları girsem bile çıktı olmaz.

$JLMembers = Array(); 

// Open the file of Members 
if ($handle = fopen("JLMembers.csv", "r")) { 
    // Get the next CSV line 
    while ($data = fgetcsv($handle, 1000, ",")) { 

     // Add that line to the array 
     array_push($JLMembers, $data); 
    } 
} 

foreach($JLMembers as $JLMember) { 
    $FirstName = $_GET['FirstName']; 
    $CurrentMemberFirstName = $JLMembers[0]; 

    if ($FirstName === $CurrentMemberFirstName) { 

     foreach($JLMembers as $JLMember) { 
      $SecondName = $_GET['LastName']; 
      $CurrentMemberSecondName = $JLMembers[1]; 

      if ($SecondName === $CurrentMemberSecondName) { 
       print "<br>You are already a member<br>"; 
      } 
     } 
    } 
} 
+0

Mesaj bazı kod belki ... – vove

+0

kodunuzu ve sorunu yeniden oluşturmak için bazı örnek verileri gönderin. –

+3

Yığın Taşmasına Hoş Geldiniz! [Lütfen kodunuzu bir resim olarak göndermeyin.] (Http://meta.stackoverflow.com/q/285551/3933332) – Rizier123

cevap

2

Sen $JLMembers[0] kullanıyoruz, mevcut satırın ilk sütun içerir Eğer $JLMember[0] kullanarak olmalıdır CSV, ilk satır içerir: Burada

benim kaynak kodu foreach döngü. İki döngüye de ihtiyacınız yok, sadece iki sütunu bir döngüde karşılaştırın.

kodu olmalıdır:

$FirstName = $_GET['FirstName']; 
$LastName = $_GET['LastName']; 
foreach ($JLMembers as $JLMember) { 
    if ($FirstName == $JLMember[0] && $LastName == $JLMember[1]) { 
     echo "<br>You are a member<br>"; 
     break; // Exit the loop once we found a match 
    } 
} 
+0

Teşekkürler! Şimdi, ilk ve soyadı iki farklı kişiden geldiğimde üye olduğumu söylemeye çalışmam gerek. – Mintblaze

+0

Bunu yapmamalı. Sadece isimler farklı satırlarda değil, tek bir satırda eşleştiğinde eşleşir. – Barmar

+0

Bu, iç içe döngülerinizde bir sorun oldu, benim kodum değil. – Barmar

İlgili konular