Мне нужна помощь с моим кодом. Я выбираю данные из базы данных, поскольку я храню данные в $_SESSION
массив. Теперь я хотел бы вставить данные в список, но у меня возникла проблема с вставкой данных в список.
Когда я пытаюсь это:
<select id="gender" name="gender" class="form-control" value='<?php echo htmlspecialchars($_SESSION["gender"]); ?>'>
<option value="unknown"></option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
Он не будет вставлять данные в список, так как список показывает, что в список не было вставлено никаких данных.
Вот полный код:
<?php
// Initialize the session
session_start();
// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
//print_r($_SESSION);
?>
<select id="gender" name="gender" class="form-control" value='<?php echo htmlspecialchars($_SESSION["gender"]); ?>'>
<option value="unknown"></option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
Вот что $_SESSION
показ массива:
Array
(
[loggedin] => 1
[id] => 1
[username] => myusername
[firstname] => Robert
[lastname] => Jones
[email] => [email protected]
[gender] => Male
[states] => United Kingdom
)
Можете ли вы показать мне пример того, как я могу вставить данные в список с помощью php echo, что я извлекаю данные из $_SESSION
массив?
Спасибо.
Я бы сгенерировал этот выбор через PHP
$html = '<select id="gender" name="gender" class="form-control">';
$values = array('unknown', 'Male', 'Female');
foreach($values as $v){
$selected = '';
if($v == 'unknown'){
$title = '';
}else{
$title = $v;
}
if($v == $_SESSION["gender"]){
$selected = "selected";
}
$html .= "<option $selected value='$v'>$title</option>";
}
$html .= "</select>";
echo $html;
Других решений пока нет …