2017-08-01 32 views
0

我有一個html頁面,和php腳本,它是html頁面上的一個表單的動作。 我希望能夠得到文本的最後一位以前的URL的哈希值後(從HTML頁面)php/html使用URL的文本作爲變量信息?

www.website.com/htmlpage#token5 

所以,我得到的只是有字符串:「token5」放入varible所以當我提交html表單時,PHP腳本會獲取以前的URL或這些行上的內容,以便能夠獲取該字符串。

類似:

1. submit form from www.website.com/htmlpage#token5 
2. action of form goes to www.website.com/phppage 
3. php page gets the "token5" string. 

我怎麼會去這樣做呢?謝謝你#

回答

0

你可以使用JavaScript來獲取散列,後者將它添加到你的表單元素。

if(window.location.hash) { 
     var hash = window.location.hash.substring(1); //Puts hash in variable, and removes the # character 
     // do whatever you want to do with hash 
    } else { 
     // No hash found 
    } 
0

請看看:

Can I read the hash portion of the URL on my server-side application (PHP, Ruby, Python, etc.)?

#token5將永遠不會被傳遞給服務器。

你可以做的是放#token5值到一個隱藏輸入:

<input type="hidden" value="token5" name="token"/>

然後服務器端PHP這取決於你如何發表您的形式,你可以這樣做:

// If your action on form is 'post' 
$token = $_POST['token']; 

// If your action on form is 'get' 
$token = $_GET['token']; 
+0

嗯。那麼PayPal如何通過paypal.me網站自動填寫一個基於網址的字段,例如: paypal.me/payperson/15 15是投入該領域的金額 –

+0

因此,如果您只是在執行'/ 15',因爲前面沒有散列(#),所以就可以工作。如果你想在URL中發佈一個值,你可以這樣做:'www.website.com/htmlpage?token = 5'。然後在你的PHP文件中,你可以使用:'$ token = $ _GET ['token']'來獲取值。 –

0

最簡單的方法也許是爲了打破一個網址到它的組成部分是使用parse_url

$url='http://www.website.com/htmlpage#token5'; 
$parts=parse_url($url); 
echo '<pre>',print_r($parts,true),'</pre>'; 

/* or */ 

$hash = parse_url($url, PHP_URL_FRAGMENT); 
echo $hash; 

將輸出

Array 
(
    [scheme] => http 
    [host] => www.website.com 
    [path] => /htmlpage 
    [fragment] => token5 
) 

token5 
+0

問題中沒有提及貝寶。我明白這個問題意味着你想從一個url中獲取令牌,並將其作爲一個變量賦值 - 這就是上面所說的〜請澄清 – RamRaider