2011-12-15 50 views
0

我想了解下面的工作原因。這是我繼承的代碼,它在前一位網站管理員的託管上工作。將PHP變量值寫入HTML表單中的另一個變量

該頁面的URL中有一個$ service變量,因此下面顯示了echo $ _GET ['service']以顯示頁面上變量的值。但是,我們也想在下一頁使用相同的變量值。

此刻我無法使用echo $ _POST或者我甚至在下一頁上嘗試echo $ _GET以顯示此值 值。 <input type="hidden" name="service" value="<? echo $service; ?>" />.

我試過了value = echo $ _GET ['service'];但這似乎沒有改變任何東西,

感謝所有幫助。

謝謝。

<?php echo $_GET['service']; ?> 

<form action="send-order.php" method="post"> 
Email<br /><input name="email" value="<?echo $email;?>" type="text" style="width: 350px;" /> 

<input type="hidden" name="service" value="<? echo $service; ?>" /> 

<input type="submit" value="Order now" /></p> 
</form> 
+0

它仍然在下一頁的網址? – Ibu 2011-12-15 22:59:59

+0

它必須仍然位於下一頁的網址中。否則使用SESSION。 – 2011-12-15 23:00:49

回答

0

嗯,首先我看到您的形式作用的是POST(而不是GET),所以很自然你不澳鵬的服務輸入網址...

另一件事,你說的代碼以前的工作:它可能是用於register_globals(打開;在較暗的時間,這是通常的設置,現在它被默認禁用)在以前的服務器的設置,它會自動提供給var $service應該調用$_GET['service'](或者$ _POST ['service'])。

儘管如此,我仍然不明白「p」參數是從哪裏來的。如果將表單動作更改爲action =「get」,那麼您將會看到類似於「email = something & service = somethig」但「p」的內容?

0

$ service是一個變量。

http://example.com服務 = foo是一個GET參數。

$服務是不一樣的$ _GET [ '服務']

$ _ POST [ '服務']是不一樣的$ _GET [ '服務']


那說,表單的方法是「post」。如果您發佈到表單所在的同一頁面,請改用$ _POST ['service']。或者將表單方法更改爲「get」並使用$ _GET ['service']。

相關問題