通讯录管理系统
准备工具:Atom,Wampserver,navicat,chrome
首先是创建数据库创建表,这里取名数据库名mtdb,表名list
字段为Num学号,Name姓名,Sex性别,Birthday生日,QQqq,Mobile手机,Email邮箱,Address地址

  • 连接数据库
<?php//连接数据库error_reporting(E_ALL ^ E_DEPRECATED);          //错误控制header("Content-type:text/html;charset=utf-8"); //客户端发送原始的 HTTP 报头$conn=mysql_connect('localhost','root','');  //连接MySQL服务器mysql_select_db('mydb',$conn);               //选择数据库mysql_query("SET NAMES utf8");              //设置字符集为utf8session_start();                            //启动session会话
?>
  • 主页( 主页比较简单,用html来写的)
<!DOCTYPE html>
<html lang="en" dir="ltr"><head><meta charset="utf-8"><title>通讯录管理系统</title><link href="style/index.css" rel="stylesheet" /></head><body><table id="main" border="1" bordercolor="#CC6633" cellspacing="0"><caption id="head">通讯录管理系统</caption><tr id="nav"><td><a href="display.php">显示通讯录</a></td><td rowspan="3"><img src="data:images/bg.jpg"  width="510" height="290"/></td></tr><tr id="nav"><td><a href="add.php">添加通讯录</a></td></tr><tr id="nav"><td><a href="search.php">查找通讯录</a></td></tr></table></body>
</html>
  • 添加数据库 (使用正则表达式,所有信息不能为空且学号、手机和邮箱有限制。当只有正则表达式与字符串完全匹配,点击提交将数据添加到数据库)
