2016-10-05 2 views
0

私は2つの送信ボタンを持っているので、たとえ壊れたボタンからすべてのコードを削除しても、403エロルは禁止されていますが、2番目の送信ボタンは機能します...2提出1同じコードを使用しますか?

ボタンのためのHTML/PHPコードです:ボタンの

<form action="buy.php?id=<?php echo $id; ?>" method="POST"> 
<input type="email" class="form-control" name="email" placeholder="Email" required> 
<br> 
<p></p> 
<?php if($row['pp'] == 1){ 
echo ' 
<input type="submit" class="btn btn-primary" value="Pay with Paypal" name="pp">'; 
} ?> 
<p></p> 
<?php if($row['btc'] == 1){ 
echo ' 
<input type="submit" class="btn btn-info" value="Pay with Bitcoin" name="btc">'; 
} ?></form> 

コード:壊れたボタンのその頁BTCでどこ

if(isset($_POST['btc'])){ 
    $email = htmlentities($_POST['email'], ENT_QUOTES); 
    $stmt = $db->prepare("INSERT INTO invoices (itemid, username, email, price, status, type) VALUES (:itemid, :username, :email, :price, :status, :type)"); 
    $stmt->execute(array(':itemid' => $id, ':username' => $row['username'], ':email' => $email, ':price' => $row['price'], ':status' => "awaiting", ':type' => "btc")); 
    $id = $db->lastInsertId(); 
    $stmt = $db->prepare("SELECT * FROM invoices WHERE id = :id"); 
    $stmt->execute(array(':id' => $id)); 
    $row2 = $stmt->fetch(); 
} 

だけ差があります。のみ<input type="submit" class="btn btn-info" value="Pay with Bitcoin" name="btc">があるため、あなたのPHPコードで動作します

+2

私は本当にあなたがPPボタンを提出した場合に何が起こるかを取得いけません。 – Aschab

+0

禁止されている403へのアクセスはありません。 –

+1

... db-queriesとクエリ文字列で使用する入力パラメータ( '$ id'、' $ row'-arrayなど)はどこで宣言していますか?スニペットだけでなく、関連するコードを表示する必要があります。 –

答えて

2

、あなただけのボタンの両方に同じ名前を使用して、あなたの目標を達成するために

をこの<input type="submit" class="btn btn-info" value="Pay with Bitcoin" name="btc">

を掲示するが、それぞれに異なる値とされています。あなたのphpファイルで次に

<input type="submit" class="btn btn-primary" value="Pay with Paypal" name="btnPay"> 
<input type="submit" class="btn btn-info" value="Pay with Bitcoin" name="btnPay"> 

:このことから

<?php 

    if(isset($_POST['btnPay'])){ 
    if($_POST['btnPay'] == "Pay with Paypal"){ 
     //code for paypal payment 
    } 
    else if($_POST['btnPay'] == "Pay with Bitcoin"){ 
     //code for bitcoin payment 
    } 
    } 

?> 
+0

...または、バックエンドのボタンラベルを比較する代わりに、値としてbtcまたはppの隠しフィールドを持つだけです(ラベルの変更とコードの破損)。 –

+0

彼は彼が使用しようとしているアプローチに依存します。 – Irvin

+0

固定していただきありがとうございます。 –

関連する問題