2014-04-12 71 views
0

我想問,我怎樣才能建立一個表單和php代碼,其中指示button1按下時,包括test.php和當button2按下打開一個新的頁面。兩個按鈕的形式,每個使不同的東西

我所擁有的就是這個

... 
<form name="frm_action" method="post" action=""> 
<div align="center"> 
    <input type="submit" style="font-size: 1.5em;border: 1pt;" name="btn_getVal1" id="btn_getVal1" value="VAL1" tabindex="1"> 
    <input type="submit" style="font-size: 1.5em;border: 1pt;" name="btn_getVal2" id="btn_getVal2" value="VAL2" tabindex="2"> 
</form> 
... 
<?php 
    if (isset($_POST['btn_getVal1'])) 
    { 
     include('test.php'); 
    } 
    if (isset($_POST['btn_getVal2'])) 
    { 
     header('location: test2.php'); 
     exit(); 
    } 
?> 
... 

第一個選項(btn_getVal1)可以完美運行,第二個不會工作。它每次顯示index.php。

如何在按下按鈕時鏈接到內部.php頁面?

+0

您可以使用javascript打開一個新頁面,必須在發送任何實際輸出之前調用'header'函數,或者使用正常的H TML標籤,文件中的空白行或PHP中的空白行。 http://fr2.php.net/manual/en/function.header.php – ChoiZ

回答

1

這樣的HTML之前把你的PHP代碼:

<?php 
    if (isset($_POST['btn_getVal1'])) 
    { 
     include('test.php'); 
    } 
    if (isset($_POST['btn_getVal2'])) 
    { 
     header('location: test2.php'); 
     exit(); 
    } 

?> 

<form name="frm_action" method="post" action=""> 
<div align="center"> 
    <input type="submit" style="font-size: 1.5em;border: 1pt;" name="btn_getVal1" id="btn_getVal1" value="VAL1" tabindex="1"> 
    <input type="submit" style="font-size: 1.5em;border: 1pt;" name="btn_getVal2" id="btn_getVal2" value="VAL2" tabindex="2"> 
</form> 
... 
0

在發送任何實際輸出之前,必須調用header函數,通過普通HTML標記,文件中的空行或PHP發送。

要解決你的頭蟲:

<?php 
// only display form at first load or on push button 1 
if (empty($_POST) || isset($_POST['btn_getVal1'])) { 
?> 
<form name="frm_action" method="post" action=""> 
<div align="center"> 
    <input type="submit" style="font-size: 1.5em;border: 1pt;" name="btn_getVal1" id="btn_getVal1" value="VAL1" tabindex="1"> 
    <input type="submit" style="font-size: 1.5em;border: 1pt;" name="btn_getVal2" id="btn_getVal2" value="VAL2" tabindex="2"> 
</form> 
<?php 
} // close first if 

if (isset($_POST['btn_getVal1'])) { 
    include('test.php'); 
} 

if (isset($_POST['btn_getVal2'])) { 
    // in this case no html was print before so header works 
    // you can add a peace of javascript here if you want open a new page. 
    header('location: test2.php'); 
    exit(); 
} 
?> 
0

你應該把PHP代碼的HTML代碼的面前,就像這樣:

<?php 
    if (isset($_POST['btn_getVal1'])) 
    { 
     include('test.php'); 
    } 
    elseif (isset($_POST['btn_getVal2'])) 
    { 
     header('location: test2.php'); 
     exit(); 
    } 
    else{ 
?> 
<form name="frm_action" method="post" action=""> 
<div align="center"> 
    <input type="submit" style="font-size: 1.5em;border: 1pt;" name="btn_getVal1" id="btn_getVal1" value="VAL1" tabindex="1"> 
    <input type="submit" style="font-size: 1.5em;border: 1pt;" name="btn_getVal2" id="btn_getVal2" value="VAL2" tabindex="2"> 
</form> 
<?php 
    } 
?> 
+0

在這種情況下,表格是在包括test.php後... – ChoiZ

+0

編輯我的答案 – Jonan

+0

請解釋downvote? – Jonan

相關問題