2012-03-30 113 views
0

我有一個在PHP中,我有共同的領域,如'姓名'和'姓氏'。當字段值在url中時,如何自動填充PHP表單的字段?

現在當用戶訪問該頁面時,例如http://www.example.com/form.php表單字段'姓名'和'姓氏'是空的。

我想現在有類似於此http://www.example.com/form.php?name=John

一個鏈接,以便當客戶點擊該鏈接的PHP形式現在有名稱字段已經填充了它「約翰」。

我知道這可以在HTML中完成,但我怎麼能在PHP中做到這一點?

只是爲了讓我知道我沒有自己的PHP表單 - 我只是想從我的網站鏈接填充PHP表單(我沒有控制權)。

在此先感謝。

+0

看看這個$ _POST和$ _GET教程 - > http://www.tizag.com/phpT/postget.php。你想要的是使用$ _GET方法 – GuZzie 2012-03-30 09:06:24

回答

0

您可以存儲該值,然後當您即將輸出輸入字段 時,您只需傳遞存儲值。

$name = $_GET['name']; 

// ... later on 
echo '<input type="text" value="'.$name.'"/>'; 
0

通過使用$ _GET超全局

<input name="name" value="<?php echo !empty($_GET['name']) ? $_GET['name'] : '';?>" /> 
<input name="surname" value="<?php echo !empty($_GET['surname']) ? $_GET['surname'] : '';?>" /> 
1

可以用$_GET

的通過URL參數傳遞給當前腳本變量的數組來完成。

如:

<? php 
if(isset($_GET['name'])) 
{ 
    $test = $_GET['name']; 
} 
?> 

<html> 
<body> 
    <form> 
     <input type="text" name="test" value="<?php if(isset($test)){echo "$test";}?>"/> 
    </form> 
</body> 
</html> 

注:未啓用代碼測試或東西..此外,還有從您的網址獲取值(可以認爲用戶輸入)可能存在的安全隱患,所以一定要確保你意識到這一點,以及如何防止

0

可以使用get方法PHP獲取名稱和利用它

0

您可以通過$ _GET [「名稱」]功能retrive這個信息,或$ _REQUEST [「name」]。

Reserver variables

要當心那些操作,你可能有一個驗證/ O的安全問題。

注意:如果您不確定是否設置了「名稱」變量,那麼您還必須使用 isset函數對其進行測試。

0

您可以使用$ _GET超全局,使您的輸入看起來是這樣的:

<input type="text" name="name" value="<?php if(isset($_GET['name'])) { echo $_GET['name']; } ?>" /> 

的$ _REQUEST超全局做了類似的事情,但我只想用$ _GET。

0

看起來大家在這裏的答案都假設你正在自己構建表單,而這並不是基於你的問題。

你想要做的事情可能會也可能不會。如果表單以某種方式接受某些類型的參數,則可以掛鉤該功能並進行設置,這樣當有人單擊頁面上的鏈接時,該信息就會傳遞到其他頁面。

單向表單可以接受這個信息的形式是「獲取」請求。使用此方法,值將作爲url的一部分傳遞,如您的示例中所示:http://www.example.com/form.php?name=John。假設你的頁面訪問稱爲$name一個PHP變量,你可以從你的代碼中創建一個鏈接打造這種URL的是這樣的:

<a href="http://www.example.com/form.php?name=<?php echo $name; ?>">Sign up!</a>

如果頁面不接受以這種方式獲得的參數(我很難想象他們會這麼做),你可能不得不嘗試其他技術來發送信息(假設他們甚至會接受它)!我想你可以做的另外兩種方式是通過將值傳遞給「post」或爲頁面創建一個cookie。如果您告訴我們您要設置此行爲的頁面,我們可能會對其進行檢查並給您一個更好的答案。