2010-07-31 4 views
0

Bonjour à touslien Rediriger de php

Je base de données de lien de site Web, il liste dans le fichier principal, lorsque je tente de cliquer sur ce lien, il se rediriger sur ce lien de base de données. mon code est:

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){ 

}); 

comment le faire? une idée Est-ce possible avec un script côté serveur? Qu'est-ce qui ne va pas avec mon code php?

+2

Votre question est très floue. Peut-être publier plus de code que vous utilisez et à quoi vous voulez que votre HTML final ressemble quand il est envoyé au navigateur des utilisateurs. –

+0

je viens d'éditer maintenant vérifier – venkat

+0

Click here"; ?> Le code ci-dessus ne fonctionne pas pourquoi ne pas rediriger google si vous résolvez cela enoough pour moi – venkat

Répondre

0

Votre code ne fonctionne pas pour les URL non valides. www.google.com n'est pas une URL, juste un nom de domaine. Alors, sauter les stupides liens Javascript, utilisez plutôt:

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

Et votre fonction succès Javascript semble un peu vide, donc au lieu d'utiliser .load() comme:

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

Edité après le commentaire de Venkat: -

Selon votre dernier commentaire, le code que vous avez des problèmes avec est la suivante: -

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

Ce code ci-dessus devrait en fait être les suivantes: -

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

La raison pour ajouter le « http: // » chaîne est que la variable « $ link » va être utilisé comme une URL HTTP, ce qui nécessite de mentionner cette chaîne "http: //", principalement à cause du protocole à utiliser par le navigateur. Dans ce cas, le protocole est HTTP.
Rappelez-vous toujours que pour toute URL, il doit y avoir une chaîne "http: //" au début de la chaîne d'URL, lorsqu'elle est stockée dans une base de données/variable.

Pour en revenir au code dans votre question, ce qui était la suivante: -

<?php 
// getting from database 

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

Voici maintenant la position de "window.location" est pas tout à fait correct. Il aurait dû être dans l'attribut "href" de l'élément "a", au lieu de le mettre dans l'attribut "onclick" de l'élément "li".
Ainsi, le code devrait effectivement être: -

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

Hope it helps.

+0

Votre code getting base de données semble ne pas fonctionner mais je résous le problème! – venkat

+0

@venkat - pouvez-vous s'il vous plaît poster la solution du problème? Aussi, ce serait bien si vous pouvez indiquer où mon code est faux, de sorte que je puisse le corriger aussi. Merci –

+0

votre code echo '

  • '.$result->option.'
  • '; wrong.Hope j'essaye aussi la solution, Cependant les astuces mario m'aide – venkat