Isset 以 html 形式使用 php 变量

Isset to use php variable in html form

我正在尝试从数据库加载实例,然后从中创建按钮,可以单击这些按钮提交表单并将单击的任何按钮的名称添加到 $_SESSION['room']。按钮显示正确,但是 isset() 函数没有接收到正确的数据,因为单击按钮时没有输出。

<?php    
if(isset($_GET['$room'])){
    $_SESSION['room'] = $_GET['$room'];
    echo $_SESSION['room'];
}
?>
<form method="get">
<?php
while($rooms > $count){
    $room = mysqli_fetch_row($search_rooms)[0];
    echo "<input type='submit' value='$room' name='$room'><br>";
    $count = $count + 1;
};    
?>
</form>
name='$room'

这出现在用 " 个字符引用的字符串中,因此变量将被插入。

这意味着您最终会得到 HTML,类似于:

name='a_room_name'>

同时……

isset($_GET['$room'])

… 测试从名称以美元符号开头的表单字段提交的数据。它不是一个变量。您正在测试 name='$room'> 的输入……您没有。


您需要为提交按钮使用固定名称。

name='room'isset($_GET['room']) 都可以。