<!DOCTYPE HTML>
<html><head><meta charset="utf-8"><title>添加通讯录</title><link href="style/add.css" rel="stylesheet" /></head><body><h2 align="center">添加通讯录</h2>
<?php
if (isset($_REQUEST["BUTTON1"]))
{$con=@mysql_connect('localhost','root',''); //连接服务器mysql_select_db('mydb', $con); //选择数据库mysql_query("set names utf8");//设置字符集为utf8$test=1;  //只要$test=0,则表单信息就无法提交$num = $_REQUEST['num'];$name = $_REQUEST['name'];$sex = @$_REQUEST['sex'];$birthday = $_REQUEST['birthday'];$qq = $_REQUEST['qq'];$mobile = $_REQUEST['mobile'];$email = $_REQUEST['email'];$address = $_REQUEST['address'];//若正则表达式含^、$,只有正则表达式与字符串完全匹配,该函数才返回1。if($num == ''){$xh1="学号不能为空";$test = 0;}elseif(preg_match('/^2018\d{8}$/',$num) == 0){$xh1="学号为2018开头的12位数字";$test=0;}if($name == ''){$xm1="姓名不能为空";$test = 0;}if($sex == ''){$xb1="性别不能为空";$test = 0;}if($birthday == ''){$sr1="生日不能为空";$test = 0;}if($qq == ''){$qq1="QQ不能为空";$test = 0;}if($mobile == ''){$phone1="电话不能为空";$test = 0;}elseif(preg_match('/^1\d{10}$/',$mobile) == 0){$phone1="电话必须是以1开头的11位数字";$test=0;}if($email == ''){$email1="邮箱不能为空";$test = 0;}elseif(preg_match('/^[\w_\-]+@[\w_]+\.[\w_\.]+$/',$email) == 0){$email1="邮箱必须是XXX@XXX.XXX";$test=0;}if($address == ''){$address1="地址不能为空";$test = 0;}if ($test==1){ $sql="insert into list values('$num','$name','$sex','$birthday','$qq','$mobile','$email','$address')";$addresslist=mysql_query($sql);if ($addresslist==true) echo  "<script language='javascript'>window.alert('插入成功!');location.href='display.php';</script>";else echo  "<script language='javascript'>window.alert('插入失败');</script>";}
}?><form id="form2" name="form2" method="post" action=""><table width="500" height="500" border="1" align="center" bordercolor="#DDDDDD"><tr><td width="50">学号</td><td width="250"><label><input name="num" type="text" id="num" /></label><?php echo @$xh1; ?></td></tr><tr><td>姓名</td><td><label><input name="name" type="text" id="name" /></label><?php echo @$xm1; ?></td></tr><tr><td>性别</td><td><label><input type="radio" name="sex" id="sex" value="男" />男<input type="radio" name="sex" id="sex" value="女" />女</label><?php echo @$xb1; ?></td></tr><tr><td>生日</td><td><label><input name="birthday" type="date" id="birthday"  /></label><?php echo @$sr1; ?></td></tr><tr><td>QQ</td><td><label><input name="qq" type="text" id="qq" /></label><?php echo @$qq1; ?></td></tr><tr><td>手机</td><td><label><input name="mobile" type="text" id="mobile" /></label><?php echo @$phone1; ?></td></tr><tr><td>邮箱</td><td><label><input name="email" type="text" id="email" /></label><?php echo @$email1; ?></td></tr><tr><td>地址</td><td><label><input name="address" type="text" id="address" size="40" /></label><?php echo @$address1; ?></td></tr><tr><td colspan="2"><label><div align="center"><input type="submit" name="BUTTON1" value="提交" /><input type="reset"  name="BUTTON2" value="重置" /></div></label></td></tr></table></form><div class="back"><a href="index.php">返回</a></div><?php?></body>
</html>
  • 显示数据库 (将数据库所有信息显示出来,分页进行显示,也可删除,修改暂时没弄好)
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>显示通讯录</title><link href="style/display.css" rel="stylesheet"></head><body>
<?php$con=@mysql_connect('localhost','root','');//连接数据库mysql_select_db('mydb');//选择数据库mysql_query("set names utf8"); //设置字符集为utf8$pagesize=10;   //定义显示数据为10条$result=mysql_query('select count(*) from list');$rows=mysql_fetch_row($result);$recordcount=$rows[0]; //总记录数$pagecount=ceil($recordcount/$pagesize); //总页数$pageno=isset($_GET['pageno'])?$_GET['pageno']:1; //获得当前页面$starno=($pageno-1)*$pagesize;$sql = "select * from list limit $starno,$pagesize";//获得当前页面的内容$result=mysql_query($sql);
?><h2 align="center">我的通讯录</h2><table width="90%" border="1" align="center" ><tr><th bgcolor="#FF6666" scope="col">学号</th><th bgcolor="#FF6666" scope="col">姓名</th><th bgcolor="#FF6666" scope="col">性别</th><th bgcolor="#FF6666" scope="col">生日</th><th bgcolor="#FF6666" scope="col">QQ</th><th bgcolor="#FF6666" scope="col">手机</th><th bgcolor="#FF6666" scope="col">邮箱</th><th bgcolor="#FF6666" scope="col">地址</th></tr><?php$row=mysql_fetch_row($result);while($row){?><tr><td height="30" align="center"><?php echo $row[0];?></td><td height="30" align="center"><?php echo $row[1];?></td><td height="30" align="center"><?php echo $row[2];?></td><td height="30" align="center"><?php echo $row[3];?></td><td height="30" align="center"><?php echo $row[4];?></td><td height="30" align="center"><?php echo $row[5];?></td><td height="30" align="center"><?php echo $row[6];?></td><td height="30" align="center"><?php echo $row[7];?></td><td><a href="modify.php?num=<?php echo $row[0];?>"><input type="button"  value="修改"></a><!-- <input type="button" value="修改" onclick="location.href=\'modify.php?num='.$row[0].'\'"  /> --><a onclick="return confirm('你确定删除吗?')"  href="delete.php?num=<?php echo $row[0];?>"><input type="button" value="删除"></a></td></tr><?php$row=mysql_fetch_row($result);}?></table><table align="center"><td><a href="display.php?pageno=1">首页</a><a href="display.php?pageno=<?php echo $pageno-1; ?>">上一页</a><?php//循环输出页码for($i=1;$i<=$pagecount;$i++) {echo '<a href="search.php?pageno='.$i.'">'.$i.'</a>&nbsp;';}?><a href="display.php?pageno=<?php echo $pageno+1; ?>">下一页</a><a href="display.php?pageno=<?php echo $pagecount; ?>">尾页</a>第<?php echo $pageno;?>页/共<?php echo $pagecount;?>页</td></table><div class="back"><a href="add.php">添加</a><a href="index.php">返回</a></div></body>
</html>
  • 查询数据库(按姓名进行查找)
