尝试使用会话数组将多个sql变量从一个文件解析到另一个文件,但我不能。是什么东西在这里失踪了?
提前致谢。
file1.php
session_start();
while($row=mysql_fetch_array($result,MYSQL_BOTH)) {
echo "<tr>";
$id=$row['id'];
$array[] = $id;
}
$_SESSION['id'] = $array;
file2.php
session_start();
foreach( $array as $id ) {
echo $id;
}
答案 0 :(得分:1)
在您的代码示例中,您没有从$array
阅读$_SESSION
。
另请注意,除非您实施自己的session handler,否则$_SESSION
会将所有内容存储为字符串。
答案 1 :(得分:1)
那是因为$array
不是您的共享变量。 $_SESSION['id']
是您需要阅读的内容。
示例(摘自:https://web.archive.org/web/20080707052007/http://www.phpriot.com/articles/intro-php-sessions/7):
page1.php中
<?php
// begin the session
session_start();
// create an array
$my_array=array('cat', 'dog', 'mouse', 'bird', 'crocodile', 'wombat', 'koala', 'kangaroo');
// put the array in a session variable
$_SESSION['animals']=$my_array;
// a little message to say we have done it
echo 'Putting array into a session variable';
?>
使page2.php
<?php
// begin the session
session_start();
// loop through the session array with foreach
foreach($_SESSION['animals'] as $key=>$value)
{
// and print out the values
echo 'The value of $_SESSION['."'".$key."'".'] is '."'".$value."'".' <br />';
}
?>
如评论中所述,page2.php上的echo
是OTT。一种更简单的方法是:
echo "Value of {$_SESSION[$key]} is $value<br />" ;
(信用:RiggsFolly)