2014-09-21 95 views
-3

內部profuser變量我有字符串「尼克」。未定義的字符串變量

回聲A HREF = 「#」 的onclick = 「教授( '$ profuser。')」>

@UP我刪除SIGN一個BECOUSE之前正在破壞整個代碼IN堆棧溢出

應該送到這裏:

<script> 
function prof(profuser){ 
var xmlhttp=new 
window.XMLHttpRequest(); xmlhttp.open("GET", "user.php?user=" + 
profuser, true); xmlhttp.send(); } 
</script> 

然後將此文件稱爲user.php的:

$thisuser = $_GET['user']; echo $thisuser; 

但是這段代碼告訴我字符串「nick」沒有定義。 有誰能告訴我什麼是錯的嗎? 如果在這段代碼中有更多的錯誤請告訴我。

+0

的第一個參數'

onclick="prof(\'' . addslashes($profuser) . '\')" 

據@pswg,你應該使用addslashes()逃脫從PHP變量的情況下,有任何報價:所以你需要加引號應該被看作是字符串打開「應該是一個字符串,例如'xmlhttp.open('GET',...)'。另外,當您嘗試將變量傳遞給'onclick'屬性中的'prof'時,您需要將該變量正確地作爲JavaScript字符串進行引號/轉義。 'onclick =「prof('。json_encode($ profuser)。')」' – 2014-09-21 19:42:04

+0

什麼告訴你「nick沒有定義」?這是不是很清楚你在說什麼。 – David 2014-09-21 19:42:52

+0

onclick說,它沒有定義我猜,但即時通訊新的調試 – asdasdasdasdd123 2014-09-21 19:44:55

回答

1

由於錯誤說尼克被視爲未定義的變量。 ;)

+0

但是,什麼是錯的,我已經加引號? – asdasdasdasdd123 2014-09-21 20:01:35

+0

你的單引號是由PHP的服務器端guotes措辭還需要在客戶端。 – py3r3str 2014-09-21 20:03:37

+0

謝謝!你非常有幫助! – asdasdasdasdd123 2014-09-21 20:05:25

0

試試這個。

onclick="prof('<?php echo $profuser; ?>')" 

onclick="prof('<?= $profuser; ?>')" 

我認爲你是混合PHP和JavaScript?很難從已發佈的有限代碼中分辨出來。

您的問題是最有可能是一個報價,如果要打印整個的onclick位試試這個

echo 'onclick="prof(\''.$profuser.'\')"'; 

這是因爲你很可能得到在源這樣的事情。

onclick="prof(nick)"; 

而尼克是一個字符串不是一個JavaScript變量,這將是未定義的。

+0

我的onclick是一個鏈接裏面已經在PHP回聲。 對不起,我沒有發佈它,但太多代碼 – asdasdasdasdd123 2014-09-21 19:51:28

+0

好,如果它是很多代碼,它需要簡化。不管怎麼說,這是很難幫助沒有看到你如何得到的onclick位 – ArtisticPhoenix 2014-09-21 19:53:12

+0

我將編輯我的第一篇文章在1秒內 – asdasdasdasdd123 2014-09-21 19:54:27