2010-07-31 150 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