Php 带变量的导航菜单
我正在尝试实现一种仪表板系统。以及在导航菜单项中传递变量时出现问题 首先,用户从工作区列表中选择“工作区名称”。 该链接将用户重定向到Php 带变量的导航菜单,php,drop-down-menu,menu,html-lists,uinavigationbar,Php,Drop Down Menu,Menu,Html Lists,Uinavigationbar,我正在尝试实现一种仪表板系统。以及在导航菜单项中传递变量时出现问题 首先,用户从工作区列表中选择“工作区名称”。 该链接将用户重定向到projects.php?workspaceid=xxxxxx 现在在project.php中,有一个侧栏(静态)和其他选项,如 projectsettings.php,credentials.php 我想在每个子菜单项中传递变量workspaceid。 例如projectsettings.php?workspaceid=xxxxxx或credentials.ph
projects.php?workspaceid=xxxxxx
现在在project.php
中,有一个侧栏(静态)和其他选项,如
projectsettings.php
,credentials.php
我想在每个子菜单项中传递变量workspaceid。
例如projectsettings.php?workspaceid=xxxxxx
或credentials.php?workspaceid=xxxxxx
我怎样才能做到
更新:
我想我对这个问题很不清楚
用户首先进入workspace.php
看起来像
!![工作区选择表]
然后,例如,他们从表中选择“InternetExplorer7”。
链接将把他们带到project.php?workspaceid=IE7
看起来像
![项目仪表板]
在这里,所有菜单(数据菜单、数据变量、setting.php)都应该有工作区变量 编辑答案:
设置工作空间ID后,需要设置会话
<?php
session_start();
if (isset($_SESSION['workspaceid'])){
//do what you need with this info
}
else if (isset($_GET['workspaceid'])){
//lets set the session
$_SESSION['workspaceid'] = trim(strip_tags($_GET['workspaceid']));
}
else {
//do nothing
}
//with this method there is no need to pass the workspaceid via url
?>
原始答复:
在您需要的每个链接中回显变量
<a href="projectsettings.php?workspaceid=<?php echo $_GET['workspaceid']; ?>">link text</a>
对于get变量,您应该小心。我通常会检查和清洁标题中的内容。因此,更高级的方法是如下所示
<?php
if (isset($_GET['workspaceid']){
$workspaceid = trim(strip_tags($_GET['workspaceid']));
}
?>
您可以执行以下操作:
<?php
if(isset($_GET['workspaceid']))
$workspaceid = htmlspecialchars($_GET['workspaceid']);
else
$workspaceid = '';
$query = "SELECT * FROM table WHERE workspaceid = ?";
if($stmt = $mysqli->prepare($query)){
$stmt->bind_param('i',$workspaceid);
$stmt->execute();
$result = $stmt->get_result();
while($row = $result->fetch_assoc()){
$variablename = $row['columnname']; //put your own in here
}
$stmt->free_result();
$stmt->close();
}else die("Query failed to prepare");
你能发布一些代码吗?谢谢你的回复。对于workspaceid,未修复。它是来自数据库的变量。所以结构是workspace selection=>Project dashboard..在该仪表板中,所有内容都是针对该仪表板的。我更新了我的答案,向您展示了如何使用mysqli语句调用它。事实上,我已经有了如上所示的预定义菜单,只需在itThanks Smith中传递项目id即可..是的;这就是我试图实现的…但问题是taht变量只从workspace.php传递到project.php一次,但我想在“project.php”仪表板中的任何地方都使用相同的变量。是的…我明白了。我可以创建多个会话吗?如果我想同时打开两个项目。如果你想让一个用户打开多个项目,你需要在$\u会话中排列工作区id。然后在每个页面加载上循环它们,以获得您需要的内容。Ohkay..我将对此进行研究。。另一个快速问题..如何传递这样的变量..它们传递
<?php
if(isset($_GET['workspaceid']))
$workspaceid = htmlspecialchars($_GET['workspaceid']);
else
$workspaceid = '';
$query = "SELECT * FROM table WHERE workspaceid = ?";
if($stmt = $mysqli->prepare($query)){
$stmt->bind_param('i',$workspaceid);
$stmt->execute();
$result = $stmt->get_result();
while($row = $result->fetch_assoc()){
$variablename = $row['columnname']; //put your own in here
}
$stmt->free_result();
$stmt->close();
}else die("Query failed to prepare");