2014-09-21 29 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