我如何通过 POST 将值发送到其他页面而没有 PHP 中的输入标签

how can i send a value to other page via POST without Input Tag in PHP

如何在 PHP 中没有输入标签的情况下通过 POST 将值发送到另一个页面? 我试过这种方法,但还是不行。

<?php
include("database/config.php");
include("database/opendb.php");
include("functions.php");


if (isset($_POST["totalHobbies"])) {
    $par = $_POST["totalHobbies"];
}

$query = "SELECT firstname, lastname, hobbies, id ";
$query .= "FROM persons ";
$query .= "WHERE hobbies = ? ";

$preparendquery = $dbaselink->prepare($query);
$preparendquery->bind_param("i", $par);
$preparendquery->execute();
if ($preparendquery->errno) {
    echo "Fout bij uitvoeren commando". "<br>";
} else {
    $result = $preparendquery->get_result();
    if ($result->num_rows === 0) {
        echo "Geen rijen gevoenden" . "<br>" ;
    } else {
        while ($row = $result->fetch_assoc()) {    // here is the problem
            echo "<form action=\"details.php\" method='POST' >";    //refer to details.php page
            $id = $row["id"];
            echo "<a href=\"details.php?id= " . $row['id'] . " \">" . fullname($row['firstname'], $row['lastname']). "</a>". "<br>";
            echo "<input type=\"hidden\" name = \"id\" value= '$id'> </input>";
            echo "</form>";
        };
    }
}
$preparendquery->close();

echo"<br><button onclick=\"location.href='index.html'\">Back</button>";
include("database/closedb.php");
?>

您无法使用 'a href' 发送表单。您可以使用按钮或输入按钮并将其样式设置为看起来像常规 link(正确的解决方案)。或者您可以使用 Javascript 来处理 link 单击并从 javascript 发送表单(糟糕的解决方法,但也是可行的方法)。

另外,如果你想获取信息,你应该使用 GET 方法,这也可以解决你的问题。

我还是没完全理解你的问题。

删除 <a> 标签

您输入的标签没有写好。应该是

echo "<input type=\"hidden\" name = \"id\" value= '$id'/>";

您可以将 id 作为会话变量,然后在 details.php 页面中调用它。