nasıl cart.php bu formu alıcaksınız

3 Cevap
$index = 1;
foreach($product['varieties'] as $variety){     
echo '<input style="width:10px; margin-left:9px; " name="price_' . $index . '" type="checkbox" value="' . $variety['price']. '"  />';   
echo '<input name="size_' . $index . '" type="text" value="' . $variety['size']. '"  />';    $index++; 
} 

Gördüğünüz bu bir dizin = 1 olacak ve her tekrarında, price_2, etc.and size_1, size_2 PRICE_1 olacak nerede artan edilecektir. Her isim farklı olacak Şimdi ne zaman dinamik bir adla = "" giriş nasıl cart.php de alabilir?

o $price= "'..',$_POST['price_']" gibi bir şey olurdu? iyi ben cart.php url bu ad indeksi alabilirsiniz nasıl fikrim yok.

Thnank sen.

3 Cevap

Bunun yerine dize size_1 gibi ismini bina, neden böyle bir isim yapmak değil size[].

Sonra anında PHP ile bir dizi gibi erişebilirsiniz.

Alex'in cevabı bak. Bu koşullara daha uygundur ..

Sen, sonunda, madde sayısına ($ endeks değeri) ile gizli bir metin kutusu ekleyebilirsiniz. ve geri okuma

kadar sonra döngü eklenti

echo '<input name="counter" type="hidden" value="' . $index. '"  />'

bunu okumak çalıştığınızda ve ilk şey $POST['price_'.$loop_counter] okuma bu değere 1'den tekrar döngü ardından $POST['counter'] okumak olacağını ve

Böyle bir şey ile değerleri bulabiliriz:

$prices = preg_grep('/^price_\d+$/', $_POST);

foreach($prices as $P) {
   $idx = substr($p, 5); // extract the digits, which we know will be at position 5->end

   $size = $_POST['size_' . $idx];
   etc....
}

Bu, her FiYAT_ için # bunun için varsayar, bir karşılık size_ # var