一共2个页面,
一个login默认主页面, 就是用户进来后先选择自己的班级,比如有:班级1,班级2,班级3……
另一个页面就展示具体的内容,比如用户点了 班级3,那么 sql语句就是 select studentname from stuinfo where class=3
另外一个用户选的是班级1,那么就是
select studentname from stuinfo where class=1
可能有很多用户同时使用的。
我用webform做好了展示界面,做导航选择界面时发现配置文件在服务器端,里面配置了class=1,那么所有的终端用户都是显示班级1,改成几就都显示班级几。晕死了,忙了2天白忙活了。
有哪位提供个思路能实现这个功能?用什么工具做都行,或者知道webform怎么改能实现也行。
用url传递参数 url?calss=变量
后端接收这个变量做sql拼接
可以展示一下你目前的运行效果的界面图片
面包屑导航
不知道你这个问题是否已经解决, 如果还没有解决的话:首先,可以考虑使用数据库来存储班级信息和对应的内容,同时在登录时获取用户选择的班级信息,并根据该信息从数据库中获取对应的内容。
具体实现步骤如下:
CREATE TABLE `class_info` (
`class_id` int(11) NOT NULL AUTO_INCREMENT,
`class_name` varchar(50) NOT NULL,
PRIMARY KEY (`class_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
CREATE TABLE `class_content` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`class_id` int(11) NOT NULL,
`content` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
<select id="class_select">
<option value="1">班级1</option>
<option value="2">班级2</option>
<option value="3">班级3</option>
...
</select>
<button id="login_btn">登录</button>
<script>
$('#login_btn').click(function() {
var class_id = $('#class_select').val();
$.ajax({
url: 'login.php',
method: 'POST',
data: {class_id: class_id},
success: function(res) {
// 登录成功,跳转到内容页
},
error: function(err) {
alert('登录失败,请重试!');
}
});
});
</script>
session_start();
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$class_id = isset($_POST['class_id']) ? intval($_POST['class_id']) : 0;
if ($class_id > 0) {
$_SESSION['class_id'] = $class_id;
echo json_encode(['code' => 0, 'msg' => '登录成功']);
exit;
}
}
echo json_encode(['code' => 1, 'msg' => '用户名或密码错误']);
exit;
session_start();
if (!isset($_SESSION['class_id'])) {
header('Location: login.php');
exit;
}
$class_id = $_SESSION['class_id'];
// 获取班级信息
$class_info = [];
$sql = 'SELECT * FROM `class_info` WHERE `class_id` = ?';
$stmt = $pdo->prepare($sql);
$stmt->execute([$class_id]);
$class_info = $stmt->fetch();
// 获取班级对应的内容
$class_content = [];
$sql = 'SELECT * FROM `class_content` WHERE `class_id` = ?';
$stmt = $pdo->prepare($sql);
$stmt->execute([$class_id]);
$class_content = $stmt->fetchAll();
?>
<!-- 在页面上展示班级信息和对应的内容 -->
<h1><?php echo $class_info['class_name']; ?></h1>
<ul>
<?php foreach ($class_content as $content) { ?>
<li><?php echo $content['content']; ?></li>
<?php } ?>
</ul>
拓展:如果需要支持多个用户同时使用,可以考虑为每个用户生成一个Session ID,并将Session ID存储在数据库中,每次访问页面时根据Session ID获取对应的Session信息。这样就可以支持多个用户同时使用了。