我有多个页面可以根据特定的规范来整理表格。 我为每个表格排序创建了一个页面,但我希望它在一个页面上。
当我第一次登录仪表板时,我有一小段代码。
session_start();
$user = $_SESSION['user'];
if(empty($_SESSION['table'])){
$_SESSION['table'] = "dashboard";
}
我在底部有这个jquery函数。
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
function changeString() {
$.get("changeString.php");
return false;
}
我设置它,以便当我点击某个图像时,它会更改条件的字符串并相应地将其排序。
这里的条件有条件:
if($_SESSION['table'] == "dashboard"){
$sql1=mysql_query("SELECT email from loggedin WHERE session_id='$user'");
$sess=mysql_fetch_array($sql1);
$newValue=$sess['email'];
$sql2= mysql_query("SELECT * FROM food WHERE OwnerEmail='$newValue'");
}
elseif($_SESSION['table'] == "Pantry"){
$sql1=mysql_query("SELECT email from loggedin WHERE session_id='$user'");
$sess=mysql_fetch_array($sql1);
$newValue=$sess['email'];
$sql2= mysql_query("SELECT * FROM food WHERE OwnerEmail='$newValue' AND Container='Pantry'");
这是我的img链接:
<a href="#" onClick="changeString()";><img src="iconpantry.png" class="img-responsive"></a>
这是我的单独的php文件,名为changeString.php
<?php
session_start();
$_SESSION['table'] = "Pantry";
?>:
现在发生的事情是,当我第一次登录时,由于某种原因它会自动设置$ _SESSION [&#39; table&#39;] =&#34; Pantry&#34;。
没有我甚至点击图片。
为什么会这样?
答案 0 :(得分:2)
@ user3503344的答案是正确的,它修复了您的代码,以便在登录时重置会话,这是以前没有做过的。但一般来说,如果设置不一致(即每次用户登录时重置),最好使用get变量。
如果用户打开了2个网站标签并希望每个标签上有不同的设置,该怎么办?他不能通过会议这样做。
所以我说你的表格有条件改为
if(!isset($_GET['table']) || $_GET['table'] == "dashboard"){
//this happens if ?table=X does not exits or it is set to dashboard
$sql1=mysql_query("SELECT email from loggedin WHERE session_id='$user'");
$sess=mysql_fetch_array($sql1);
$newValue=$sess['email'];
$sql2= mysql_query("SELECT * FROM food WHERE OwnerEmail='$newValue'");
}elseif($_GET['table'] == "Pantry"){
$sql1=mysql_query("SELECT email from loggedin WHERE session_id='$user'");
$sess=mysql_fetch_array($sql1);
$newValue=$sess['email'];
$sql2= mysql_query("SELECT * FROM food WHERE OwnerEmail='$newValue' AND Container='Pantry'");
}
对于您的按钮,您应该执行以下操作:
<a href="?table=Pantry"><img src="iconpantry.png" class="img-responsive"></a>
这样用户也可以使用此首选项为您的网站添加书签,这样如果他想默认查看Pantry表,他每次都不必按下按钮。
答案 1 :(得分:0)
编辑:
session_start();
$user = $_SESSION['user'];
if(empty($_SESSION['table'])){
$_SESSION['table'] = "dashboard";
}
要:
session_start();
unset($_SESSION['table']);
$user = $_SESSION['user'];
$_SESSION['table'] = "dashboard";
使用GET方法:
网址:url.com/index.php?page=dashboard
PHP:
<?php
if(isset($_GET['page']) && strlen($_GET['page'])>0) {
if($_GET['page'] == 'dashboard') {
// Do what you want if the page is dashboard.
}
}
?>