在这里插入代码片<!DOCTYPE html>
<html lang="en" dir="ltr"><head><meta charset="utf-8"><title>查询联系人</title><link rel="stylesheet" href="style/search.css"></head><body><?php$con=@mysql_connect('localhost','root',''); //连接服务器mysql_select_db('mydb', $con); //选择数据库mysql_query("set names utf8");//设置字符集为utf8// $Num=$_REQUEST['Num'];// $sql="select * from addresslist where Num='$Num'";//查询$Name=$_REQUEST['Name'];$sql="select * from list where Name like '%$Name%'";//查询$result=mysql_query($sql);if(!$result){die('无法读取数据:'.mysql_error());}?><h2 align="center">查询通讯录</h2><form id="form" align="center" name="form" method="post" action=""><!-- <label>学号:<input name="Num" type="text" id="Num" placeholder="请输入学号"  /></label> --><label>姓名:<input name="Name" type="text" id="Name" placeholder="请输入姓名"/></label><label><input type="submit" name="search" value="查询" /></label></form><br><table width="90%" border="1" align="center" ><tr><th bgcolor="#FF6666" scope="col">学号</th><th bgcolor="#FF6666" scope="col">姓名</th><th bgcolor="#FF6666" scope="col">性别</th><th bgcolor="#FF6666" scope="col">生日</th><th bgcolor="#FF6666" scope="col">QQ</th><th bgcolor="#FF6666" scope="col">手机</th><th bgcolor="#FF6666" scope="col">邮箱</th><th bgcolor="#FF6666" scope="col">地址</th></tr><?php$row=mysql_fetch_row($result);while($row){?><tr><td height="30" align="center"><?php echo $row[0];?></td><td height="30" align="center"><?php echo $row[1];?></td><td height="30" align="center"><?php echo $row[2];?></td><td height="30" align="center"><?php echo $row[3];?></td><td height="30" align="center"><?php echo $row[4];?></td><td height="30" align="center"><?php echo $row[5];?></td><td height="30" align="center"><?php echo $row[6];?></td><td height="30" align="center"><?php echo $row[7];?></td></tr><?php$row=mysql_fetch_row($result);}?></table><div class="back"><a href="index.php">返回</a></div></body>
</html>
  • 删除数据库
<meta charset="utf-8">
<?php$num = $_GET["num"];$db = new mysqli("localhost","root","","mydb");$sql = "delete from list where Num = '{$num}'";//通过Num查询if($db->query($sql))//执行sql语句{header("location:display.php");}else{echo "删除失败";}
?>

界面大概是这样:
主页界面

添加通讯录界面

显示通讯录界面

查找通讯录界面

