【问题标题】:variable value changing depending on what link selected PHP变量值根据选择 PHP 的链接而变化
【发布时间】:2021-05-04 22:54:09
【问题描述】:

这是我的 for 循环。

for ($i = 0; $i <= count($prod_ar) - 1; $i++) {
    $_SESSION['food'] = $prod_ar[$i];
    echo "<a href='search.php'>$prod_ar[$i]</a>" . "</br>";
}

它输出这个(每一行都是一个单独的链接)

Chocolate Brownie Finger
Honey Cake
Mini Flourless Cake
Pecan Cinnamon Crumb Cake
Scone
Turkey and Cheese Sandwich

当我单击链接时,我希望 $_SESSION['food'] 变量等于/存储所选链接的单词 - 例如巧克力布朗尼手指(如果被点击的话)。

这样可以在我的 search.php 文件中使用它。

我该怎么做?

(显然,此时 $_SESSION['food'] 变量等于 'Turkey and Cheese Sandwich',因为那是他在 for 循环中的最后一个 $prod_ar。)

【问题讨论】:

  • 为什么在会话中需要这些数据?简单的 GET 请求就可以了。
  • 使用 GET。添加 ?food=$prod_ar[$i] 到链接 href。在 search.php 中通过 $_GET[“food”] 获取这个参数。
  • $prod_ar是固定数组吗?

标签: php variables hyperlink


【解决方案1】:

您需要在 URL 中添加一个额外的 $_GET 参数。像这样的:

echo "&lt;a href='search.php?food=$i'&gt;$prod_ar[$i]&lt;/a&gt;"."&lt;/br&gt;";

当链接被点击时,$_GET['food'] 将成为被点击链接的索引。

【讨论】:

    【解决方案2】:

    使用简单的 GET 请求 (search.php?term=Honey+Cake)

    for ($i = 0; $i <= count($prod_ar) - 1; $i++) {
        $term = urlencode($prod_ar[$i]);
        echo "<a href='search.php?term=$term'>$prod_ar[$i]</a></br>";
    }
    

    search.php 中你会得到如下搜索词:

    echo urldecode($_GET['term']);
    

    【讨论】:

    • 如果有帮助,请随时接受答案。
    猜你喜欢
    • 2021-11-02
    • 1970-01-01
    • 2014-10-31
    • 2018-04-16
    • 1970-01-01
    • 2019-08-18
    • 1970-01-01
    • 2013-11-29
    • 2019-04-01
    相关资源
    最近更新 更多