mervancanturk adlı üyeden alıntı:
mesajı görüntüle
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 2356f99fAma 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...