2014-09-21 27 views
0

越來越可變我有代碼/user.php:腳本不是從GET

<?php 
$thisuser = $_GET['user']; 
echo $thisuser; 
?> 

而且我在瀏覽器中寫:/user.php?user=Maria 和網站沒有任何迴音。它有什麼問題?

我實際上有一個ajax腳本,應該通過get發送一個變量,但它根本不起作用。這裏

編輯是整個事情:

echo '<div class="thisphotobox"><div class="photouser">' . 'Dodał:<a href="user.php?user=' . $numphotos["user"] . '" " class="proflink" onclick="prof(\''.$profuser.'\')"> '.$numphotos["user"].'</a></div>'; 


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

用你的ajax調用發佈你的腳本。這應該是你的工作!如果您通過瀏覽器打開文件,您的代碼看起來是正確的。 – Stony 2014-09-21 20:56:51

+0

我已經添加了代碼的其餘部分 – hiamprolish 2014-09-21 20:58:48

+1

如果你在你的瀏覽器中調用你的腳本,它應該真的有效並且回顯你的get參數......也許在之前做出迴應... – Stony 2014-09-21 21:00:22

回答

0

這似乎與<a>標記的默認行爲有關,從而阻止您的函數在單擊時執行。

既然你設置的教授()函數中的URL,你並不需要他href<a>標籤內,所以你可以做這樣的事情:我只是設置

echo '<div class="thisphotobox"><div class="photouser">' . 'Dodał:<a href="javascript:void(0);" class="proflink" onclick="prof(\''.$profuser.'\')"> '.$numphotos["user"].'</a></div>'; 

href的值爲javascript:void(0);。所以現在onClick應該生效,prof()函數應該被調用。

**視覺驗證,如果它的工作:**

使用此JavaScript代碼:

<script> 
function prof(profuser) 
{ 
    var xmlhttp=new window.XMLHttpRequest(); 


    xmlhttp.onreadystatechange = function() 
    { 
     if ((xmlhttp.readyState == 4) && (xmlhttp.status==200)) 
     { 
      document.getElementById('result').innerHTML = xmlhttp.responseText; 
     } 
    } 


    xmlhttp.open("GET", "user.php?user=" + profuser, true); 
    xmlhttp.send(); 
} 
</script> 

,則還必須添加,在JavaScript代碼是相同的文件,以下:

<div id="result"></div> 

最後,請確保您正確地關閉PHP標籤<?php ?>,並確保只有PHP代碼是塊內。 HTML和Javascript必須在該塊之外。

+0

謝謝你的回答:)但是我將不得不去到user.php頁面。在函數執行完後我該怎麼做:D? 反正我的PHP腳本不工作,即使我手動添加到url的值變量 – hiamprolish 2014-09-21 21:23:56

+0

您的PHP部分實際上正在**正確**給定它的作用。問題是:你期望發生什麼? – 2014-09-21 21:29:01

+0

我想要做的就是創建user.php頁面,其中有關於我的網站的特定用戶的信息。點擊鏈接應該通過ajax發送用戶的暱稱,然後我想進入該頁面並查看信息。就像當你按下facebook上的某個人時。它只是一樣的想法 – hiamprolish 2014-09-21 21:34:14

-5

的AJAX腳本不會被GET郵寄的數據。

GET是'get'的值,POST是傳遞值。

您也只使用POST的send()值,所以在AJAX中將GET更改爲POST。

此外,您需要在HTML中調用它之前聲明腳本。

+2

這個答案的每一部分都是錯誤的 – Steve 2014-09-21 21:08:31