次のコードを使用して番号の値をショッピングカートに渡します。文字列の値を配列に渡す
if(is_array($_SESSION['cart'])){
echo '<tr bgcolor="#FFFFFF" style="font-weight:bold">
<td>Serial</td>
<td>Part No</td>
<td>Name</td>
<td>Price</td>
<td>Qty</td>
<td>Amount</td>
<td>Options</td>
</tr>';
$max=count($_SESSION['cart']);
for($i=0;$i<$max;$i++){
$pid=$_SESSION['cart'][$i]['productid'];
$q=$_SESSION['cart'][$i]['qty'];
$pname=get_product_name($pid);
if($q==0) continue;
?>
<tr bgcolor="#FFFFFF">
<td><?php echo $i+1 ?></td>
<td><?php echo $pid ?></td>
<td><?php echo $pname ?></td>
<td>$ <?php echo get_price($pid)?></td>
<td><input type="text" name="product<?php echo $pid?>" value="<?php echo $q?>" maxlength="3" size="2" /></td>
<td>$ <?php echo get_price($pid)*$q?></td>
<td><a href="javascript:del(<? echo $pid?>)">Remove</a></td>
</tr>
<?php
}
?>
「12191008」、「05191034」のような数値を挿入するとうまくいきます。 "PF401404"のような文字列値は機能しません。文字列の値を渡すコードを変更するにはどうすればよいですか?
次のようにも、カート機能に追加するには...
function addtocart($pid,$q){
if($pid<1 or $q<1) return;
if(is_array($_SESSION['cart'])){
if(product_exists($pid)) return;
$max=count($_SESSION['cart']);
$_SESSION['cart'][$max]['productid']=$pid;
$_SESSION['cart'][$max]['qty']=$q;
}
else{
$_SESSION['cart']=array();
$_SESSION['cart'][0]['productid']=$pid;
$_SESSION['cart'][0]['qty']=$q;
}
}
どこに挿入していますか?あなたのコードのどの部分? – Webeng
あなたが直面している部分はエラーです。あなたの側からデバッグを挿入しないのはなぜですか?また、どの行にその問題を作成するか教えてください。 – RJParikh
値は前のページから取得しています。 ($ pid = $ _REQUEST ['productid']; addtocart($ pid、1);)どの部分から問題が発生しているのか分かりません。 – NuwanD