请大家帮忙,感谢感谢

shdhrb 2011-03-20 08:04:04
我首先把我的意图说一下,其实很简单,想实现根据不同的登录名,打开不同的动态表格,我采用了php+mysql+apache的环境,具体代码如下:
login.php //登录界面
----------------------------------------------------------
<form action="checkusers.php" method="post">
<table width="276" height="106" border="1">
<tr><td>用户名:</td>
<td>
<input type="text" name="name" id="name" size="15">
</td>
</tr>
<tr><td>密码:</td>
<td>
<input type="password" name="password" id="password" size="15">
</td>
</tr>
<tr><td colspan="2" align="center">
<input type="submit" value="登陆"></td>
</tr>
</table>
</form>
----------------------------------------------------------
checkusers.php //验证

<?php
include("conn.php");
$name=$_POST["name"];
$password=$_POST["password"];
$sql="select * from user where name='$name' and password='$password'";
$rs=mysql_query($sql,$conn);
$i=mysql_num_rows($rs);
if($i>0)//判断结果集中行数,如果行数大于0则说明登陆成功;否则的话,登陆失败
{
echo "<script>alert('登陆成功!欢迎您的归来!');location.href='xls.php'</script>"; //需要跳转到表格页面
}else{
echo "<script>alert('登陆失败!请验证您的用户名或密码是否正确');location.href='login.php';</script>";
}
?>
----------------------------------------------------------
xls.php //输出表格

<?php
$mysql_server_name="localhost";
$mysql_username="root";
$mysql_password="root";
$mysql_database="xls_db";

$conn=mysql_connect($mysql_server_name, $mysql_username,
$mysql_password);
mysql_query("set names 'GBK'");

$strsql="SELECT * FROM `sheet`"; //这里怎么写?

$result=mysql_db_query($mysql_database, $strsql, $conn);
$row=mysql_fetch_row($result);
echo '<font face="verdana">';
echo '<table border="0" cellpadding="1" cellspacing="2">';
echo "\n<tr>\n";
for ($i=0; $i<mysql_num_fields($result); $i++)
{
echo '<td bgcolor="#000F00"><b>'.
mysql_field_name($result, $i);
echo "</b></td>\n";
}
echo "</tr>\n";
mysql_data_seek($result, 0);
while ($row=mysql_fetch_row($result))
{
echo "<tr>\n";
for ($i=0; $i<mysql_num_fields($result); $i++ )
{
echo '<td bgcolor="#00FF00">';
echo "$row[$i]";
echo '</td>';
}
echo "</tr>\n";
}
echo "</table>\n";
echo "</font>";
mysql_free_result($result);
mysql_close();
?>
---------------------------------------------------------------------------
我想引用$name 作为条件:$strsql="SELECT * FROM `sheet` where tell='$name'; 输出不同的表格,可是不知道如何引用,或者其他方式实现,请各位大侠不吝赐教,感谢感谢!!

有网友说使用session,可我是个菜鸟,对这个东西不了解,还请见谅。
...全文
89 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
shdhrb 2011-03-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hnxxwyq 的回复:]
PHP code
echo "{$row[$i]}";

or

echo $row[$i]
[/Quote]

echo "$row[$i]"; 这条在xls.php中存在啊
lazyboy_wu 2011-03-20
  • 打赏
  • 举报
回复
echo "{$row[$i]}";

or

echo $row[$i]
shdhrb 2011-03-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 shdhrb 的回复:]
引用 1 楼 life169 的回复:
checkusers.php的sql语句要改成:
$sql="select * from user where name='{$name}' and password='{$password}'";
否则执行不了。

echo "<script>alert('登陆成功!欢迎您的归来!');location.href='xls.php'</scrip……
[/Quote]

我又重新检查了一下,现在能输出sheet的字段,但是没有表的内容 。。!
shdhrb 2011-03-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 life169 的回复:]
checkusers.php的sql语句要改成:
$sql="select * from user where name='{$name}' and password='{$password}'";
否则执行不了。

echo "<script>alert('登陆成功!欢迎您的归来!');location.href='xls.php'</script>";
这个语句没有把name传过……
[/Quote]


我试了一下,结果:http://127.0.0.1/xls.php?name=55010001
无法显示网页,我核查了表和字段都没有问题,还请指教!
shdhrb 2011-03-20
  • 打赏
  • 举报
回复
谢谢大家指点,我去试试。
daly2008 2011-03-20
  • 打赏
  • 举报
回复
lz想用session记录参数的话.
可以在
<?php
session_start(); //开启session
include("conn.php");
..................
if($i>0)//判断结果集中行数,如果行数大于0则说明登陆成功;否则的话,登陆失败
{
$_SESSION['name'] = "test";
echo "<script>alert('登陆成功!欢迎您的归来!');location.href='xls.php'</script>"; //需要跳转到表格页面
}else{
echo "<script>alert('登陆失败!请验证您的用户名或密码是否正确');location.href='login.php';</script>";
}
?>

在php文件中
获取$name = $_SESSION['name'];

session处理的话,会设计到session的开启问题.尤其是在session_start之前不能有输出内容.如果不会使用可以用ls的通过url传参.也是一种解决办法。
life169 2011-03-20
  • 打赏
  • 举报
回复
checkusers.php的sql语句要改成:
$sql="select * from user where name='{$name}' and password='{$password}'";
否则执行不了。

echo "<script>alert('登陆成功!欢迎您的归来!');location.href='xls.php'</script>";
这个语句没有把name传过去,xls.php又怎么能根据name来检索数据库呢。所以这句应该改成:
echo "<script>alert('登陆成功!欢迎您的归来!');location.href=\"xls.php?name=$name\"</script>";

xls.php里需要有接收传过来的name: $name = $_GET['name'];
$strsql="SELECT * FROM `sheet` where `tell`='{$name}'";
这个就实现了根据用户名,获得不同的输出方式。

我猜想,不同的用户名应该是保存的不同的模板。程序根据用户名,取得模板的名称,然后到文件里取相应的模板,然后用模板引擎配套数据输出。
当然,模板也可以直接保存在数据库里。
shdhrb 2011-03-20
  • 打赏
  • 举报
回复
3楼的朋友的建议我也试了一下,结果也是输出表格字段,没有内容,我认为是不是传递name的信息没有被xls.php接收到呢?

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