php 和 mysql 中的动态链接


Dynamic Links in php and mysql

我想使用动态链接将信息从一个页面传递到下一个页面。 例如,当某人单击

<a href ="glossary.php>A</a>

A 将被保存到变量中并传递给 glossary.php。以下 Mysql 查询将在词汇表上的位置.php

letter_query = "SELECT * FROM Glossary WHERE Letter =$clickedletter;
letter_id = mysql_query($letter_query) or die(mysql_error);
$row = mysql_fetch_assoc($letter_id);

我有以下MySQL表:

词汇表

(词汇表、字母、单词、定义、用户 ID)。

下面是将存储的信息的示例:词汇表 => 01,字母 => B,单词 => 球,定义 => 人们用来玩的圆形东西,但有些人玩它会得到报酬。

我有一个包含HTML的页面,链接按字母顺序排列,即A B C D E F G H I等。 当一个人点击一个链接时,我想把所有以点击的字母开头的单词都显示在一个名为glossary.php的页面上。

在此链接中,A并不是一个真正的可用值。 它只是显示的内容:

<a href ="glossary.php">A</a>

但是,您也可以将其转换为URL本身的可用值:

<a href ="glossary.php?letter=A">A</a>

现在,当您加载glossary.php页面时,该值将作为查询字符串参数提供给该页面:

$_GET["letter"]

通过将值放在查询字符串上而不是尝试在内部保存它们,这具有提高可移植性的额外好处。 任何东西都可以毫不费力地链接到具有相同值的相同 URL,即使是从异地(否则它无法访问将值保存在您的代码中),用户甚至可以根据需要为链接添加书签。

注意:在直接在 SQL 查询中使用该值之前,请确保您熟悉 SQL 注入。 用户可以欺骗此 URL 参数,使其中包含他们想要的任何值,包括 SQL 代码本身。 在数据库查询中使用它之前,您需要确保它已被清理。

尝试:

<a href ="glossary.php?clickedletter=A">A</a>
$clickedletter=$_GET['clickedletter'];
letter_query = "SELECT * FROM Glossary WHERE Letter =$clickedletter;
letter_id = mysql_query($letter_query) or die(mysql_error);
$row = mysql_fetch_assoc($letter_id);