2011-02-10 4 views
1

購入する数量を入力するために使用されるテキストボックスをクリックすると、下のコードがviewcart.phpに引き込まれる理由を理解できません。ページ内のすべてのアンカータグ。私もviewcart.phpするすべてのリンクを削除していないが、運:クリックでテキスト入力が不要なリダイレクト

<form name="cx" method="get" action="viewcart.php?action=add&id=<?php $pid; ?>">   
    <?php 

     while($row=mysql_fetch_assoc($result)){ 
     $pid=$row['PID']; 
     ?> 
      <tr> 
       <td><?php echo $row['PID']; ?></td> 
      <td><a href="viewprod.php?prodname=<?php $row['PRODUCT']; ?>"> <?php echo $row['PRODUCT']; ?></a></td> 

       <td><?php echo $row['CATEGORY']; ?></td> 
       <td><?php echo $row['P_DESC']; ?></td> 
       <td><?php echo $row['QTYHAND']; ?></td> 
       <td><?php echo $row['S_PRICE']; ?></td> 

       <input type="hidden" value="<?php echo $row['QTYHAND']; ?>" name="qoh[]"/> 

       <input type="hidden" value="<?php echo $row['S_PRICE']; ?>" name="sprice[]"/> 


       <?php echo "<td><a href=\"viewcart.php?action=add&id=$pid\"><img src=\"../img/system/add-icon.png\"></a></td>"; ?> 
       <td><input type="checkbox" name="sc[]" id="<?php echo $row['PID'];?>" value="<?php echo $row['PID']; ?>"></input></td> 
       <td><input type="text" name="qbuys[]" value="" id="qb"></input></td> <!--when I click on this, it seems like I'm clicking on a link to viewcart.php --> 

</table> 
<input type="submit" value="submit"></input> 
</form> 

私はこの問題を解決する際に有用であるとは思わないコードの一部を削除しました。助けてください。ありがとう。

+1

私のために働く。 Clickイベントなどにバインドする他の場所にJavaScriptがないことを確認してください。 – Kissaki

+0

これはPHPやリダイレクトと何が関係していますか? – Kissaki

+0

あなたは$ pidをエコーし​​ていないし、スコープの問題もあります。下の私の答えを見てください。ありがとう、kissaki。 – xzyfer

答えて

1

コードには2つの問題があります。あなたは$ pidをエコーし​​ていないし、スコープエラーがあります。

あなたが echoを追加する必要が
<form name="cx" method="get" action="viewcart.php?action=add&id=<?php $pid; ?>"> 

<form name="cx" method="get" action="viewcart.php?action=add&id=<?php echo $pid; ?>"> 

あなたは常に '' エコーされますので、あなたは、whileループの中にいるまで、また、$のpidが存在しません:

このページのソースを表示する場合は
// $pid == null; 
<form name="cx" method="get" action="viewcart.php?action=add&id=<?php $pid; ?>"> 


<?php 
    while($row=mysql_fetch_assoc($result)){ 
    $pid=$row['PID']; // NOW $pid has a value 
?> 

あなたが表示されるはずです。

<form name="cx" method="get" action="viewcart.php?action=add&id="> 

空のidに注目してください。これはあなたに返信し続けますviewcart.php

1

あなたはをフォームアクションに送信していません。

これは、フォームを送信すると、期待したところには行かないことを意味します。

action="viewcart.php?action=add&id=<?php echo $pid; ?>" 

または

action="viewcart.php?action=add&id=<?=$pid?>" 

サーバーが有効に短いタグを持っている場合は、この二examleのみ動作します。

1

ページを生成するPHPコードを調べるのではなく、ブラウザでページを読み込み、「ソースを表示」をクリックすることをお勧めします。そうすれば、どのコードが生成されているのかを正確に確認し、そこから戻って、どのステートメントが間違っているのかを特定することができます。

しかし、私は次の行を見てお勧めします。「製品」プロパティにはエコーはありません

<td><a href="viewprod.php?prodname=<?php $row['PRODUCT']; ?>"> <?php echo $row['PRODUCT']; ?></a></td> 

関連する問題