簡體   English   中英

PHP中的session_start()

[英]session_start() in PHP

<?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(),則所有值都插入到select中。 但如果我不使用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

我建議使用mysql_fetch_array / mysql_fetch_assoc / mysql_fetch_row在一次調用中抓取行,而不是每行調用三次mysql_result? 然后你可以訪問每個元素,如:

$row = mysql_fetch_array( $result);
$id = $row['Id'];
$address = $row['address'];

PHP手冊有一個關於如何循環從數據庫返回的行數的示例。

http://us3.php.net/manual/en/function.mysql-fetch-array.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM