php学生管理系统源码,供大家参考,具体内容如下
功能:
1.添加/删除/修改
2.数据存储.
界面分布:
index.php
--->主界面
add.php --->stu添加
action --->sql中add/del/update
(处理html表单-->mysql的数据存储 && 页面跳转)
edit.php --->stu修改
menu.php
-->首页
1. index.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>学生信息管理</title>
<script>
function doDel(id) {
if(confirm('确认删除?')) {
window.location='action.php?action=del&id='+id
}
}
</script>
</head>
<body>
<center>
<?php
include ("menu.php")
?>
<h3>浏览学生信息</h3>
<table width="500" border="1">
<tr>
<th>ID</th>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
<th>班级</th>
<th>操作</th>
</tr>
<?php
//1. 链接数据库
try{
$pdo = new PDO("uri:mysqlPdo.ini","root","1")
}catch (PDOException $e) {
die('connection failed'.$e->getMessage())
}
//2.执行sql
$sql_select = "select * from stu"
//3.data 解析
foreach ( $pdo->query($sql_select) as $row) {
echo "<tr>"
echo "<th>{$row['id']} </th>"
echo "<th>{$row['name']}</th>"
echo "<th>{$row['sex']} </th>"
echo "<th>{$row['age']} </th>"
echo "<th>{$row['classid']}</th>"
echo "<td>
<a href='edit.php?id={$row['id']}'>修改</a>
<a href='javascript:void(0)' onclick='doDel({$row['id']})'>删除</a>
</td>"
echo "</tr>"
}
>
</table>
</center>
</body>
</html>
2. add.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>学生管理系统</title>
</head>
<body>
<center>
<?php include ('menu.php')?>
<h3>增加学生信息</h3>
<form action="action.php?action=add" method="post">
<table>
<tr>
<td>姓名</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>年龄</td>
<td><input type="text" name="age"></td>
</tr>
<tr>
<td>性别</td>
<td><input type="radio" name="sex" value="男">男</td>
<td><input type="radio" name="sex" value="女">女</td>
</tr>
<tr>
<td>班级</td>
<td><input type="text" name="classid"></td>
</tr>
<tr>
<!--<td></td>-->
<td><a href="index.php">返回</td>
<td><input type="submit" value="添加"></td>
<td><input type="reset" value="重置"></td>
</tr>
</table>
</form>
</center>
</body>
</html>
3. action.php
<?php
//1. 链接数据库
try{
$pdo = new PDO("uri:mysqlPdo.ini","root","1")
}catch (PDOException $e) {
// echo 'Connection failed: ' . $e->getMessage()
die('connection failed'.$e->getMessage())
}
//2.action 的值做对操作
switch ($_GET['action']){
case 'add'://add
$name = $_POST['name']
$sex = $_POST['sex']
$age = $_POST['age']
$classid = $_POST['classid']
$sql = "insert into stu (name, sex, age, classid) values ('{$name}', '{$sex}','{$age}','{$classid}')"
$rw = $pdo->exec($sql)
if ($rw >0){
echo "<script>alter('添加成功')</script>"
}else{
echo "<script>alter('添加失败')</script>"
}
header('Location: index.php')
break
case 'del'://get
$id = $_GET['id']
$sql = "delete from stu where id={$id}"
$rw = $pdo->exec($sql)
if ($rw >0){
echo "<script>alter('删除成功')</script>"
}else{
echo "<script>alter('删除失败')</script>"
}
header('Location: index.php')
break
case 'edit'://post
$id = $_POST['id']
$name = $_POST['name']
$age = $_POST['age']
$classid = $_POST['classid']
$sex = $_POST['sex']
//echo $id, $age, $age, $name
$sql = "update stu set name='{$name}', age={$age},sex='{$sex}',classid={$classid} where id={$id}"
//$sql = "update myapp.stu set name='jike',sex='女', age=24,classid=44 where id=17"
print $sql
$rw = $pdo->exec($sql)
if ($rw >0){
echo "<script>alter('更新成功')</script>"
}else{
echo "<script>alter('更新失败')</script>"
}
header('Location: index.php')
break
default:
header('Location: index.php')
break
}
4.edit.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>学生管理系统</title>
</head>
<body>
<center>
<?php include ('menu.php')
//1. 链接数据库
try{
$pdo = new PDO("uri:mysqlPdo.ini","root","1")
}catch (PDOException $e) {
die('connection failed'.$e->getMessage())
}
//2.执行sql
$sql_select = "select * from stu where id={$_GET['id']}"
$stmt = $pdo->query($sql_select)
if ($stmt->rowCount() >0) {
$stu = $stmt->fetch(PDO::FETCH_ASSOC)// 解析数据
}else{
die("no have this id:{$_GET['id']}")
}
?>
<h3>修改学生信息</h3>
<form action="action.php?action=edit" method="post">
<input type="hidden" name="id" value="<?php echo $stu['id']?>">
<table>
<tr>
<td>姓名</td>
<td><input type="text" name="name" value="<?php echo $stu['name']?>"></td>
</tr>
<tr>
<td>年龄</td>
<td><input type="text" name="age" value="<?php echo $stu['age']?>"></td>
</tr>
<tr>
<td>性别</td>
<td>
<input type="radio" name="sex" value="男" <?php echo ($stu['sex'] == "男")? "checked":""?>>男
</td>
<td>
<input type="radio" name="sex" value="女" <?php echo ($stu['sex'] == "女")? "checked":""?>>女
</td>
</tr>
<tr>
<td>班级</td>
<td><input type="text" name="classid" value="<?php echo $stu['classid']?>"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="更新"></td>
<td><input type="reset" value="重置"></td>
</tr>
</table>
</form>
</center>
<?php
>
</body>
</html>
5. menu.php
<!DOCTYPE html>
<html lang="en">
<body>
<h2>学生管理系统</h2>
<a href="index.php">浏览学生</a>
<a href="add.php">添加学生</a>
<hr>
</body>
</html>
前几天刚实现了一个,难点主要有3块:
1:http头部模拟
2:在使用curl做POST的时候, 当要POST的数据大于1024字节的时候, curl并不会直接就发起POST请求, 而是会分为俩步,
http://www.laruence.com/2011/01/20/1840.html
3:post的数据,有几个字段是用js计算出的,需要用php模拟出
附:curl_setopt($ch,CURLOPT_POSTFIELDS, http_build_query($data))
方法一:
1、创建一个c语言项目。然后右键头文件,创建一个Stu的头文件。
2、然后编写头文件的代码。再将数据结构的增删改查和结构体写入头文件。
3、然后在源文件中创建main源文件和Stu源文件。再main文件中写入intmian()代码。
4、然后在mian主函数中,写入while语句无限循环。再写入Init函数。
5、在Stu源文件的Init函数用printf语句,将学生管理系统输出。再创建链表的头节点head。
6、然后用switch函数对操作进行判断。再执行数据结构的增删改查功能。这样一个学生管理系统的基本框架就完成了。
方法二:
1、新建一个学生实体类,用于存放学生的各项信息。
2、新建一个链表节点类,每个节点存放一个学生信息及下一个节点的引用。
3、添加一个主操作类,并添加本系统的菜单方法。
4、定义链表的头节点,当前最后一个节点,以及主控制逻辑信息。
5、使用io流逐行读取存有学生信息的文本文件,对每行字符串,采用t分割后得到一个字符串数组,数据各项即为一个学生的具体信息。然后新建一个节点加入到链表。
6、运行结果:
以上就是关于学生管理系统php源码谁有全部的内容,如果了解更多相关内容,可以关注醉学网,你们的支持是我们更新的动力!