2015-09-26 92 views
-2

我有一個非常具體的問題。我的問題是,我希望人們被重定向到一個特定的網站,但爲此,有一個redirect.php文件。爲了被重定向,我需要使用POST方法從我的html發送信息。問題是,它確實將我重定向到我的主頁...這是我的一個簡化代碼:重定向文件無法正常工作PHP

<body> 
    <?php 
    if (isset($_POST['submit'])) { 
     ?> 
     <form action="" method="POST"><button type="submit" class="btn btn-success" aria-pressed="true" name="bank1"><img src="img/cart.png"><b> Pay by bank</b></button></form></div> 
     <form action="" method="POST"><button type="submit" class="btn btn-success" aria-pressed="true" name="bank2"><img src="img/cart.png"><b> Pay by bank</b></button></form></div> 
     <form action="" method="POST"><button type="submit" class="btn btn-success" aria-pressed="true" name="bank3"><img src="img/cart.png"><b> Pay by bank</b></button></form></div> 
     <form action="" method="POST"><button type="submit" class="btn btn-success" aria-pressed="true" name="bank4"><img src="img/cart.png"><b> Pay by bank</b></button></form></div> 
     <?php 
    } 
    else if ($_POST['bank1']) { 
     require_once 'libwebtopay/redirect.php'; 
    } 
    else { 
     ?> 
     <form action="" method="POST"><button type="submit" class="btn btn-success" aria-pressed="true" name="submit"><b>Login</b></button></form></div> 
     <?php 
    } 
    ?> 
</body> 

那還有,如果工作不正常。它將我重定向到else {}聲明的頁面。這裏的redirect.php簡化代碼:

try { if (isset($_POST['bank1'])) { 
$request = WebToPay::redirectToPayment(array(
    'projectid'  => $projectid, 
    'sign_password' => $sign_pass, 
    'orderid'  => $vardas, 
    'amount'  => $vip1, 
    'currency'  => 'EUR', 
    'country'  => 'LT', 
    'accepturl'  => $self_url.'/accept.php', 
    'cancelurl'  => $self_url.'/cancel.php', 
    'callbackurl' => $self_url.'/callback.php', 
    'test'   => 1, 
)); } 

嘗試包括在每一表格redirect.php文件沒有幫助。標題('Location:libwebtopay/redirec.php');也不會幫助。你可以幫我嗎?謝謝

+0

也許你沒有點擊右鍵?只有'bank1'的按鈕纔會進入帶有'require_once'的塊。我們也不知道什麼'WebToPay :: redirectToPayment'。 – Zsw

+0

我點擊右鍵..這裏是webtopay.php文件及其功能https://bitbucket.org/paysera/libwebtopay/raw/default/WebToPay.php –

回答

0

您需要添加一個value attribute到您的提交按鈕。另外,您可以將其壓縮爲一種形式。順便說一下,你也有無關的div標籤。

<form action="" method="POST"> 
    <button type="submit" class="btn btn-success" aria-pressed="true" name="bank" value="1"><img src="img/cart.png"><b> Pay by bank</b></button> 
    <button type="submit" class="btn btn-success" aria-pressed="true" name="bank" value="2"><img src="img/cart.png"><b> Pay by bank</b></button> 
    <button type="submit" class="btn btn-success" aria-pressed="true" name="bank" value="3"><img src="img/cart.png"><b> Pay by bank</b></button> 
    <button type="submit" class="btn btn-success" aria-pressed="true" name="bank" value="4"><img src="img/cart.png"><b> Pay by bank</b></button> 
</form> 

您可能需要增加對被按下按鈕的檢查(如if ($_POST['bank'] == '3') { ... })。

+0

感謝您的答案,我應該怎麼做值?價值和名稱有什麼區別? –

+0

當用戶提交表單時,他們的瀏覽器會發送各種[名稱 - 值對](https://en.wikipedia.org/wiki/Attribute%E2%80%93value_pair)。您可以像在您的文章中一樣訪問分配給$ _POST超級全局名稱的值:'$ _POST ['name']'。這將評估價值。因此,如果我點擊一個名稱爲「bank」和值爲「2」的按鈕,則$ _POST ['bank']'評估爲「2」。 –

+0

謝謝,我解決了^^ Ofc問題不在這裏,這是$ vardas變量中的問題,因爲我可能錯了,因爲它無法正確重定向。謝謝! –

相關問題