2017-01-18 27 views
0

我是PHP的新手,並且遇到了表格中的按鈕問題。點擊按鈕時,需要獲取從數據庫中提取的ID號。我沒有麻煩的數據並將它傳遞給使用下一頁......php按鈕值問題

<form action="ThisPage.php" method="post"> 
    <td><input name="Submit" type="submit" value=<?php echo $OrderNumber; ?> ></td> 
</form> 

一切完美,除了$ ORDERNUMBER變量顯示了按鈕本身。我希望按鈕顯示爲「編輯」,而不是顯示在附加圖像中的$ OrderNumber變量。

Buttons with $OrderNumber showing

我如何才能讓按鈕說:「編輯」,但套用$ ORDERNUMBER值的公佈值?我一直無法找到一種方法來完成正確和獨特數據的傳遞,同時還顯示了一個不會混淆最終用戶的按鈕。

要進入下一頁,我正在檢查PHP腳本開始處的張貼值。如果有貼出的值,在這種情況下,$ ORDERNUMBER,那麼腳本執行變量到下一個頁面,如...

<?php 
    if(!empty ($_POST['Submit'])) 
     { 
     $_SESSION['OrderID']=$_POST['Submit']; 
     header("location:NextPage.php"); 
     exit; 
     }  
?> 

但是,如果沒有發佈數據,頁面運行和顯示代表數據庫條目數組的行。除了這個按鈕標籤,一切都很好。

+0

在您能夠在/ $ _SESSION超大全局 – DarkBee

+0

中存儲/檢索數據之前,您需要使用'session_start()'開始會話您的HTML無效。您無法將'​​'包裝在'

'中。 – putvande

+0

使用'button'而不是'input'。 – CBroe

回答

1

嘗試這個

<form action="ThisPage.php" method="post"> 
    <input type="hidden" name="order_id" value="<?php echo $OrderNumber; ?>" /> 
    <td><input name="Submit" type="submit" value="Edit" /> </td> 
</form> 

<?php 
    if(!empty ($_POST['Submit'])) 
    { 
     $_SESSION['OrderID']=$_POST['order_id']; 
     header("location:NextPage.php"); 
     exit; 
    }  
?> 

添加隱藏字段,因爲我們可以在形式上傳遞任何值,而不顯示我們不得不加入這個方法。

+0

爲什麼要有人「*嘗試這個*」?你改變了什麼?爲什麼改變了?爲什麼這是一個必要的改變? – Qirel

+0

我添加隱藏的提交@Qirel和是的,這是必要的變化 – ImBS

+0

我的觀點是,你應該總是在你的答案中添加一個解釋你改變了什麼,爲什麼。 @ LPChip的答案有這個,這使得它更好的答案。 – Qirel

-1

試試這個:

<?php 
session_start(); 
if(!empty ($_POST['Submit'])) 
{ 
    $_SESSION['OrderID'] = $_POST['Submit']; 
    header("location:NextPage.php"); 
}  
?> 
1

最好的方法是使用第二個元素。您的代碼應該是這樣的:

<form action="ThisPage.php" method="post"> 
    <td> 
     <input type="hidden" name="ordernumber" value="<? =$OrderNumber; ?>" /> 
     <input name="Submit" type="submit" value="Edit"/> 
    </td> 
</form> 

在接下來的頁面,你現在可以使用$_POST['ordernumber']。要使用會話,請確保session_start();放置在retreiving或stored之前,並確保沒有任何內容被打印到屏幕上,並且在發出session_start()之前沒有輸出任何頭文件。

0

儘管解釋很簡短,但Bhavin Sasapra的回答非常完美。

由LPChip提供的答案非常接近,但我的腳本不會運行;

<input type="hidden" name="ordernumber" value="<? =$OrderNumber; ?>" /> 

我不得不使用

value="<?php echo $OrderNumber; ?>" /> 
我使用PHP 5

,這樣就可能成爲問題。如果我有另外一個問題,我一定會指定。

事實證明,您可以在表格內打開表格。