【发布时间】:2017-04-21 22:55:21
【问题描述】:
我在网站上有三个页面。第一个是登录页面,第二个是个人资料页面,第三个是主页。
<?php
session_start();
$servername="blah blah blah";
$connectioninfo=array('Database'=>'mbr');
$conn=sqlsrv_connect($servername,$connectioninfo);
if($conn)
{
echo 'connection established';
}
else
{
echo 'connection failure';
die(print_r(sqlsrv_errors(),TRUE));
}
$q1="SELECT * FROM EmployeeTable WHERE EmployeeID = '" . $_SESSION['id'] . "' ";
$stmt=sqlsrv_query($conn,$q1);
if($stmt==false)
{
echo 'error to retrieve info !! <br/>';
die(print_r(sqlsrv_errors(),TRUE));
}
$row=sqlsrv_fetch_array($stmt);
echo $row['EmployeeName'];
$q2="SELECT * FROM pointsBadgeTable WHERE EmployeeID = '" . $_SESSION['id'] . "' ";
$stmt1=sqlsrv_query($conn,$q2);
if($stmt1==false)
{
echo 'error to retrieve info !! <br/>';
die(print_r(sqlsrv_errors(),TRUE));
}
$pbrow=sqlsrv_fetch_array($stmt1);
?>
以上是网站第二页使用的php。这里我使用两个查询 $q1 和 $q2 在连接到这里的数据库“mbr”后从两个不同的表(EmployeeTable 和 pointsBadgeTable)中检索信息。
从表格中检索信息后,我在 html 中回显所需的信息。
例如,
<?php echo "". $row['goldTotal'] .""?>>
这里的 'goldtotal' 是上述 php.ini 文件中 pointsBadgeTable 中的一列。另请注意,我使用的是“. $_SESSION['id'] 。”此处仅显示有关登录网站第一页的人的信息。
这里的问题是我想在第三页中回显与第二页中相同的值。我是否必须在第三页中编写与在第二页中编写的相同的 php 代码,或者我需要将其存储在某个会话变量中。这里如何使用会话变量?
另外,在第三页重写与第二页相同的代码并使用相同的查询 $q1 和 $q2 是否正确?我也会将相同的 PHP 复制并粘贴到第三页。
【问题讨论】:
-
基本上这个问题是基于意见的。如果不是太大,您可以将数据存储在会话中并在第三页中使用。但我更愿意将您的查询和数据获取放在一个函数/单独的文件中,并在两个页面中包含/调用它。当用户到达第三页时,数据可能已经改变。同样,很大程度上取决于个人喜好以及您想要实现的目标。
-
@bansi 感谢您的输入。u 基本上是说我可以使用相同的 php 代码(如上述问题中所述)并在第三页中使用相同的代码。这意味着我会再次连接到同一服务器和数据库。
标签: php html sql-server session session-variables