<?php session_start();?>
HTML
<?php
// code for mysql...
$number = mysql_num_rows($result);
// it gets the correct value. Tested with echo.
?>
HTML
<?php
$i=0;
while ($number > $i)
{
$id = mysql_result($result,$i,"Id");
$address = mysql_result($result,$i,"address");
$title = mysql_result($result,$i,"title");
$_SESSION[i] = $id;
}
?>
<option value="<?php echo"$_SESSION[i]"; ?>">
<?php echo"$address $title"; ?>
</option>
<?php
$i++;
?>
此代码仅向选项添加一个元素。如果我评论 session_start() 那么 所有值都插入到选择中。但是如果我不使用 session_start 那么我不能 验证登录的用户。
我的代码怎么了?
最佳答案
我假设您指的是 $_SESSION[]
数组中的 $i
,而不是常量 i
:
$_SESSION[i] = $id;
?><OPTION value="<?php echo"$_SESSION[i]"; ?>">
// Should be
$_SESSION[$i] = $id;
?><OPTION value="<?php echo"$_SESSION[$i]"; ?>">
PHP 会将未知常量 i
转换为字符串 "i"
,它假定您希望这样做。我真的认为你打算使用变量 $i
。
关于php - PHP 中的 session_start(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7769783/