




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学生信息管理系统
——使用PHP操作MySQL数据库
项目9计算机系决定开发一个学生信息管理系统,以提高对学生信息的管理效率。张华作为计算机系的学生会成员,被委派负责这个项目的技术实现过程。李老师指出,为了实现一个功能完善的学生信息管理系统,张华需精通通过PHP来操作MySQL数据库的技能。通过PHP连接并操作MySQL数据库,可以轻松完成学生信息的增加、删除、修改和查询等操作,从而满足学生信息管理系统的核心功能需求。李老师鼓励张华结合学生信息管理系统的实际需求,通过实践来掌握使用PHP操作MySQL数据库的技能,并确保系统功能的完整性和稳定性。这不仅将提升张华的技术能力,也将为他未来的职业发展奠定坚实基础。学生信息管理系统■
掌握MySQL数据库的基本概念和数据类型;■
熟悉使用PHP连接MySQL数据库的方法,以及执行SQL查询等操作的流程;■
了解使用PHP操作MySQL过程中的常见安全问题及防范措施;■
掌握PHP中操作MySQL的常用函数和MySQLi扩展的使用方法。■
能够根据实际需求,设计和创建合理的MySQL数据表结构;■
能够使用PHP成功连接MySQL数据库,并执行基本的增删改查操作;■
能够编写安全的SQL语句,防止SQL注入等安全问题;■
能够结合PHP和MySQL技术,实现数据的存储、检索、更新和删除等操作。■
提升在Web开发中运用PHP操作MySQL数据库的实践能力;■
培养细心、严谨的数据库操作习惯,确保数据的一致性和安全性;■
加强逻辑思维和问题解决能力,灵活运用PHP和MySQL解决实际的数据处理问题。MySQL概述MySQL的基本操作PHP的数据库扩展使用PHP操作MySQL数据库MySQL概述PART019.1.1
MySQL简介MySQL已经成为最受欢迎的关系数据库管理系统之一,尤其在Web应用领域表现出色,被誉为最佳的关系数据库管理系统(RelationalDatabaseManagementSystem,RDBMS)应用软件之一,这得益于其出色的性能和较高的稳定性,以及丰富的功能。MySQL的众多优势中,体积小、速度快以及总体拥有成本低等尤为突出。更为值得一提的是,它采用了开放源代码的方式,使得开发者可以根据自身需求进行灵活的定制和优化。因此,众多中小型网站纷纷选择MySQL作为数据库解决方案,以满足日益增长的数据存储和处理需求。MySQL的普及和应用,无疑为各行各业的数据管理带来了巨大的便利和较高的效益。9.1.2MySQL的特点MySQL作为一种广泛使用的关系数据库管理系统,以其独特的优势在数据管理领域占据了重要地位。1.开源2.跨平台兼容3.性能卓越4.易操作5.强大的数据查询能力6.可靠的事务处理功能7.社区支持9.1.3安装MySQL在Windows系统上安装MySQL时,需要遵循以下步骤。(1)下载MySQL安装包。(2)双击下载的安装包,开始安装。(3)按照安装向导的指示进行操作。(4)根据需求配置其他参数,如端口号、数据存放位置等。(5)完成安装后,选择立即启动MySQL,或稍后手动启动。若使用的是本书前文介绍的phpStudy集成开发环境,那么MySQL已经预装在内,无须单独安装。9.1.4启动MySQL若使用的是phpStudy集成开发环境,则可以按照以下步骤启动MySQL。(1)打开phpStudy控制面板。(2)在服务列表中找到MySQL服务。(3)单击MySQL服务后面的“启动”按钮,稍等片刻,服务状态将变为“运行中”,表示MySQL已成功启动。9.1.5安装MySQL可视化工具为了更方便地管理MySQL数据库,可以安装可视化工具来辅助操作。以下是安装MySQL可视化工具的简要步骤。(1)选择合适的可视化工具。(2)下载与安装。(3)连接到数据库。(4)开始使用。此外,对于使用VisualStudioCode的开发者来说,建议安装VisualStudioCode中的MySQL插件来管理数据库。MySQL的基本操作PART029.2.1
MySQL数据库操作在MySQL中,数据库是存储数据表、视图、存储过程等对象的容器。1.创建数据库使用CREATEDATABASE语句可以创建一个新的数据库,示例代码如下。CREATEDATABASEdatabase_name;2.选择数据库在对数据表进行操作之前,需要先选定一个数据库作为当前的工作数据库,示例代码如下。USEdatabase_name;CREATEDATABASEdatabase_name;USEdatabase_name;9.2.1
MySQL数据库操作3.查看所有数据库SHOWDATABASES命令用于列出MySQL服务器中所有的数据库。SHOWDATABASES;4.删除数据库当不再需要数据库时,可以使用DROPDATABASE语句将其删除,这将同时删除其中的所有数据表和相关数据。DROPDATABASEdatabase_name;5.查看数据库创建信息使用SHOWCREATEDATABASE语句可以查看创建数据库的详细信息。SHOWCREATEDATABASEdatabase_name;在操作过程中需特别注意,删除数据库操作不可逆,执行前需确保已做好数据备份。SHOWDATABASES;DROPDATABASEdatabase_name;SHOWCREATEDATABASEdatabase_name;9.2.2
MySQL数据表操作数据表是数据库中的核心组成部分,用于组织和存储数据。1.创建数据表通过CREATETABLE语句可以创建新的数据表。CREATETABLEtable_name(column1datatype,column2datatype,...);2.查看所有数据表使用SHOWTABLES命令可以列出当前数据库中所有的数据表。SHOWTABLES;CREATETABLEtable_name(column1datatype,column2datatype,...);SHOWTABLES;9.2.2
MySQL数据表操作3.查看数据表结构DESCRIBE或SHOWCOLUMNS命令可用于查看数据表的结构信息。DESCRIBEtable_name;或者使用:SHOWCOLUMNSFROMtable_name;4.修改数据表结构ALTERTABLE语句用于修改已存在的数据表的结构,如添加新列。ALTERTABLEtable_nameADDcolumn_namedatatype;5.删除数据表DROPTABLE语句用于删除整个数据表及其所有数据。DROPTABLEtable_name;DESCRIBEtable_name;SHOWCOLUMNSFROMtable_name;ALTERTABLEtable_nameADDcolumn_namedatatype;DROPTABLEtable_name;9.2.2
MySQL数据表操作6.清空数据表内容使用TRUNCATETABLE语句可以快速清空数据表中的所有数据,同时重置任何自增字段。TRUNCATETABLEtable_name;TRUNCATETABLE语句不同于DELETEFROM语句,它不会记录每行的删除操作,因此速度更快,但不可恢复。TRUNCATETABLEtable_name;9.2.3
MySQL数据操作MySQL数据操作涉及对数据表中数据的增删改查。1.插入数据INSERTINTO语句用于向数据表中插入数据。INSERTINTOtable_name(column1,column2,...)VALUES(value1,value2,...);2.查询数据SELECT语句用于在数据表中查询数据。SELECT*FROMtable_name;使用WHERE命令可以实现带条件的查询。SELECT*FROMtable_nameWHEREcondition;INSERTINTOtable_name(column1,column2,...)VALUES(value1,value2,...);SELECT*FROMtable_name;SELECT*FROMtable_nameWHEREcondition;9.2.3
MySQL数据操作3.更新数据UPDATE语句用于更新数据表中的现有数据。UPDATEtable_nameSETcolumn1=value1,column2=value2,...WHEREcondition;4.删除数据DELETEFROM语句用于从数据表中删除数据。DELETEFROMtable_nameWHEREcondition;UPDATEtable_nameSETcolumn1=value1,column2=value2,...WHEREcondition;DELETEFROMtable_nameWHEREcondition;PHP的数据库扩展PART039.3.1
MySQLi扩展MySQLi(MySQLimproved)是PHP中用于与MySQL数据库进行交互的扩展。它提供了面向对象和面向过程的API,使得开发者能够灵活地操作MySQL数据库。MySQLi扩展支持预处理、事务处理、批量插入等高级功能,并且具有良好的性能和较高的稳定性。使用MySQLi扩展,可以连接到MySQL服务器,执行SQL查询,并处理返回的结果集。它还提供了丰富的错误处理机制,帮助开发者在出现问题时进行调试和排查。9.3.2
PDO扩展PDO(PHPDataObjects,PHP数据对象)是一个轻量级、一致的数据访问层,它提供了一个数据库抽象层,使得开发者可以使用统一的接口来访问不同类型的数据库。PDO支持多种数据库驱动程序,包括MySQL、PostgreSQL、SQLite等。与MySQLi相比,PDO更加灵活和可扩展。它支持预处理语句和参数绑定,从而提高了安全性和性能。此外,PDO还提供了事务处理、存储过程和批量操作等高级功能。使用PDO扩展,可以轻松地连接到数据库,执行复杂的SQL查询,并处理返回的结果集。PDO还提供了异常处理机制,使得错误处理更加简洁和直观。9.3.3其他数据库扩展在选择合适的数据库扩展时,应综合考虑多个关键因素。首先,要明确项目所使用的数据库类型,因为不同的扩展支持不同的数据库。其次,要根据项目的具体需求来挑选扩展,因为不同的数据库扩展提供的功能集合各异。最后,安全性和稳定性同样至关重要,一个优秀的扩展应能有效保护数据库免受安全威胁。鉴于MySQLi扩展在功能、性能、安全性和稳定性方面的综合表现,本书推荐使用MySQLi扩展进行数据库操作。使用PHP操作MySQL数据库PART049.4.1
MySQLi扩展的用法在PHP中,MySQLi扩展提供了功能强大的工具来连接和操作MySQL数据库。它支持面向对象和面向过程的接口,可以方便地执行预处理语句和处理事务。相较已废弃的原始MySQL扩展,MySQLi扩展不仅更加稳定、高效,还涵盖更多的MySQL功能。9.4.2
MySQLi扩展的核心函数MySQLi扩展提供了很多简化开发的核心函数。MySQLi扩展的核心函数如表所示。9.4.3连接MySQL数据库在PHP中使用MySQLi扩展连接MySQL数据库,通常使用mysqli_connect()函数。objectmysqli_connect([$host,$username,$password,$dbname,$port,$socket])mysqli_connect()函数共有6个可选参数。具体参数说明如下。$host:可选,规定服务器名称或IP地址。$username:可选,规定MySQL用户名。$password:可选,规定MySQL密码。$dbname:可选,规定默认使用的数据库。$port:可选,规定尝试连接到MySQL服务器的端口号。$socket:可选,规定socket或要使用的已命名pipe。objectmysqli_connect([$host,$username,$password,$dbname,$port,$socket])9.4.3连接MySQL数据库若数据库连接成功,则返回数据库连接的对象;若数据库连接失败,则返回false并提示Warning级别的错误信息。$host='localhost';//服务器地址
$user='root';//MySQL用户名
$password='password';//MySQL密码
$db='mydatabase';//数据库名称
//创建连接
$conn=mysqli_connect($host,$user,$password,$db);//检查连接是否成功
if(!$conn){die("连接失败:".mysqli_connect_error());}$host='localhost';//服务器地址
$user='root';//MySQL用户名
$password='password';//MySQL密码
$db='mydatabase';//数据库名称
//创建连接
$conn=mysqli_connect($host,$user,$password,$db);//检查连接是否成功
if(!$conn){die("连接失败:".mysqli_connect_error());}为了进一步提升代码的可维护性和复用性,在进行大型网站或复杂应用的开发时,我们应当考虑将数据库连接代码封装在一个独立的PHP文件中。具体实现步骤如下。1.创建封装文件创建一个新的PHP文件,例如将其命名为connect.php。2.包含封装文件在需要使用数据库连接的PHP文件中,通过include或require语句引入connect.php文件。3.错误处理在封装文件中,我们已经加入了连接错误的处理逻辑。在实际应用中,还可以进一步优化错误处理措施。通过将数据库连接代码封装在一个独立的文件中,我们可以实现代码的复用和模块化,提高开发效率,同时也使得项目结构更加清晰和易于维护。这是PHP项目开发中一种常见的最佳实践方式。封装数据库连接代码9.4.4选择MySQL数据库如果在连接时没有指定数据库,可以在连接成功时,使用mysqli_select_db()函数来选择并打开要操作的数据库,之后才能对这个数据库中的数据表进行增删查改等各种操作。若在建立MySQL数据库连接时指定了要访问的数据库,则可以使用函数mysqli_select_db()更改所指定的数据库。boolmysqli_select_db($conn,$db);其中,$conn是通过mysqli_connect()函数建立的数据库连接,$db是想要选择的数据库名称。使用该函数之后,返回一个布尔值,若打开数据库成功则返回true,否则返回false。boolmysqli_select_db($conn,$db);9.4.5执行SQL语句数据库连接成功后,使用mysqli_query()函数来执行SQL语句,其语法格式如下。boolmysqli_query($conn,$sql[,$resultmode])具体参数说明如下。$conn:表示使用mysqli_connect()函数获取的数据库连接。$sql:表示要执行的SQL语句。$resultmode:可选,表示结果集模式。当执行写操作时,成功则返回true,失败则返回false;当执行读操作时,返回值是查询结果集,结果集模式是以下两种常量。MYSQLI_STORE_RESULT:默认模式,会将结果集全部读取到PHP文件。MYSQLI_USE_RESULT:仅初始化结果集检索,在处理结果集时进行数据读取。boolmysqli_query($conn,$sql[,$resultmode])【案例实践9-1】实现学生注册功能学生注册功能的实现涉及前端页面的设计、后端PHP脚本的编写以及数据库的添加操作等多个环节。(1)设计前端页面,以收集学生输入的用户名和密码。【案例实践9-1】实现学生注册功能(2)在MySQL数据库中创建一个名为students的数据表,用于存储学生信息。CREATEDATABASEIFNOTEXISTSstudent_db;
USEstudent_db;
CREATETABLEIFNOTEXISTSstudents(
idINTAUTO_INCREMENTPRIMARYKEY,
usernameVARCHAR(50)NOTNULLUNIQUE,
passwordVARCHAR(255)NOTNULL
);【案例实践9-1】实现学生注册功能(3)建立与MySQL数据库的连接。然后,我们将对这些数据进行验证。【案例实践9-1】实现学生注册功能(4)启动phpStudy,启用Apache和MySQL服务。(5)启动内置服务器,在浏览器中打开html文件。(6)输入用户名和密码,单击“注册”按钮,提示“学生注册成功”。(7)单击编辑器界面的Database按钮,连接数据库student_db,打开students数据表,查看添加的数据,如图所示。9.4.6预处理操作在PHP项目开发中,使用传统的SQL语句进行数据库添加操作时,存在安全隐患,特别是当外部输入的数据没有得到适当的转义处理时,恶意用户可能会利用这个机会,通过注入特殊符号或恶意SQL代码来发动攻击,这就是所谓的SQL注入攻击。为了解决这一问题并提高数据库操作的效率和安全性,MySQLi扩展引入了预处理(Prepared)机制。预处理是一种将SQL语句模板与数据分离的技术。这种方式不仅能够有效防止SQL注入攻击,还能提升查询性能,因为数据库可以预编译并缓存SQL语句模板。9.4.6预处理操作1.创建数据库连接使用mysqli_connect()函数来创建与MySQL数据库的连接。2.准备SQL语句模板准备一个带有占位符的SQL语句模板,这里我们使用?作为占位符。$sql="INSERTINTOstudents(name,age,email)VALUES(?,?,?)";$sql="INSERTINTOstudents(name,age,email)VALUES(?,?,?)";9.4.6预处理操作3.创建预处理语句使用mysqli_prepare()函数创建预处理语句。mysqli_stmtmysqli_prepare(mysqli$conn,string$query)下面是使用mysqli_prepare()函数的简单示例。if($stmt=mysqli_prepare($conn,$sql)){//预处理语句创建成功
//接下来可以绑定参数并执行预处理语句
}else{echo"Error:".$conn->error;}if($stmt=mysqli_prepare($conn,$sql)){//预处理语句创建成功
//接下来可以绑定参数并执行预处理语句
}else{echo"Error:".$conn->error;}mysqli_stmtmysqli_prepare(mysqli$conn,string$query)9.4.6预处理操作4.绑定参数在创建了预处理语句之后,需要将具体的参数绑定到SQL语句模板中的占位符上,通过mysqli_stmt_bind_param()函数来实现的。boolmysqli_stmt_bind_param(mysqli_stmt$stmt,string$types,mixed&$var[,mixed&$...])具体参数说明如下。$stmt:表示由mysqli_prepare()函数创建的预处理语句对象。$types:由一个或者多个字符组成的字符串,指定绑定参数的类型。boolmysqli_stmt_bind_param(mysqli_stmt$stmt,string$types,mixed&$var[,mixed&$...])9.4.6预处理操作5.执行预处理语句绑定参数后,使用mysqli_stmt_execute()函数来执行预处理语句。不需要额外的参数,它将执行之前通过mysqli_prepare()函数准备的并且已经通过mysqli_stmt_bind_param()函数绑定了参数的预处理语句。mysqli_stmt_execute()函数的具体语法格式如下。boolmysqli_stmt_execute(mysqli_stmt$stmt)下面是执行预处理语句并处理执行结果的示例代码。if(mysqli_stmt_execute($stmt)){echo"成功创建";}else{echo"Error:".$stmt->error;}boolmysqli_stmt_execute(mysqli_stmt$stmt)if(mysqli_stmt_execute($stmt)){echo"成功创建";}else{echo"Error:".$stmt->error;}9.4.6预处理操作6.关闭预处理语句及数据库连接操作完成后,关闭预处理语句及数据库连接。mysqli_stmt_close($stmt);mysqli_close($conn);通过上述步骤,可以将数据插入数据库,同时避免了SQL注入的风险,并且由于预编译的SQL语句可以被数据库缓存和重用,所以也提高了性能。在实际开发中,预处理不仅可以用于INSERT语句,还可以用于SELECT、UPDATE和DELETEFROM等语句,以确保数据库操作的安全性和效率。mysqli_stmt_close($stmt);mysqli_close($conn);【案例实践9-2】添加预处理实现学生注册功能(1)使用mysqli_prepare()函数创建预处理语句。(2)使用mysqli_stmt_bind_param()函数将用户名和密码绑定到预处理语句的占位符上。'ss'表示两个参数都是字符串。(3)执行预处理语句并检查执行结果,如果成功则输出成功信息,否则输出错误信息。(4)关闭预处理语句及数据库连接,释放资源。【案例实践9-2】添加预处理实现学生注册功能【案例实践9-2】添加预处理实现学生注册功能(5)启动phpStudy,启用Apache和MySQL服务。(6)启动内置服务器,在浏览器中打开html文件。(7)输入用户名和密码,单击“注册”按钮,提示“注册成功”。(8)单击编辑器界面的Database按钮,连接数据库student_db,打开students数据表,查看添加的数据,如图所示。9.4.7处理结果集结果集是指从数据库中查询得到的数据集合。为了从这些结果集中提取数据,我们需要使用特定的PHP函数。9.4.7处理结果集1.mysqli_num_rows()函数mysqli_num_rows()函数用来获取查询结果集中的记录(行)数。intmysqli_num_rows(mysqli_result$result)具体参数说明如下。$result:由mysqli_query()、mysqli_store_result()或mysqli_use_result()函数返回的结果集。具体示例代码如下。$result=mysqli_query($conn,"SELECT*FROMstudents");$row_count=mysqli_num_rows($result);echo"查询结果有{$row_count}行数据。";intmysqli_num_rows(mysqli_result$result)$result=mysqli_query($conn,"SELECT*FROMstudents");$row_count=mysqli_num_rows($result);echo"查询结果有{$row_count}行数据。";【案例实践9-3】解决用户名冲突问题出现用户名冲突的问题,那么需要查找该用户名对应的记录是否多于1条,如果多于1条,则提示“该用户名已存在,请核对后重新输入”,否则才能执行数据的插入操作。【案例实践9-3】解决用户名冲突问题如果要使用预处理,就需要使用mysqli_stmt_num_rows()函数来判断记录的条数。9.4.7处理结果集2.mysqli_fetch_array()函数mysqli_fetch_array()函数用于从结果集中取出一行数据,可以选择以关联数组、索引数组或两者兼有的形式返回。mixedmysqli_fetch_array(mysqli_result$result[,int$result_type=MYSQLI_BOTH])具体参数说明如下。$result_type:可选参数,定义返回数组的类型,可以是MYSQLI_ASSOC(关联数组)、MYSQLI_NUM(索引数组)或MYSQLI_BOTH(同时返回关联和索引数组,为默认值)。具体示例代码如下。$result=mysqli_query($conn,"SELECT*FROMstudents");while($row=mysqli_fetch_array($result)){echo$row['id'].''.$row['name'].'<br>';}mixedmysqli_fetch_array(mysqli_result$result[,int$result_type=MYSQLI_BOTH])$result=mysqli_query($conn,"SELECT*FROMstudents");while($row=mysqli_fetch_array($result)){echo$row['id'].''.$row['name'].'<br>';}9.4.7处理结果集3.mysqli_fetch_assoc()函数mysqli_fetch_assoc()函数用于从结果集中取出一行数据,以关联数组的形式返回,其中数组的键是字段名,值是对应的数据,其具体语法格式如下。associative_arraymysqli_fetch_assoc(mysqli_result$result)具体示例代码如下。$result=mysqli_query($conn,"SELECT*FROMstudents");while($row=mysqli_fetch_assoc($result)){echo$row['id'].''.$row['name'].'<br>';}associative_arraymysqli_fetch_assoc(mysqli_result$result)$result=mysqli_query($conn,"SELECT*FROMstudents");while($row=mysqli_fetch_assoc($result)){echo$row['id'].''.$row['name'].'<br>';}9.4.7处理结果集4.mysqli_fetch_row()函数mysqli_fetch_row()函数用于从结果集中取出一行并保存在索引数组中arraymysqli_fetch_row(mysqli_result$result)具体示例代码如下。$result=mysqli_query($conn,"SELECT*FROMstudents");while($row=mysqli_fetch_row($result)){echo$row[0].''.$row[1].'<br>';//假设第一列是ID,第二列是名字
}arraymysqli_fetch_row(mysqli_result$result)$result=mysqli_query($conn,"SELECT*FROMstudents");while($row=mysqli_fetch_row($result)){echo$row[0].''.$row[1].'<br>';//假设第一列是ID,第二列是名字
}【案例实践9-4】实现学生登录功能(1)设计一个前端页面,用于收集学生输入的用户名和密码。【案例实践9-4】实现学生登录功能(2)建立与MySQL数据库的连接。检查用户是否已提交登录表单。查找数据库中是否存在输入的用户名,如果不存在这样的用户名,则提示用户名不正确;如果存在,则验证密码是否正确。【案例实践9-4】实现学生登录功能(4)启动phpStudy,启用Apache和MySQL服务。(5)启动内置服务器,在浏览器中打开html文件,结果如图所示。(6)输入用户名和密码,单击“登录”按钮,提示“密码不正确,请核对后重新输入”。(7)单击“确定”按钮,返回登录页面,重新输入密码,提示“密码正确,登录成功!”。9.4.8释放结果集在处理完结果集后,考虑资源管理和性能,应该释放结果集所占用的内存。尽管PHP脚本结束时会自动清理资源,但推荐在不需要结果集时手动释放它。mysqli_free_result($result);mysqli_free_result($result);9.4.9断开数据库连接完成所有数据库操作后,应该断开与数据库的连接,以释放资源并避免不必要的连接占用。使用mysqli_close()函数可以断开数据库连接。mysqli_close($conn);这里$conn是之前通过mysqli_connect()函数或类似的函数建立的数据库连接。mysqli_close($conn);在Web开发过程中,数据的安全性是至关重要的。当使用PHP操作MySQL数据库时,我们需要时刻保持对数据安全的警觉性。以下是一些建议,帮助培养和加强数据安全意识。(1)了解安全风险。(2)编写安全的SQL语句。(3)保护敏感数据。(4)定期备份数据。只有确保数据的安全性,应用才能赢得用户的信任。数据安全意识的培养与加强本项目的主要目标是帮助学生更深入地理解PHP在实际Web开发中的应用,并掌握如何操作MySQL数据库。通过构建一个功能完善的学生信息管理系统,我们将学习从数据库设计、后端逻辑编写到前端界面展示的完整开发流程,学会如何利用PHP连接和操作MySQL数据库,实现对学生信息的增删改查等基本功能。任务9-1设计数据库确立学生信息的数据结构,包括学生的基本信息等。设计两张表:用户表(user,如表所示)和学生信息表(stu_info,如表所示)。用户表包含用户名、密码以及用户等级(标注是管理员还是普通用户)学生信息表则将包括学号、姓名、班级和手机号等关键信息。、任务9-2设计数据连接设计统一的数据库连接脚本conn.php。任务9-3设计登录页面(1)登录页面,用户被提示需输入用户名和密码以进行身份验证。系统通过查询数据库来验证用户输入的信息:如果用户名或密码为空,系统将给出提示;如果用户名不存在或密码不正确,用户也将收到相应的错误提示。login.php页面的关键脚本如下。任务9-3设计登录页面(2)启动phpStudy,启用Apache和MySQL服务。(3)启动内置服务器,在浏览器中打开login.php文件,运行结果如图所示。任务9-4设置操作权限为区分不同用户身份并提供相应的页面操作权限,设计两种不同的头文件:header_admin.php和header_stu.php。这两种头文件根据用户的身份来显示不同的页面链接,从而确保用户只能访问到其权限范围内的页面。(1)管理员拥有系统最高权限,具有添加、浏览、编辑和查询学生信息等能力。管理员登录后,将看到以下链接选项。任务9-4设置操作权限(2)在图所示页面中输入管理员的用户名和密码,单击“登录”按钮,结果如图所示。(3)普通用户只有浏览学生信息和查询学生信息的权限。普通用户登录后,将看到以下链接选项。任务9-4设置操作权限(4)在图所示页面中输入普通用户的用户名和密码,单击“登录”按钮,结果如图所示。任务9-5设计注册页面设计注册页面,实现管理员和普通用户的注册功能,通
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业服务合同文本2025
- 高级财务管理合同保密条款
- 专业技能课件评比标语
- 价格保密合同模板
- 技术服务合同保密条款2025
- 西昌民族幼儿师范高等专科学校《戏曲与中国文化》2023-2024学年第一学期期末试卷
- 四川省宜宾市翠屏区中学2025年高中毕业班质量检查(Ⅱ)数学试题含解析
- 西交利物浦大学《职业发展与就业教育1》2023-2024学年第二学期期末试卷
- 上海普陀区2025年高三第二轮复习测试卷生物试题含解析
- 天津市红桥区普通中学2024-2025学年初三下学期中考仿真考试物理试题含解析
- 易制毒化学品销售人员岗位职责
- 2025四川九洲建筑工程有限责任公司招聘生产经理等岗位6人笔试参考题库附带答案详解
- 2025-2030中国金红石发展现状及未来趋势研究报告
- 结肠镜检查前后的护理
- 人工智能与人才测评融合-全面剖析
- 2024年江苏淮安中考满分作文《这份考卷答的漂亮》2
- 1《神州谣》公开课一等奖创新教学设计
- GB/T 6433-2025饲料中粗脂肪的测定
- 服装吊挂系统培训
- 医疗器械公司规章制度与管理条例
- 2025年航空工业西安飞机工业(集团)有限责任公司招聘笔试参考题库附带答案详解
评论
0/150
提交评论