热搜:NVER node 开发 php

如何实现输入用户名密码后可查询信息并修改

2024-09-12 11:35:01
如何实现输入用户名密码后可查询信息并修改

这是我的代码,运行结果如图。如何显示出数据库信息并可以修改某一项。

学生信息<?php //######################学生信息##########################include "config.php";include "header.php"; ?> <?php extract($_POST); if ($xuehao=="" ||$password=="")  {	echo"

请把信息填写完整

"; echo ""; exit; } else { $query="select * from $student_table where xuehao='$xuehao'"; mysql_query("set names 'GB2312'"); $result=mysql_query($query); $row=mysql_fetch_array($result); if($row==0) { echo"

你还没有注册,请先注册。

"; echo ""; exit; } $query="select password as sm from $student_table where xuehao='$xuehao'"; mysql_query("set names 'GB2312'"); $result=mysql_query($query); $row=mysql_fetch_array($result); $num=strlen($row['xuehao']); $xh=$row['xuehao']; $n=0; if($row[sm]!=$password) { echo"

你输入的学号和密码不匹配,请重新输入。

"; echo ""; exit; } }?>

>>>学生信息
学号:
姓名:
性别:
班级:
专业爱好:
联系方式:
本科阶段取得的主要成绩及特长:

<?php include "foot.php";?>


回复讨论(解决方案)


$query="select  password as sm from $student_table where xuehao='$xuehao'";
     mysql_query("set names 'GB2312'");
     $result=mysql_query($query);
      $row=mysql_fetch_array($result);
这一段会覆盖前面的$row,而你sql列表中只有sm列,因此下面两行要报错
$num=strlen($row[' xuehao']);
     $xh=$row[' xuehao'];  //没有xuehao 列

下面的各个控件赋值也会报错。

解决办法就是将第二个$row 改为 $row1 

你这个是类似于一个登录界面吧

谢谢,问题解决了,可以正常显示信息了。但是上边那个不必要的错误是什么呢?如图

$query="select  password as sm from $student_table where xuehao='$xuehao'";
     mysql_query("set names 'GB2312'");
     $result=mysql_query($query);
      $row=mysql_fetch_array($result);
这一段会覆盖前面的$row,而你sql列表中只有sm列,因此下面两行要报错
$num=strlen($row[' xuehao']);
     $xh=$row[' xuehao'];  //没有xuehao 列

下面的各个控件赋值也会报错。

解决办法就是将第二个$row 改为 $row1  谢谢!问题解决了,可以正常显示了,但是上面那个错误提示是什么意思?

$row[sm]
改为
$row['sm']

sm不加引号的话,会被当做常量去解析。