coverover adlı üyeden alıntı: mesajı görüntüle
Selamlar,

Bu konuyla ilgili olarak;

<?php  
$kod1gelen = $_POST["kod1input"];  
$kod2gelen = $_POST["kod2input"];  

$kod1kontrol = get_post_meta(776, 'Kod1');  
$kod2kontrol = get_post_meta(776, 'Kod2'); 

if(!empty($kod1gelen) && !empty($kod2gelen) && $kod1gelen == $kod1kontrol && $kod2gelen == $kod2kontrol){  

echo "iki şifrede doğru ;)";  
}else {  

echo "Şifreler yanlış.";  
} 
?>
Kodunu çalıştırmayı denediğimde $kod1kontrol ve $kod2kontrol array veri içerdiği için yanlışa düşüyor.

Bunun için döngü kurmak istediğimde;

<?php  
$kod1gelen = $_POST["kod1input"];  
$kod2gelen = $_POST["kod2input"];  

$kod1kontrol = get_post_meta(776, 'Kod1');  
$kod2kontrol = get_post_meta(776, 'Kod2'); 

// Kod1 ve Kod2 aynı sayıda veri içeriyor (427'şer adet), ve her birinin x. kaydı, diğerinin x. kaydı ile birlikte geçerli.

for ($i=0; $i<= count($kod1kontrol); $i++) 
{ 
     if(($kod1kontrol[$i]==$kod1gelen"]) && ($kod2kontrol[$i]==$kod2gelen"])) 

     //bu şekilde de denedim;
     //if(($kod1kontrol[$i]==$_POST["kod1input"]) && ($kod2kontrol[$i]==$_POST["kod2input"])) 

     { 
     echo "iki şifrede doğru"; 
     } 
     else 
     { 
     echo "Şifreler yanlış."; 
     } 
} 
?>
Yukarıdaki döngü ile ekranda herhangi bir sonuç alamıyorum.

Oysa ki;

<?php  
$kod1kontrol = get_post_meta(776, 'Kod1'); 
if(!empty($kod1kontrol)){ 
  foreach ($kod1kontrol as $kod1 => $value){ 
    echo $kod1 . "=>" . $value . "[br /]"; 
  } 
} 
$kod2kontrol = get_post_meta(776, 'Kod2'); 
if(!empty($kod2kontrol)){ 
  foreach ($kod2kontrol as $kod2 => $value){ 
    echo $kod2 . "=>" . $value . "[br /]"; 
  } 
} 
?>
Kodunu kullanarak test ediyorum,
Kod1 dizisinden 427 adet kaydı (tümü), Kod2 dizisini de aynı şekilde sorunsuz ekrana yazdırabiliyorum. (Döngü 0'dan 426'ya kadar sayıyor).

Anladım ki kurduğum döngüde problem var. Döngüde göremediğim hatayı görme şansınız var mı?

Post edilen sayfadaki form:
<form action="activation-control.php" name="kontrol" id="kontrol" method="post">
Coupon Code: <input type="text" size="20" name="kod1input"> 
Access Code: <input type="text" size="20" name="kod2input">
<input type="submit" value="   Next   " class="gradient-button" style="width:120px; height:75px;">
</form>
Aşağıdaki kod bloğu ve ekran çıktıları daha net görmenizi sağlayabilir. Bu çıktıları alabiliyorum ama döngüyü kuramadım...

<?php 
$kod1gelen = $_POST["kod1input"]; 
$kod2gelen = $_POST["kod2input"]; 

$kod1kontrol = get_post_meta(776, 'Kod1'); 
$kod2kontrol = get_post_meta(776, 'Kod2'); 

if(!empty($kod1gelen) && !empty($kod2gelen) && $kod1gelen == $kod1kontrol && $kod2gelen == $kod2kontrol)
{ 
echo "iki şifrede doğru"; 
}
else 
{ 
echo "Şifreler yanlış."; 
}
echo "[br/]";
echo "kod1gelen " . $kod1gelen . " kod1kontrol " . $kod1kontrol . "[br/]";
echo "kod2gelen " . $kod2gelen . " kod2kontrol " . $kod2kontrol . "[br/]";
echo "[br/]";
echo "array > kod1gelen " . $kod1gelen . " kod1kontrol " . $kod1kontrol[0] . "[br/]";
echo "array > kod2gelen " . $kod2gelen . " kod2kontrol " . $kod2kontrol[0] . "[br/]";
?>
Ekran çıktısı şu şekilde:
(Burada form girişlerinde ilk değerleri elimle girdiğim ve yukarıda $kod1kontrol[0], $kod2kontrol[0] ilk değerleri yazdırdığım için, karşılaştırılan rakamlar uyuyor.)

Şifreler yanlış.
kod1gelen 23711 kod1kontrol Array
kod2gelen 2356f99f kod2kontrol Array

array > kod1gelen 23711 kod1kontrol 23711
array > kod2gelen 2356f99f kod2kontrol 2356f99f
Ama dediğim gibi döngüyü kuramadım, döngü kurduğum zaman çıktı alamıyorum. Yardımcı olabilirseniz sevinirim, bu işi öğrenmeye çalışıyorum...
Merhaba, en başta adım adım yapacağını belirttiğin için sana örnek kodu yazmıştım.

Benim düşüncem özel alanları parça parça girmen şeklindeydi. Array olarak girdiğinde gene adım adım yapacağını düşündüğümde farklı, yazmaya çalıştığını gördüğümde kafamda farklı birşey canlandı.

Özel mesaj olarak ayrıntılı yazabilirsen beraber yazalım bu kodu