实现网站用户的注册以及他的注册信息(列表显示)
doUserReg.php
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>处理注册信息</title>
</head>
<body>
<?php
var_dump($_FILES);
//文件名
$arr=explode(".",$_FILES["pic"]["name"]);//把原文件名切割
$ex=$arr[count($arr)-1];//获得扩展名
$fname=date("YmdHis").rand(100,999).".".$ex;
//获取信息
$un=$_POST["username"];
$pw=$_POST["password"];
$gender=$_POST["gender"];
//$hobby=implode(",",$_POST["hobby"]);
$email=$_POST["email"];
$birth=$_POST["birthdate"];
$con = mysqli_connect("localhost:3306","wsw","123","neuvideo") or die("连不上服务器");
mysqli_query($con,"set names utf8");
//判断用户是否存在,存在不用再注册
$sql="select * from users where uname='$un'";
$res=mysqli_query($con,$sql);
if (mysqli_num_rows($res)){
echo "<script>alert('该用户名已存在,请重新注册');
location.href='index.php';//从这个文件读取?????????
</script>";
}
move_uploaded_file($_FILES["pic"]["tmp_name"], "images/$fname");///////将上传的文件放到upload里
$sql="INSERT into users values(null,'$un',md5('$pw'),$gender,'$birth','$fname','$email')";//要和你users表的参数相对应
echo $sql;//测试,拷贝浏览器的sql语句,到数据库里执行
if (mysqli_query($con,$sql)){
echo "成功";
}else{
echo "失败";
}
?>
<table border="1" width="400px">
<tr>
<td>用户名</td>
<td><?php echo $_POST["username"]; ?></td>
</tr>
<tr>
<td>密码</td>
<td><?php echo $_POST["password"]; ?></td>
</tr>
<tr>
<td>性别</td>
<td><?php echo ($_POST["gender"]==0)?"男":"女"; ?></td>
</tr>
<tr>
<td>生日</td>
<td><?php echo $_POST["password"]; ?></td>
</tr>
<!-- <tr>-->
<!-- <td>爱好</td> -->
<!-- <td>--><?php //echo implode(",",$_POST["hobby"]); ?><!--</td>-->
<!-- </tr>-->
<tr>
<td>邮箱</td>
<td><?php echo $_POST["email"]; ?></td>
</tr>
<tr>
<td>头像</td>
<td><img src="images/<?php echo $fname; ?>" width="200px"></td>
</tr>
</table>
</body>
</html>
首页内容index.php
<?php
require_once('tpl/head.php');
include_once('./system/dbConn.php');
?>
<div class="container">
<!--幻灯片开始-->
<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
<li data-target="#carousel-example-generic" data-slide-to="1"></li>
<li data-target="#carousel-example-generic" data-slide-to="2"></li>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner">
<div class="item active">
<img src="assets/images/img4.jpg" class="img-responsive" alt="img4">
</div>
<div class="item">
<img src="assets/images/img2.jpg" class="img-responsive" alt="img2">
</div>
<div class="item">
<img src="assets/images/img3.jpg" class="img-responsive" alt="img3">
</div>
</div>
<!-- Controls -->
<a class="left carousel-control" href="#carousel-example-generic" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span>
</a>
<a class="right carousel-control" href="#carousel-example-generic" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span>
</a>
</div>
<!--幻灯片结束-->
<div class="row row-offcanvas row-offcanvas-right">
<div class="col-xs-12 col-sm-9">
<div class="row text-center">
<div class="col-xs-12 col-lg-12 mlist">
<h2>栏目名称</h2>
<ul class="list-inline row text-center">
<li class="col-xs-4 col-sm-3 col-lg-2">
<img src="assets/images/img1.jpg" class="responsive img-thumbnail"/>
<p><a href="show.php">视频标题</a>
</p>
</li>
<li class="col-xs-4 col-sm-3 col-lg-2">
<img src="assets/images/img1.jpg" class="responsive img-thumbnail"/>
<p><a href="show.php">视频标题</a>
</p>
</li>
</ul>
<p><a class="btn btn-default" href="list.html" role="button">更多 »</a></p>
</div>
<!--/.col-xs-6.col-lg-4-->
</div>
<!--/row-->
</div>
<!--/.col-xs-12.col-sm-9-->
<div class="col-xs-6 col-sm-3 sidebar-offcanvas" id="sidebar">
<div class="list-group text-center">
<h2 style="color:white;" >排行</h2>
<ul class="list-inline row text-center">
<li class="col-xs-12 col-lg-6">
<img src="assets/images/img1.jpg" class="responsive img-thumbnail"/>
<p><a href="show.php">视频标题</a>
</p>
</li>
<li class="col-xs-12 col-lg-6">
<img src="assets/images/img1.jpg" class="responsive img-thumbnail"/>
<p><a href="show.php">视频标题</a>
</p>
</li>
</ul>
</div>
</div>
<!--/.sidebar-offcanvas-->
</div>
<!--/row-->
</div>
<!--/.container-->
<?php
require_once('tpl/foot.php');
?>
其中还加载了三个文件
require_once(‘tpl/foot.php’);
require_once(‘tpl/head.php’);
include_once(’./system/dbConn.php’);
dbConn.php指定打开的数据库的信息还有连接mysql
<?php
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PWD', '');
define('DB_CHARSET', 'UTF8');
define('DB_DBNAME', 'neuvideo');
function connect (){
//连接mysql
// $con = mysqli_connect("localhost:3306","wsw","123","neuvideo") or die("连不上服务器");
$link=mysqli_connect(DB_HOST,DB_USER,DB_PWD,DB_DBNAME) or die ('数据库连接失败<br/>ERROR '.mysqli_errno().':'.mysqli_error());
//设置字符集
mysqli_set_charset($link,DB_CHARSET);
//打开指定的数据库
// mysql_select_db(DB_DBNAME) or die('指定的数据库打开失败'.mysql_error());
return $link;
}
?>
tpl/head.php
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
<title>视频信息管理系统</title>
<!-- Bootstrap core CSS -->
<link href="assets/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="assets/css/offcanvas.css" rel="stylesheet">
<link href="assets/css/style.css" rel="stylesheet">
<!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
<!--[if lt IE 9]>
<script src="assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
<script src="assets/js/ie-emulation-modes-warning.js"></script>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="http://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="http://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<nav class="navbar navbar-fixed-top navbar-default">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li><a href="index.php">首页</a></li>
<li><a href="list.php">电影</a></li>
<li><a href="list.php">电视剧</a></li>
<li><a href="list.php">动画片</a></li>
<li><a href="list.php">体育</a></li>
</ul>
<form class="navbar-form navbar-left" role="search" action="search.html">
<div class="form-group">
<input type="text" class="form-control" placeholder="Search">
</div>
<button type="submit" class="btn btn-default">搜索</button>
</form>
<ul class="nav navbar-nav navbar-right">
<!-- 模态框-->
<li><a href="#" data-toggle="modal" data-target="#login">登录</a></li>
<li><a href="#" data-toggle="modal" data-target="#reg">注册</a></li>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
<!-- /.navbar -->
<!-- /注册模态框 -->
<div class="modal fade" id="reg" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">registration</h4>
</div>
<div class="modal-body">
<form method="post" action="doUserReg.php" enctype="multipart/form-data" class="form-horizontal">
<div class="form-group">
<label for="exampleInputUserName" class="col-md-2 control-label">用户</label>
<div class="col-md-10">
<input type="text" name="username" class="form-control" id="exampleInputUserName" placeholder="姓名" required="">
</div>
</div>
<div class="form-group">
<label for="exampleInputPassword" class="col-md-2 control-label">密码</label>
<div class="col-md-10">
<input type="password" name="password" class="form-control" id="exampleInputPassword" placeholder="密码" required="">
</div>
</div>
<div class="form-group">
<label class="col-md-2 control-label">性别</label>
<div class="col-md-10">
<label class="radio-inline">
<input type="radio" name="gender" value="0" checked=""> 男
</label>
<label class="radio-inline">
<input type="radio" name="gender" value="1"> 女
</label>
</div>
</div>
<div class="form-group">
<label for="exampleInputBirth" class="col-md-2 control-label">生日</label>
<div class="col-md-10">
<input type="date" name="birthdate" class="form-control" id="exampleInputBirth" placeholder="生日" required="">
</div>
</div>
<div class="form-group">
<label for="exampleInputFile" class="col-md-2 control-label">头像</label>
<div class="col-md-10">
<input type="file" name="pic" id="exampleInputFile" required="">
</div>
</div>
<div class="form-group">
<label for="exampleInputEmail" class="col-md-2 control-label">电子邮件</label>
<div class="col-md-10">
<input type="email" name="email" class="form-control" id="exampleInputEmail" placeholder="常用邮箱" required="">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<input type="submit" class="btn btn-default" value="注册">
<input type="reset" class="btn btn-default" value="重置">
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" onclick="location.replace('index.php')" data-dismiss="modal">关闭</button>
</div>
</div>
</div>
</div>
<!-- /注册模态框结束 -->
<!-- /登录模态框开始 -->
<div class="modal fade" id="login" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">user login</h4>
</div>
<div class="modal-body">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" onclick="location.replace('index.php')" data-dismiss="modal">关闭</button>
</div>
</div>
</div>
</div>
<!-- /登录模态框结束 -->
foot.php
<hr>
<footer>
<p>视频网站© PHP应用开发课程 2016-2017</p>
</footer>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="assets/js/ie10-viewport-bug-workaround.js"></script>
<script src="offcanvas.js"></script>
</body>
</html>
展示在注册后的用户注册信息的列表userlist.php
注意:这里和你数据库中的设置的字段名有关
打开数据库
之前连接mysql的时候已经找到DB_DBNAME
userlist.php
<?php
require_once('tpl/header.php');
?>
<form action="">
请输入用户名:
<input type="text" name="key">
<input type="submit" value="搜索">
</form>
<?php
//调用连接数据库函数,返回值是连接号
$con = connect();
$sql = "select * from users ORDER BY uid DESC ";//sql语句
$rs = mysqli_query($con,$sql);
$num = mysqli_num_rows($rs);
?>
<table class="table table-hover">
<caption>共有 <?php
echo $num;
?>
名用户</caption>
<tr>
<th>用户编号</th>
<th>用户名</th>
<th>性别</th>
<th>生日</th>
<th width='80'>头像</th>
<th>电子邮件</th>
<th>操作</th>
</tr>
<?php
$i=0;
while ($row = mysqli_fetch_array($rs)){//
?>
<tr>
<td><?php echo ++$i;//先加 后打印?></td>
<td><?php echo $row["uname"];?></td>
<td><?php
echo ($row["gender"]==0)?"男":"女"
?></td>
<td>
<?php
echo $row["birthdate"]
?></td>
<td><img src="../images/<?php echo $row["pic"];?>" width=60 height=60 title= alt=""></td>
<td><?php
echo $row["email"]
?></td>
<td><a href="userEdit.php?uid=183">修改</a> | <a href="userDelete.php?uid=183">删除</a></td>
</tr>
<?php
} ?>
</table>
<?php
require_once('tpl/footer.php');
?>
需要注意就是图片的路径问题,我弄错了好多次
$frame——图片名是产生的随机数
注册——头像放置的位置,在images中
现在试一下
注册成功之后跳到doUserReg显示信息
在userlist中查看是否数据库中有注册的信息
可以看到和我们输入的信息是一致的
完善修改和删除
完成这两个功能
- 搜索
if (isset($_GET["key"])){
$k=$_GET["key"];
$sql = "select * from users WHERE uname LIKE '%$k%'ORDER BY uid DESC ";//sql语句
}
- 删除
$sql="delete from users WHERE uid = $uid";
- 有上传头像(图片)就要找到存放图片的文件夹,文件名,来删除该图片
- 修改的列表中有性别gender,生日birthdate,邮箱email可以修改
流程
从index.php文件中进入首页,注册按钮展示要填写的信息doUserReg.php。然后再打开管理员分页面查看用户的列表userList.php,在这个页面进行修改和删除用户信息。
此外还增加了功能的php文件:
- userDelete.php删除用户
- userEdit.php编辑用户
- userUpdate.php修改用户
index.php
<?php
require_once('tpl/head.php');
include_once('./system/dbConn.php');
?>
<div class="container">
<!--幻灯片开始-->
<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
<li data-target="#carousel-example-generic" data-slide-to="1"></li>
<li data-target="#carousel-example-generic" data-slide-to="2"></li>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner">
<div class="item active">
<img src="assets/images/img4.jpg" class="img-responsive" alt="img4">
</div>
<div class="item">
<img src="assets/images/img2.jpg" class="img-responsive" alt="img2">
</div>
<div class="item">
<img src="assets/images/img3.jpg" class="img-responsive" alt="img3">
</div>
</div>
<!-- Controls -->
<a class="left carousel-control" href="#carousel-example-generic" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span>
</a>
<a class="right carousel-control" href="#carousel-example-generic" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span>
</a>
</div>
<!--幻灯片结束-->
<div class="row row-offcanvas row-offcanvas-right">
<div class="col-xs-12 col-sm-9">
<div class="row text-center">
<div class="col-xs-12 col-lg-12 mlist">
<h2>栏目名称</h2>
<ul class="list-inline row text-center">
<li class="col-xs-4 col-sm-3 col-lg-2">
<img src="assets/images/img1.jpg" class="responsive img-thumbnail"/>
<p><a href="show.php">视频标题</a>
</p>
</li>
<li class="col-xs-4 col-sm-3 col-lg-2">
<img src="assets/images/img1.jpg" class="responsive img-thumbnail"/>
<p><a href="show.php">视频标题</a>
</p>
</li>
</ul>
<p><a class="btn btn-default" href="list.html" role="button">更多 »</a></p>
</div>
<!--/.col-xs-6.col-lg-4-->
</div>
<!--/row-->
</div>
<!--/.col-xs-12.col-sm-9-->
<div class="col-xs-6 col-sm-3 sidebar-offcanvas" id="sidebar">
<div class="list-group text-center">
<h2 style="color:white;" >排行</h2>
<ul class="list-inline row text-center">
<li class="col-xs-12 col-lg-6">
<img src="assets/images/img1.jpg" class="responsive img-thumbnail"/>
<p><a href="show.php">视频标题</a>
</p>
</li>
<li class="col-xs-12 col-lg-6">
<img src="assets/images/img1.jpg" class="responsive img-thumbnail"/>
<p><a href="show.php">视频标题</a>
</p>
</li>
</ul>
</div>
</div>
<!--/.sidebar-offcanvas-->
</div>
<!--/row-->
</div>
<!--/.container-->
<?php
require_once('tpl/foot.php');
?>
页面点击“注册”按钮的弹框
tpl/head.php
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
<title>视频信息管理系统</title>
<!-- Bootstrap core CSS -->
<link href="assets/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="assets/css/offcanvas.css" rel="stylesheet">
<link href="assets/css/style.css" rel="stylesheet">
<!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
<!--[if lt IE 9]>
<script src="assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
<script src="assets/js/ie-emulation-modes-warning.js"></script>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="http://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="http://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<nav class="navbar navbar-fixed-top navbar-default">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li><a href="index.php">首页</a></li>
<li><a href="list.php">电影</a></li>
<li><a href="list.php">电视剧</a></li>
<li><a href="list.php">动画片</a></li>
<li><a href="list.php">体育</a></li>
</ul>
<form class="navbar-form navbar-left" role="search" action="search.html">
<div class="form-group">
<input type="text" class="form-control" placeholder="Search">
</div>
<button type="submit" class="btn btn-default">搜索</button>
</form>
<ul class="nav navbar-nav navbar-right">
<!-- 模态框-->
<li><a href="#" data-toggle="modal" data-target="#login">登录</a></li>
<li><a href="#" data-toggle="modal" data-target="#reg">注册</a></li>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
<!-- /.navbar -->
<!-- /注册模态框 -->
<div class="modal fade" id="reg" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">registration</h4>
</div>
<div class="modal-body">
<form method="post" action="doUserReg.php" enctype="multipart/form-data" class="form-horizontal">
<div class="form-group">
<label for="exampleInputUserName" class="col-md-2 control-label">用户</label>
<div class="col-md-10">
<input type="text" name="username" class="form-control" id="exampleInputUserName" placeholder="姓名" required="">
</div>
</div>
<div class="form-group">
<label for="exampleInputPassword" class="col-md-2 control-label">密码</label>
<div class="col-md-10">
<input type="password" name="password" class="form-control" id="exampleInputPassword" placeholder="密码" required="">
</div>
</div>
<div class="form-group">
<label class="col-md-2 control-label">性别</label>
<div class="col-md-10">
<label class="radio-inline">
<input type="radio" name="gender" value="0" checked=""> 男
</label>
<label class="radio-inline">
<input type="radio" name="gender" value="1"> 女
</label>
</div>
</div>
<div class="form-group">
<label for="exampleInputBirth" class="col-md-2 control-label">生日</label>
<div class="col-md-10">
<input type="date" name="birthdate" class="form-control" id="exampleInputBirth" placeholder="生日" required="">
</div>
</div>
<div class="form-group">
<label for="exampleInputFile" class="col-md-2 control-label">头像</label>
<div class="col-md-10">
<input type="file" name="pic" id="exampleInputFile" required="">
</div>
</div>
<div class="form-group">
<label for="exampleInputEmail" class="col-md-2 control-label">电子邮件</label>
<div class="col-md-10">
<input type="email" name="email" class="form-control" id="exampleInputEmail" placeholder="常用邮箱" required="">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<input type="submit" class="btn btn-default" value="注册">
<input type="reset" class="btn btn-default" value="重置">
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" onclick="location.replace('index.php')" data-dismiss="modal">关闭</button>
</div>
</div>
</div>
</div>
<!-- /注册模态框结束 -->
<!-- /登录模态框开始 -->
<div class="modal fade" id="login" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">user login</h4>
</div>
<div class="modal-body">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" onclick="location.replace('index.php')" data-dismiss="modal">关闭</button>
</div>
</div>
</div>
</div>
<!-- /登录模态框结束 -->
表单页面完善之后,点击注册,会跳到doUserReg.php展示
再打开userlist.php文件查看是否有刚才注册的用户展示在列表中
现在看一下怎么删除用户
首先连接数据库
dbConn.php
<?php
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PWD', '');
define('DB_CHARSET', 'UTF8');
define('DB_DBNAME', 'neuvideo');
function connect (){
//连接mysql
// $con = mysqli_connect("localhost:3306","wsw","123","neuvideo") or die("连不上服务器");
$link=mysqli_connect(DB_HOST,DB_USER,DB_PWD,DB_DBNAME) or die ('数据库连接失败<br/>ERROR '.mysqli_errno().':'.mysqli_error());
//设置字符集
mysqli_set_charset($link,DB_CHARSET);
//打开指定的数据库
// mysql_select_db(DB_DBNAME) or die('指定的数据库打开失败'.mysql_error());
return $link;
}
?>
myFunc.php
自定义函数,在每次操作之后会弹出这个空白页加上链接,延迟3s,也可以点击a链接直接回到url的地址
<!-- myFunc.php -->
<?php
//自定义函数,输入提示信息,并在3秒后自动跳转到指定页面
function redirect($url, $msg)
{
echo $msg.'<a href="'.$url.'">如果没有跳转,请点这里跳转</a>';
header("refresh:3;url=$url");
}
?>
inc_admin.php
<?php
define('UserPhotoPath','../images/'); //用户头像存放的路径
define('PosterPicturePath','../posters/');//存放视频海报图片的路径
require_once('../system/myFunc.php');
require_once('../system/dbConn.php');
?>
现在看删除的功能
userDelete.php
- $sql=“select pic from users WHERE uid = $uid”;
- $sql=“delete from users WHERE uid = $uid”;删除键key就会删除该列表项
<?php
require('inc_admin.php');
//链接mysql
$con=connect();
$uid=$_GET["uid"];
$sql="select pic from users WHERE uid = $uid";
$rs = mysqli_query($con,$sql);
$row=mysqli_fetch_array($rs);
//var_dump($row);//打印图片的编号
//exit;
$pic =$row["pic"];
if (file_exists("../images/$pic"))
unlink("../images/$pic");
$sql="delete from users WHERE uid = $uid";
$rs = mysqli_query($con,$sql);
//可以显示删除成功
//返回到userlist
//header("location:userlist.php");
// //自定义函数,输入提示信息,并在3秒后自动跳转到指定页面
if ($rs)
redirect("userlist.php","删除成功!");
else
redirect("userlist.php","删除失败!");
//删除头像——文件夹文件名
?>
点击删除按钮
列表中之前的那个用户就被删除了
现在看编辑用户信息
- enctype=“multipart/form-data”:不对字符编码。在使用包含文件上传控件的表单时,必须使用该值。
<input type="hidden" name="uid" value="<?php echo $uid;?>">
<input type="text" class="form-control" id="username" readonly="readonly" name="uname"
value="<?php echo $row["uname"];?>">
<input type="radio" name="gender" value="0"
<?php if ($row["gender"]==0) echo "checked";?>>男
<input type="radio" name="gender" value="1" <?php if ($row["gender"]==1) echo "checked";?>>女
<input type="date" name="birthdate" class="form-control" value="
<?php echo $row["birthdate"];?>">
<input type="file" name="pic">原头像:<img src="../images/<?php echo $row["pic"]; ?>"width="80px" height="80px" class="img-circle">
<input type="email" name="email" class="form-control" value="
<?php echo $row["email"]; ?>">
<?php
require_once ("tpl/header.php");
$con=connect();
$uid=$_GET["uid"];
$sql="select * from users WHERE uid = $uid";
$rs = mysqli_query($con,$sql);
$row=mysqli_fetch_array($rs);
?>
<!--链接或表单来传参-->
<h3>请修改用户信息</h3>
<form method="post" class="form-horizontal" action="userUpdate.php" enctype="multipart/form-data">
<input type="hidden" name="uid" value="<?php echo $uid;// enctype="multipart/form-data"注意书写
?>">
<div class="form-group">
<label for="username" class="col-md-2 col-xs-2 control-label">用户名</label>
<div class="col-md-10 col-xs-10">
<input type="text" class="form-control" id="username" readonly="readonly" name="uname" value="<?php echo $row["uname"];
?>">
</div>
</div>
<div class="form-group">
<label class="col-md-2 col-xs-2 control-label">性别</label>
<div class="col-md-10 col-xs-10">
<label class="radio-inline">
<input type="radio" name="gender" value="0"
<?php
if ($row["gender"]==0)
echo "checked";
?>>男</label>
<label class="radio-inline">
<input type="radio" name="gender" value="1" <?php
if ($row["gender"]==1)
echo "checked";
?>>女</label>
</div>
</div>
<div class="form-group">
<label class="col-md-2 col-xs-2 control-label">生日</label>
<div class="col-md-10 col-xs-10">
<input type="date" name="birthdate" class="form-control" value="<?php echo $row["birthdate"];
?>">
</div>
</div>
<div class="form-group">
<label class="col-md-2 col-xs-2 control-label">头像</label>
<div class="col-md-10 col-xs-10">
<input type="file" name="pic">
原头像:<img src="../images/<?php echo $row["pic"];
?>" width="80px" height="80px" class="img-circle">
</div>
</div>
<div class="form-group">
<label class="col-md-2 col-xs-2 control-label">电子邮件</label>
<div class="col-md-10 col-xs-10">
<input type="email" name="email" class="form-control" value="<?php echo $row["email"];
?>">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10 col-xs-10">
<input type="submit" class="btn btn-default" value="更新">
</div>
</div>
</form>
<!-- Bootstrap core JavaScript
<SCRIPT src="assets/jquery.min.js" type="text/javascript"></SCRIPT>
<?php
require_once ("tpl/footer.php");
?>
注意:不能在localhost中查看userEdit,要在userlist中点击修改
每个userEdit.php中在点击修改按钮的时候跳转之后会生成个uid这就是键值
tpl/footer.php
</DIV></DIV></DIV><!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<SCRIPT src="assets/jquery.min.js" type="text/javascript"></SCRIPT>
<SCRIPT src="assets/bootstrap.min.js" type="text/javascript"></SCRIPT>
<!-- Just to make our placeholder images work. Don't actually copy the next line! -->
<SCRIPT src=""></SCRIPT>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<SCRIPT src=""></SCRIPT>
<SCRIPT type="text/javascript">
$(document).ready(function(){
$('[data-toggle="offcanvas"]').click(function () {
$('.row-offcanvas').toggleClass('active')
});
$("#selAll").click(function(){
$(".lists :checkbox").not(':disabled').prop("checked", true);
});
$("#unSelAll").click(function () {
$(".lists :checkbox").not(':disabled').prop("checked", false);
});
$("#reverSel").click(function () {
//遍历.lists下的 checkbox;
$(".lists :checkbox").not(':disabled').each(function () {
$(this).prop("checked", !$(this).prop("checked"));
});
});
$("#doDel").click(function () {
//遍历.lists下的 checkbox;
if($(".lists :checked").length==0){
alert("至少选择一项!");
return false;
}
$("#action").val("dels");
});
$("#doCheck").click(function () {
$("#action").val("checks");
});
$("#listorder").click(function () {
$(".lists :checkbox").not(':disabled').prop("checked", true);
$("#action").val("listorder");
});
$("#rec_pos").click(function () {
$("#action").val("rec_pos");
});
$("#ug").click(function () {
$("#action").val("ug");
});
});
</SCRIPT>
</BODY></HTML>
现在看修改
- $con=connect();//连接数据库
- 获取信息
$uid=$_POST["uid"];
$gender=$_POST["gender"];
$email=$_POST["email"];
$birth=$_POST["birthdate"];
- 判断参数是否传入
这里多讲一点——$FILE函数
使用:
<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
<input name="myFile" type="file">
<input type="submit" value="上传文件">
</form>
然后upload.php中可以直接用
$_FILES
$_POST
$_GET
等函数获取表单内容。当客户端提交后,我们获得了一个$_FILES 数组
$_FILES['myFile']['name'] //客户端文件的原名称。
$_FILES['myFile']['type'] //文件的 MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。
$_FILES['myFile']['size'] //已上传文件的大小,单位为字节。
$_FILES['myFile']['tmp_name'] //文件被上传后在服务端储存的临时文件名,一般是系统默认。可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函数设置是不起作用的。
$_FILES['myFile']['error'] //和该文件上传相关的错误代码。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的说明:(它们在PHP3.0以后成了常量)
UPLOAD_ERR_OK //值:0; 没有错误发生,文件上传成功。
UPLOAD_ERR_INI_SIZE //值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
UPLOAD_ERR_FORM_SIZE //值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
UPLOAD_ERR_PARTIAL //值:3; 文件只有部分被上传。
UPLOAD_ERR_NO_FILE
值:4; 没有文件被上传。
值:5; 上传文件大小为0.
文件被上传结束后,默认地被存储在了临时目录中,这时您必须将它从临时目录中删除或移动到其它地方,如果没有,则会被删除。也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。所以在删除之前要用PHP的 copy() 函数将它复制到其它位置,此时,才算完成了上传文件过程。
//修改的sql语句
$sql="update users set email = '$email',gender='$gender',birthdate='$birth',pic='$fname' WHERE uid=$uid";
- 执行——修改命令
$sql="update users set email = '$email',gender='$gender',birthdate='$birth',pic='$fname' WHERE uid=$uid";
完整修改的代码userUpdate.php
<?php
require('inc_admin.php');
$con=connect();//连接数据库
//获取信息
$uid=$_POST["uid"];
$gender=$_POST["gender"];
$email=$_POST["email"];
$birth=$_POST["birthdate"];
//判断参数是否传入
if ($_FILES["pic"]["error"]==4){//没有上传
$sql="update users set email = '$email',gender='$gender',birthdate='$birth' WHERE uid=$uid";
}else{
//文件名
$arr=explode(".",$_FILES["pic"]["name"]);//把原文件名切割
$ex=$arr[count($arr)-1];//获得扩展名
$fname=date("YmdHis").rand(100,999).".".$ex;
move_uploaded_file($_FILES["pic"]["tmp_name"], "..images/$fname");///////将上传的文件放到upload里
$sql="update users set email = '$email',gender='$gender',birthdate='$birth',pic='$fname' WHERE uid=$uid";
}
//执行
$rs=mysqli_query($con,$sql);
redirect("userlist.php","修改成功!");
?>
除了用户名其他都可以修改
原来:
现在修改成功