我正在尝试访问html select标记内的php会话变量,因此我可以使用它来确定如何填充选项。
如果我在select标签之外回显变量,它可以正常工作,但它不会在标签内回显。
我没有经验知道原因。
以下是代码片段,我删除了不相关的代码,以便于阅读。
<?php
session_start();
$_SESSION['profile_type']='test';
?>
<!doctype html>
<html lang="en">
<head>
<title>Profile</title>
</head>
<?php
echo $_SESSION["profile_type"]; //This WILL echo.
?>
<select id="profile" name="profile">
<?php
echo $_SESSION["profile_type"]; //This will NOT echo.
?>
</select>
答案 0 :(得分:2)
正如Andrew已经说过的那样,<select>
- 标签内的任何内容都必须是<option>
类型。所以,为了列出你正在寻找的会话变量,你需要这样的东西
<select id="profile" name="profile">
<option value="test">Text here</option>
<?php
echo "<option value=".$_SESSION['profile_type'].">".$_SESSION['profile_type']."</option>";
?>
</select>
请注意,$_SESSION
,$_GET
和$_POST
等超全局变量不能在字符串中指定,并且必须按上述方式连接。
答案 1 :(得分:1)
它可能会回声,但除非您查看来源,否则您无法看到它。在<select>
字段中,您需要有<option value='foo'>Foo Text</option>
行。 Option标签用于填充选择框。选择框是在提交时使用选项值发送的内容。