PHP通讯录管理系统相关推荐

  1. c语言个人通讯录管理系统实验报告_C语言实现个人通讯录管理系统

    如何用c语言制作简易的个人通讯录管理系统?想必这是每一位初步学习c语言的同学需要解决的一个大问题.如何将这些数据类型不完全相同的数据元素存储并访问呢?采用结构体便能轻松解决这个问题! #include ...

  2. c++小项目:通讯录管理系统

    该项目非常适合新手c++的同学来做(当然也包括我),先看一个通讯录管理系统需要写什么东西. 学习于:https://www.bilibili.com/video/BV1et411b73Z?p=75(自 ...

  3. 教你如何用python实现学生通讯录管理系统

    这篇文章主要为大家详细介绍了python实现学生通讯录管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了python实现学生通讯录管理系统的具 ...

  4. android运用 sqlite 实现简单的通讯录_大一新生作品:利用 C 语言实现quot;通讯录管理系统quot;,直言太简单...

    说明: 本系统基于C语言实现班级通讯录管理系统,为大一时学习C语言刚入门所做的课程设计.功能包括增.删.查.改等,非常适合初学者练手.通讯录包括的个人信息有姓名.学号.性别.籍贯.政治面貌.手机号.Q ...

  5. 单位员工通讯录管理系统(线性表的应用)

    [问题描述] 为某个单位建立一个员工通讯录管理系统,可以方便查询每一个员工的办公室电话.手机号.及电子邮箱.其功能包括通讯录链表的建立.员工通讯信息的查询.修改.插入与删除.以及整个通讯录表的输出. ...

  6. 【黑马程序员 C++教程从0到1入门编程】【笔记2】通讯录管理系统

    黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难 文章目录 1.系统需求 2.创建项目 2.1 创建项目 3.菜单功能 4.退出功能 5.添加联系人 5.1 设计联系人结构体 5.2 设 ...

  7. c语言3级菜单_大一新生作品:利用 C 语言实现quot;通讯录管理系统quot;,直言太简单...

    说明: 本系统基于C语言实现班级通讯录管理系统,为大一时学习C语言刚入门所做的课程设计.功能包括增.删.查.改等,非常适合初学者练手.通讯录包括的个人信息有姓名.学号.性别.籍贯.政治面貌.手机号.Q ...

  8. python通讯录管理程序的用户可行性_通讯录管理系统项目可行性分析

    通讯录管理系统可行性 分析报告 一.可行性研究报告 .................................................................. 错 误!未定义 ...

  9. C++阶段02笔记【通讯录管理系统 完整代码(系统需求、创建项目、添加/显示/删除/查找/修改/清空)】

    C++| 匠心之作 从0到1入门学编程[视频+课件+笔记+源码] 目录 01.系统需求 02.创建项目 2.1 创建项目 2.2 添加文件 03.菜单功能 04.退出功能 05.添加联系人 5.1 设 ...

  10. 一个很Low的通讯录管理系统(但是能用)C/C++单链表实现

    通讯录管理系统的设计 问题需求分析 在计算机还未普及之前通讯管理都是由联系人采用名片,通讯录往往采用的是笔录手工记帐的方式来操作的.现在一般的通讯录管理都是采用计算机作为工具的实用的计算机通讯录管理程 ...

最新文章

  1. Servlet 3.0 新特性概述
  2. Linux内核网络设备驱动
  3. Jenkins+Jmeter持续集成笔记(四:定时任务和邮件通知)
  4. 大剑无锋之什么是死锁?【面试推荐】
  5. 【C/C++ 汇编语言 Verilog】越界截断——数据越界问题的多角度分析
  6. 《玩转掌上生活——手机网上生活达人秘笈》一1.2 迎接掌上生活
  7. 用计算机找到自己的另一半,如何找到自己的另一半
  8. 微分几何笔记(3) —— Frenet标架及Frenet方程组
  9. Loopback接口和Null接口配置
  10. java算法int型整数反转的另类解法
  11. 从上帝视角看进程调度
  12. 史上最全Android文件管理器技术方案细节
  13. 第十四届蓝桥杯模拟赛c++ 试题 I
  14. 欢迎进入GeekYang博客导航一站式搜索(所有博客的汇总帖)
  15. 喜讯 | 人大金仓荣获行业信息化领航企业奖
  16. 乘幂法计算矩阵主特征值和特征向量-Matlab实现
  17. 2.4.2 死锁的处理策略-预防死锁(破坏互斥条件、破坏不可剥夺条件、破坏请求和保持条件、破坏循环等待条件)
  18. [网络篇]ESP8266-SDK教程(三)之TCP通信Server-Client
  19. 【电影】英国男演员杠把子
  20. 常用字符编码及乱码分析

热门文章

  1. keil C51中初始化全局变量的“坑”
  2. TypeScript函数和类
  3. 制作席慕蓉的诗html,席慕容最经典的八首诗歌
  4. 梅科尔工作室-泽西-鸿蒙笔记4
  5. 关于一个用VB编写的PING工具的问题
  6. DBSCAN方法及其应用
  7. Shell语法(循环+文件读写)
  8. 关于CS1061报错(XX不包含XXX的定义,并且找不到类型为XX的第一个参.....)的一种可能的解决的办法
  9. 你发这些什么目的_在微信上,给你发这些消息的男人,他的意思很明显,就是想你了...
  10. shader变体是什么_Shader Variants 打包遇到的问题