2009-12-02 240 views
2

我想知道如何將變量從表單傳遞到php頁面。如何在一頁內傳遞變量

謝謝。

編輯:

我有一些輸入的形式提交按鈕。我希望我的php頁面能夠在點擊提交按鈕後搜索數據庫並顯示相關表格。這裏所有的動作都在一個頁面中。

所以我想知道如何在同一頁面上將變量從表單傳遞到php腳本。我很抱歉留下這麼小的細節。

你現在能明白我的問題嗎?再次感謝。

+7

你能更具體一點嗎? – 2009-12-02 15:46:09

回答

5

編輯:這是如何將用戶輸入值從表單傳遞到PHP頁面。

這裏是一個通用的形式:

<form method="post" action="<?php echo $_SERVER['$PHP_SELF'];?>"> 
    <input type="text" size="12" maxlength="12" name="name"> 
    ... 
    ... 
</form> 

現在的PHP代碼:

<?php 
    $name = $_POST["name"]; 
?> 

注意:您可以更改後型POST之間和GET和更改操作選項,發送將表單輸入到不同的PHP頁面。


你說的是將變量傳遞給函數嗎?

$name = 'Robert'; 

printName($name); 

function printName($n) { 
    echo $n; 
} 
+0

我想你已經回答了我的問題,非常感謝羅伯特。 – 2009-12-02 16:08:36

+0

沒問題,我希望這就是你要找的 – 2009-12-02 16:10:36

+0

對於'<形式方法=「郵報」行動=「」>',我建議修改它以'<形式方法=「後「action =」<?php echo $ _SERVER ['$ P​​HP_SELF'];?>「>'。因爲你必須在php.ini中設置'register_globals = on'。 – 2009-12-02 16:53:21

0

這很簡單,只要它們註釋掉:

$a = 'variable 1'; 
//$b = 'variable 2'; 
$c = 'variable 2'; 

你明白嗎?我分配了$ a,然後通過了$ b,最後分配了$ c。所有在一個PHP頁面!

+0

我想你誤解了我的問題,我想通過一個窗體中的變量傳遞到一個PHP頁面中的表。你看? – 2009-12-02 15:50:16

+0

傳遞變量具有與無視它們無關的特定技術含義。 – Quentin 2009-12-02 15:50:50

+1

我沒有誤解你的問題。自從你決定拋棄任何背景或細節以來,我只是讀了它並做出了荒謬的假設。 – Langdon 2009-12-02 15:52:04

0
<?php 
$value = 'bla'; 
function getValue($string) 
{ 
return ($_GET[$string]); 
} 
$value = getValue('bla'); 
?> 
<html> 

//... 
<body> 
<form> 
<input type="text" value="<?php echo $value; ?>" /> 
</form> 
<tr> 
<td> 
<tr><?php echo $value; ?></tr> 
<td> 
</body> 
</html> 

這是完全不重要何種順序使用。 你可以把html部分放入一個帶有PHP變量的PHP字符串裏面,並且回顯它,php會自動分配裏面的變量。 或者你如上所述分開HTML和PHP。

嘗試使用模板引擎,例如, SMARTY(smarty.com)

+0

@ daemonfire300,這是一個很好的建議。謝謝。 – 2009-12-02 16:10:32

2

所有形式的變量$ _POST或$ _GET超全局數組中終止(取決於形式方法)。如果你的腳本都顯示形式和處理它,一個標準的方法是這樣的:

if(isset($_POST['submit'])){ 
    //validate $_POST variables from form 

    //if validation works do action 
    //else output errors and output form again 


} else { 
    //output form 
} 
2

得到它從URL

傳遞變量是最快的(但極其有限)的方式一種稱爲GET的方法。隨着GET,你的變量追加到你想要的變量被轉移到頁面的URL:

http://www.matthom.com/contact.php?id=301&name=Matthom

上面的例子會給contact.php頁兩個變量來使用:id和名稱,其值分別爲301和Matthom。

您可以根據需要爲URL添加儘可能多的變量。

請注意 - 有時您不希望變量顯示爲「公開顯示」。此外,您在URL中限制爲255個字符,因此變量不能包含太多信息。

從contact.php,您可以通過PHP得到這些兩個變量:從FORM

另一種方式來傳遞變量

搶變量從URL

$id = $_GET['id']; 
$name =$_GET['name']; 

帖吧,到目前爲止,更強大的方法是從表單中抓取它們。

比方說,這是你的表單字段代碼:

<form action="process.php" method="post"> 
<input type="text" size="25" name="searchtype" /> 
<input type="text" size="25" name="searchterm" /> 
</form> 

這兩個輸入框讓用戶輸入信息。在process.php,你可以抓住變量以同樣的方式:

搶變量從表單

$searchtype = $_POST['searchtype']; 
$searchterm = $_POST['searchterm']; 

注意使用$_POST[]超過$_GET[]。這是一個重要的區別。

+0

@SjB,是的,這是在頁面之間傳遞變量的常用方法。謝謝。 – 2009-12-02 16:09:36