2011-08-25 26 views
0

代碼都可以在panelbackup也看到並排(點)的COM /碼需要將一個javascript的輸出注入到php腳本中;這可能嗎?

好了,我已經位於頁面1.HTML其追加給定的URL後4個隨機數字驗證碼:

<head><script>window.onload = function() { 
     var links = document.links; 
     for(var h in links) { 
       var rand = Math.floor(Math.random() * 10000); 
       links[h].href += (links[h].href.indexOf('') == -1 ? '?' : '')+''+rand; 
     } 
} 
</script> 
</head> 


<a href="http://panelbackup.com/blahblah">randomURL</a> 

,然後我需要注入或致電到以下PHP腳本這樣的:

<?php 
$a=fopen('http://output from javascript','r'); 
$b = stream_get_contents($a); 
echo $b; 
fclose($a); 

如何這可能完成的任何想法?在PHP腳本是1.php和JavaScript位於1.html位於panelbackup(點)com

+0

你知道數據將如何到達你的服務器嗎?他們是否提交表格?您是否使用AJAX異步發送它? – mrtsherman

+0

sessions \ cookies? – 2011-08-25 03:53:42

+1

由於您只是使用隨機數字,爲什麼不用'rand()'在PHP中創建它們,然後將這些數字回顯到腳本標記中供JavaScript使用? –

回答

0

在你的JavaScript爲什麼你不設置隨機數作爲命名參數,然後從PHP訪問與其他任何請求參數相同?

links[h].href += (links[h].href.indexOf('?') == -1 ? '?' : '&')+'newParam='+rand; 

這將改變鏈接是

<a href="http://panelbackup.com/blahblah?newParam=153"> 
or 
<a href="http://panelbackup.com/blahblah?existingParam=whatever&newParam=153"> 
(assuming the random number is 153) 

注: '?' 你的代碼被用於測試在現有的url中添加一個,如果找不到,但是你需要添加一個&符號,如果'?'被發現或者你的隨機數最終會連接到現有參數值的末尾。

編輯:PhpMyCoder的建議在PHP端生成隨機數是一個更好的方式去。

+0

是的,我希望它直接附加。我想要的是每次頁面加載時,它都會將加上隨機數的url加載到最後。如果刷新,則加載具有不同隨機數集合的URL,等等等等。任何想法都有一個好的代碼?我可能正在推翻這整個事情.. – Daniel

+0

我們實際上可以忘記JavaScript,因爲我只是用它來試圖在PHP之外生成隨機url,然後讓它調用,就像我說的,我遇到了問題從我提供的那個php代碼中生成它,然後加載它,但是如果我完全可以用php來完成,它會更清潔。 – Daniel

+0

@Daniel - 關於你的第一個評論,你的代碼張貼測試是否已經有一個href?在其中,這意味着在某些情況下,您不確定在添加隨機數之前是否可能存在某些現有的查詢字符串參數。如果將隨機數添加到現有參數的末尾,則會破壞該參數的任何內容,因此您需要先添加一個&符號。 – nnnnnn

相關問題