【发布时间】:2011-06-18 13:21:51
【问题描述】:
我正在 lynda.com 上观看课程,代码对他们有效,但在我尝试时不起作用。这是他们使用的确切代码。可以使用一些帮助来解释它为什么不起作用。
<?php
class Session
{
public $message;
function __construct(){
session_start();
$this->check_message();
}
public function get_message($msg="") {
if(!empty($msg)) {
// then this is "set message"
$_SESSION['message'] = $msg;
} else {
// then this is "get message"
return $this->message;
}
}
private function check_message() {
// Is there a message stored in the session?
if(isset($_SESSION['message'])) {
// Add it as an attribute and erase the stored version
$this->message = $_SESSION['message'];
unset($_SESSION['message']);
} else {
$this->message = "";
}
}
}
$session = new Session();
?>
在调用页面上
<?php
require_once("session_class.php");
function output_message($msg="") {
if (!empty($msg)) {
return "<p>$msg</p>";
} else {
return "";
}
}
if (isset($_SESSION['message'])) {
echo "session is set";
} else {
echo "session is not set";
}
$message = $session->get_message("working");
//$message = "Working";THIS WILL WORK
echo output_message($message);
?>
【问题讨论】:
-
究竟是什么不起作用?应该显示的消息是否没有显示?是否显示任何错误消息?
-
正确,没有消息显示。