2010-07-31 111 views
0

亲爱的链接从PHP重定向

我有网站链接的数据库,它列出的主要文件,当我尝试点击该链接就得到该数据库链接重定向。 我的代码是:

file: test.php 

<?php 
    // getting from database 
    echo '<li onclick=\"window.location='.$result->website.'\"> 
      <a href="#">'.$result->option.'</a></li>'; 
?> 

The Main.html calls that test.php 
while ajax 

$.post("test.php", {queryString: ""+inputString+""}, function(data){ 

}); 

怎么办呢? 任何想法是否有可能与服务器端脚本?我的php代码有什么问题?

+2

你的问题很不清楚。可能会发布更多您使用的代码,以及您希望最终的HTML在发送到用户浏览器时的样子。 – 2010-07-31 04:08:55

+0

我刚刚编辑让检查 – venkat 2010-07-31 04:19:25

+0

<?php $ link =“www.google.com”; echo“Click here”; ?>上面的代码不工作为什么它不重定向谷歌,如果你解决这个对我来说 – venkat 2010-07-31 04:33:18

回答

0

您的代码不适用于无效的网址。 www.google.com不是网址,只是一个域名。所以跳过傻Javascript链接,而是使用:

echo "<li><a href=\"$link\">$link</a></li>\n"; 

而JavaScript成功的功能似乎有点空,所以改用.load(),如:

$("ul").load("links.php", {queryString: ""+inputString+""}) 
0

Venkat拥有评论后编辑: -

根据你过去的评论,你有问题的代码如下: -

<?php 
$link="www.google.com"; 
echo "<a href='#' onclick=window.location='$link'>Click here</a>"; 
?> 

这上面的代码实际上应如下: -

<?php 
$link = "http://www.google.com/"; 
echo '<a href="'.$link.'">Click here</a>'; 
?> 

之所以加入“HTTP://”字符串变量“$链接”将被用作HTTP URL,这要求提及这个“http://”字符串,主要是因为浏览器使用的协议。在这种情况下,协议是HTTP。
请记住,对于任何URL,当存储在数据库/变量中时,URL字符串的开头必须有一个字符串“http://”。

即将回到代码在你的问题,这是: -

<?php 
// getting from database 

echo '<li onclick=\"window.location='.$result->website.'\"><a href="#">'.$result->option.'</a></li>'; 
?> 

现在,这里的“window.location”的位置不完全正确。它应该在“a”元素的“href”属性中,而不是放在“li”元素的“onclick”属性中。
因此,代码实际上应该是: -

<?php 
// getting from database 
echo '<li><a href="'.$result->website.'">'.$result->option.'</a></li>'; 
?> 

希望它能帮助。

+0

你的代码获取数据库似乎不工作,但我解决了这个问题! – venkat 2010-07-31 05:26:06

+0

@venkat - 你可以请发布问题的解决?如果你能指出我的代码出错的地方,那么我也可以纠正它。谢谢 – 2010-07-31 05:29:21

+0

你的代码回声'

  • '.$result->option.'
  • '; wrong.Hope我也尝试解决方案,但马里奥技巧可以帮助我 – venkat 2010-07-31 07:11:56