2016-04-06 103 views
2

我知道使用jQuery获取链接的文本值非常容易。 但是不可能仅使用PHP获取文本值?请在我的代码看看:如何使用PHP获取点击链接的文本值

echo '<table>' 
foreach($array['data']['results']['titles'] as $data) { 

    $title = $data['title']; 
    $id= $data['id']; 
    $url = $data['url']; 

    echo '<tr>'; 
    echo '<td>' . '<a href="movie.php" target="_blank">'.$title.'</a>' . '</td>'; 
    echo '<td>' . '<a href= ' .$url . ' target="_blank" >IMDb Link</a>' . '</td>'; 
    echo '</tr>'; 
}  

echo '</table>'; 

This picture shows the output of my code

假设用户点击了第三部电影 - 蝙蝠侠:动画系列。如何让我的movie.php页面看起来就像这样 - (下图)

The Link Text (which is $title) should be passed to the movie.php page and also the IMDb Link of the corresponding movie (which is stored in the $url variable)

我知道是用$ _SESSION的唯一途径,但它不会在这种情况下工作,因为它只会店&传递foreach循环的最后一个值

请在这方面帮助我。谢谢:)

+2

Php对你电脑上发生的事情一无所知,它是服务器端。你可以使用$ _GET参数来做到这一点,并将电影标题作为href =“'。$ url。'?movie ='。urlencode($ movie_title)。'”,但这种做法太糟糕了。你需要的是重新思考你处理数据的方式,给电影分配唯一的ID并通过它们而不是电影名称。 – Eihwaz

+1

你可以像'href =“movie.php?n = $ title”'' – chaos505

回答

2

考虑到$ id作为数据库中特定影片的行ID。您可以在这里使用网址编码。您的密码必须为

echo '<td>' . '<a href="movie.php?id='. urlencode($id) . '" target="_blank">'.$title.'</a>' . '</td>'; 

点击后,您的网址看起来会像。

movie.php?id=3 

在您movie.php文件使用的$ id = urldecode($ _ GET [ '身份证']);以获取电影ID,并且您可以再次从数据库中获取相关数据。

让我知道你是否有任何问题。

+0

'''_GET'那样传递值我猜urlencode没有工作.. $ id值显示在url ... –

+1

这不是加密或隐藏数据。该函数将用于URL的查询部分,作为将变量传递到下一页的便捷方式。我建议您查看手册http://php.net/manual/en/function.urlencode.php –

1

尝试发送带有适当的主键的所有信息,或在这里是运行时解决方案

echo '<td>' . '<a href="movie.php?name='.$title.'&imdblink='.$url.'" target="_blank">'.$title.'</a>' . '</td>'; 

不要忘记来urlencode变量

1

每一个环节应该包含独特提起类似$id让你url应该是echo '<td>' . '<a href="movie.php?id='.$id.'" target="_blank">'.$title.'</a>' . '</td>'; 你可以传递$id的编码值,这样最终用户无法猜出这个值。在movie.php中你解码了$id &显示信息的基础上$id