我首先把我的意图说一下,其实很简单,想实现根据不同的登录名,打开不同的动态表格,我采用了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,可我是个菜鸟,对这个东西不了解,还请见谅。

解决方案 »

  1.   

    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}'"; 
    这个就实现了根据用户名,获得不同的输出方式。我猜想,不同的用户名应该是保存的不同的模板。程序根据用户名,取得模板的名称,然后到文件里取相应的模板,然后用模板引擎配套数据输出。
    当然,模板也可以直接保存在数据库里。
      

  2.   

    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传参.也是一种解决办法。
      

  3.   

    我试了一下,结果:http://127.0.0.1/xls.php?name=55010001
    无法显示网页,我核查了表和字段都没有问题,还请指教!
      

  4.   


    我又重新检查了一下,现在能输出sheet的字段,但是没有表的内容 。。!
      

  5.   

    echo "{$row[$i]}";or echo $row[$i]
      

  6.   


    echo "$row[$i]"; 这条在xls.php中存在啊
      

  7.   

    3楼的朋友的建议我也试了一下,结果也是输出表格字段,没有内容,我认为是不是传递name的信息没有被xls.php接收到呢?