2012-12-22 134 views
3

我建立了自己的在線javascript編輯器,但是當我提交表單時,javascript不起作用。 這裏是我的代碼:如何在PHP中獲取JavaScript變量?

editor.php

<form action="show.php" method="post" target="window"> 
HTML code:<br /> 
<textarea name="html"></textarea><br /> 
JavaScript code: 
<textarea name="javascript"></textarea><br /> 
<input type="submit" value="Test javascript" /> 
</form> 
<iframe src="show.php" width="880" height="600" name="window"></iframe> 

show.php

<html> 
<head> 
</head> 
<body> 
<?php 
    if(isset($_POST['html'])) echo $_POST['html']; 
    echo "<br><br>"; 
    if(isset($_POST['javascript'])){ 
    echo "<script>"; 
    echo $_POST['js']; 
    echo "</script>"; 
    } 
?> 
</body> 
</html> 

HTML效果很好,但是當我說在JavaScript textarea的東西,JavaScript就無法在iframe中工作。請幫幫我。

+1

什麼具體不起作用?你期望發生什麼? –

+4

**警告!**您將未經過濾的未經驗證的用戶輸入傳回。這可能會造成[跨站點腳本](http://en.wikipedia.org/wiki/Cross-site_scripting)漏洞,輕而易舉地允許惡意用戶爲自己的目的劫持您的站點。地獄,你甚至故意做這個* * – Charles

+1

我想要的東西像http://jsfiddle.net/你可以說你的HTML和JavaScript代碼,你可以看到輸出 – user1924244

回答

5

從你的代碼,我沒有看到輸入字段名稱爲js,因此我假設如下:

echo $_POST['js']; 

應該是:

echo $_POST['javascript']; 

否則,你的代碼應該工作正常。

+0

是的,但它不工作 – user1924244

+1

我認爲@vision是正確的。我測試了你的代碼,它適用於這個修補程序。在JS代碼中放置一個「alert('hello world')」,你會發現它有效。 –