【问题标题】:Calling PHP via a HTML anchor on the same page通过同一页面上的 HTML 锚点调用 PHP
【发布时间】:2019-10-16 09:03:48
【问题描述】:

我目前正在阅读我的教师提供的一段代码,但我无法理解它的工作原理。 具体来说,锚是如何在没有 method="post" 或 method="get" 的情况下链接到 php 的。 如果有人可以解释或将我链接到相关材料以进行进一步阅读,请不胜感激。非常感谢。

if (!isset($_SESSION['cart'])){
    $_SESSION['cart'] = array();
}
if (isset($_GET['buy'])) {
    $_SESSION['cart'][] = $_GET['buy'];
    header('location: ' . $_SERVER['PHP_SELF']. '?' . SID);
    exit();
}

for ($i=0; $i<count($items); $i++){
    echo "<tr>";
    echo "<td>" .$items[$i]. "</td>";
    echo "<td>$" .number_format($prices[$i], 2). "</td>";
    echo "<td><a href='" .$_SERVER['PHP_SELF']. '?buy=' .$i. "'>Buy</a></td>";
    echo "</tr>";
}

【问题讨论】:

  • href-?buy=中的查询字符串变量-可以用$_GET['buy']提取。

标签: javascript php html sql


【解决方案1】:

如果还没有购买商品索引的购物车,则会在会话中创建它。

if (!isset($_SESSION['cart'])){
    $_SESSION['cart'] = array();
}

当打开带有 buy 查询参数的链接时,buy 值会添加到会话购物车中。在该页面被重定向到没有 buy 参数的位置之后。

if (isset($_GET['buy'])) {
    $_SESSION['cart'][] = $_GET['buy'];
    header('location: ' . $_SERVER['PHP_SELF']. '?' . SID);
    exit();
}

要购买的物品清单打印在页面上(我的问题代码不完整)。

for ($i=0; $i<count($items); $i++){
    echo "<tr>";
    echo "<td>" .$items[$i]. "</td>";
    echo "<td>$" .number_format($prices[$i], 2). "</td>";
    echo "<td><a href='" .$_SERVER['PHP_SELF']. '?buy=' .$i. "'>Buy</a></td>";
    echo "</tr>";
}
  1. 使用 GET 方法链接打开的页面。

  2. 可以通过特殊的 $_GET 变量访问链接查询参数

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-29
    • 1970-01-01
    • 2016-05-18
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多