如何根据用户名显示用户名会话
我在这里有一个问题,那就是我想在员工输入员工ID后显示员工姓名。我的index.php会显示员工姓名,但没有成功。这个问题在欢迎它后显示“资源ID#4”。如何根据用户名显示用户名会话
我的表:
CREATE TABLE `staff` (
`staffid` varchar(25) NOT NULL,
`password` varchar(25) DEFAULT NULL,
`staffname` varchar(50) DEFAULT NULL,
`staffemail` varchar(50) DEFAULT NULL,
`level` int(2) DEFAULT NULL,
PRIMARY KEY (`staffid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
的index.php:
<?php require_once('Connections/sqlconnection.php');
//initialize the session
if (!isset($_SESSION)) {
session_start();
}
$colname_rsstaff = $_SESSION['staffid'];
if (isset($_GET['staffid'])) {
$colname_rsstaff = $_GET['staffid'];
}
// ** Logout the current user. **
$logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";
if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){
$logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){
//to fully log out a visitor we need to clear the session varialbles
$_SESSION['MM_Username'] = NULL;
$_SESSION['MM_UserGroup'] = NULL;
$_SESSION['PrevUrl'] = NULL;
unset($_SESSION['MM_Username']);
unset($_SESSION['MM_UserGroup']);
unset($_SESSION['PrevUrl']);
$logoutGoTo = "login.php";
if ($logoutGoTo) {
header("Location: $logoutGoTo");
exit;
}
}
?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
mysql_select_db($database_sqlconnection, $sqlconnection);
$query_rsstaff = sprintf("SELECT staffname FROM staff WHERE staff.staffid = %s", GetSQLValueString($colname_rsstaff, "text"));
$rsstaff = mysql_query($query_rsstaff, $sqlconnection) or die(mysql_error());
$row_rsstaff = mysql_fetch_assoc($rsstaff);
$totalRows_rsstaff = mysql_num_rows($rsstaff);
?>
<title>Sistem Pengurusan Stok</title>
<center>
<form name="form1" method="POST" action="">
<table width="633" height="431" border="1">
<tr>
<td height="124" colspan="2" align="right"><?php include 'header.php'?>
<p><?php echo date("d-m-y")."<br>";?></p></td>
</tr>
<tr>
<td width="167" height="262"><?php include 'menu.php'?></td>
<td width="450" align="center"><p>Welcome
<?php echo $rsstaff?>
</p>
<p><a href="<?php echo $logoutAction ?>">Log out </a></p>
<p><a href="<?php echo $logoutAction ?>"> </a></p></td>
</tr>
<tr>
<td height="37" colspan="2"></td>
</tr>
</table>
</form>
</center>
<? session_destroy()?>
<?php
mysql_free_result($rsstaff);
?>
有人帮我请... #Thanks。
当你做<?php echo $rsstaff?>
,你打印出MySQL查询资源$rsstaff
。这种输出没有明显的形式,所以PHP只是告诉你“这是一种资源”,而不是更有意义的东西。这是你看到的输出。
您打算打印出$row_rsstaff
的元素之一,推测是"staffname"
元素。
所以:
<?php echo $row_rsstaff["staffname"] ?>
非常感谢。这是工作!!!! :D – 2013-02-21 02:39:19
@Nurul:请在出口时填写客户满意度表。 – 2013-02-21 02:41:04
不要使用MYSQL_ *它已被弃用
这个答案是根据你试图但是做什么。
信息在这里找到:mysql_query。
当你做$rsstaff = mysql_query($query_rsstaff, $sqlconnection)
,你得到的是一个资源,而不是你对SELECT staffname FROM staff WHERE staff.staffid = %s
对数据库的期望。
尝试以下操作:
$result = mysql_query($query_rsstaff, $sqlconnection);
$rsstaff = mysql_fetch_assoc($result);
然后
Welcome <?php echo $rsstaff["staffname"]; ?>
或者也可以简单
$rsstaff = mysql_result(mysql_query($query_rsstaff),0);
然后用你的代码。
好的,但是你改变他的变量名的方式是相当混乱的。 – 2013-02-21 02:33:31
但是这个代码是由软件提供的..我只是单击Dreamweaver中的记录集,它被编码..每当我做了一个变化,它会提醒JavaScript有错误..所以如何? – 2013-02-21 02:44:04
[**请不要在新代码'mysql_ *'功能**](http://bit.ly/phpmsql)。他们不再被维护[并且被正式弃用](http://j.mp/XqV7Lp)。看到[**红框**](http://j.mp/Te9zIL)?学习[*准备的语句*](http://j.mp/T9hLWi),并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [这篇文章](http://j.mp/QEx8IB)将帮助你决定哪个。 – Kermit 2013-02-21 02:21:15