2010-05-16 28 views
3

我想從index.php來的search.php發佈搜索值,PHP的崗位樣式到其他PHP

的index.php

<form action="search.php?val=" method="post"> 

和search.php中

<?php echo $_GET['val']?> 

<?php echo $_POST['val']?> 

我想保留'val'va在網址中顯示,但search.php無法捕獲「val」的值,該值顯示爲「val =」。

回答

1

val名稱上的索引文件,例如在表單內創建一個文本字段:

<form action="search.php" method="post"> 
    <input type="text" name="val" value="search string" /> 
    <!-- more form stuff --> 
</form> 

而且你現在可以把它想:

<?php echo $_POST['val']?> 

但是,如果你想要的值在URL你應該修改窗體的方法來get,如:

<form action="search.php" method="get"> 
    <input type="text" name="val" value="search string" /> 
    <!-- more form stuff --> 
</form> 

,然後你可以像搜索頁面上獲取它的值:

<?php echo $_GET['val']?> 

或者,你可以直接在formaction屬性指定搜索字符串,在這種情況下,你不需要val領域:

<form action="search.php?val=<?php echo $search_string;?>" method="get"> 
    <!-- more form stuff --> 
</form> 

然後你就可以搜索頁面上得到這樣的價值:

<?php echo $_GET['val']?> 
1

你要找達到可謂URL參數傳球或query string。這個想法是,你可以通過URL傳遞值,用?variable=value表示。 URL參數傳遞的重要部分是使用$_GET來檢索值。

因此,改變這一行代碼,

<form action="search.php?val=" method="post"> 

這行代碼,

<form action="search.php" method="get"> 

你並不需要添加action包括,?val,PHP會替只要你有一個name屬性爲val的輸入字段。

<form action="search.php" method="get"> 
<input type="text" name="val"/> 
<input type="submit" /> 
</form> 

提交後,你應該有它看起來像URL,

http://www.example.com/search.php?val=your_text_here 

從裏面search.php您可以使用,$_GET超全局訪問您的查詢字符串。

0

您可以同時使用兩者。如果您有<表單action =「search.php?val = ...」>, 那麼您可以像$ _GET [「val」]那樣訪問它。然而,任何其他表單元素 都會顯示在$ _POST []中。

順便說一句,如果參數可能由不同的 表單提交,請使用$ _REQUEST。它捕獲GET和POST內容。

+0

太棒了! $ _REQUEST [ 'VAL'];方法解決它,但使用它的安全嗎? – proyb2 2010-05-16 08:17:27