基于php和mysqli写的网上书城
github地址 !bookstore欢迎star!
一.添加图书页 addbook.html
<h1>添加图书</h1>
书名:<input type="text" id="bookname"><br>
简洁:<input type="text" id="intro"><br>
作者:<input type="text" id="author"><br>
出版社:<input type="text" id="press"><br>
出版日期:<input type="text" id="presstime"><br>
价格:<input type="text" id="price"><br>
ISBN:<input type="text" id="ISBN"><br>
书籍图片:<input type="file" id="images"><br>
<button onclick="add()">添加</button>
js部分
function add(){
var bookname=$("#bookname").val();
var intro=$("#intro").val();
var author=$("#author").val();
var press=$("#press").val();
var presstime=$("#presstime").val();
var price=$("#price").val();
var ISBN=$("#ISBN").val();
var images=$("#images")[0].files[0];//?
var form = new FormData();
form.append('bookname',bookname);
form.append('intro',intro);
form.append('author',author);
form.append('press',press);
form.append('presstime',presstime);
form.append('price',price);
form.append('ISBN',ISBN);
form.append('images',images);
console.log(form);
$.ajax({
type:"post",
url:"../php/add.php",
data:form,
async:true,
dataType:"json",
processData:false,
contentType:false,
success:function(data){
//接收后台返还的信息
if(data.status==1){
console.log("添加成功");
}else{
console.log("添加失败");
}
}
});
}
后台add.php处理
//接收数据
$bookname= $_POST['bookname'];
$intro= $_POST['intro'];
$author= $_POST['author'];
$press= $_POST['press'];
$presstime= $_POST['presstime'];
$price= $_POST['price'];
$ISBN= $_POST['ISBN'];
$images= $_FILES['images']['name'];//获取图片名字
$tmpPath = $_FILES['images']['tmp_name']; //获取图片文件
$res1 = move_uploaded_file($tmpPath,"../images/{$images}");//原名上传到指定文件夹
//添加到数据库的函数
function add($sql){
$link = mysqli_connect("localhost","root","","book");//连接数据库
mysqli_query($link, "set names utf8");//转译数据库
$res = mysqli_query($link, $sql);//执行数据库
if($res){
return true;
}else{
return false;
}
}
$sql = "INSERT INTO books (bookname,intro,author,press,presstime,price,ISBN,images) VALUES ('$bookname','$intro','$author','$press','$presstime','$price','$ISBN','$images')";
$res = add($sql);
if($res){
$info['status'] = 1;
info['info'] = "添加成功";
}else{
$info['status'] = 0;
$info['info'] = "添加失败";
}
echo json_encode($info);
这时候数据库已经加入了你输入的信息了,在这一步操作中有一个亮点就是在add.php中先获取你的图片文件名字$images= $_FILES['images']['name'];
,然后获取图片文件$tmpPath = $_FILES['images']['tmp_name'];
,最后原名将图片上传至imagesmove_uploaded_file($tmpPath,"../images/{$images}");
现在数据库中已经有信息了
二.图书列表页,根据数据库书本展示页数index.php
<?php
function getlist($sql){
//连接数据库
$link=mysqli_connect("localhost","root","","book");
//设置编码格式
mysqli_query($link,"set names utf8");
//执行sql
$res=mysqli_query($link,$sql);
while($list = mysqli_fetch_assoc($res)){
$arr[] = $list;
}
return $arr;
}
$sql = "SELECT * FROM books";//检索数据库
$list = getlist($sql);//执行getlist()函数,返回数据库里所有的书本信息
$perPage = 6;//每页显示的个数
$totalCount=count($list);//数据库里书本的总数目
$pages=ceil($totalCount/$perPage);//显示的页数
if(empty($_GET['p'])){
$startPage = 0;
}else{
$startPage = ($_GET['p']-1)*$perPage;
}
$sql1 = "SELECT * FROM books LIMIT $startPage,$perPage";
$list1 = getlist($sql1);
?>
展示
<?php foreach($list1 as $k=> $v) {?>
<li>
<img src="../images/<?php echo $v['images']?>">
<a href="list.php?id=<?php echo $v['id']?>"><?php echo $v['bookname']?></a>
<div>
<span class="price"><?php echo $v['price']?></span>
<span class="btn">立即购买</span>
</div>
</li>
<?php }?>
分页
<?php
for($i=1;$i<=$pages;$i++){
echo "<li><a href='index.php?p={$i}'>".$i."</a></li>";
}
?>
三.点击书本进入书本详情页
在上面的代码中我们给了每个书本一个get请求,把书本的id给她了
<a href="list.php?id=<?php echo $v['id']?>"><?php echo $v['bookname']?></a>
点击书本时候给list一个get请求,现在请入list.php
<?php
include '../php/mysqli.php';
$id=$_GET['id'];
$sql="SELECT * FROM books WHERE id=$id";
$one=getlist($sql);//同理,检索那个id打印,返回$one
?>
展示
例如展示图片
<img src="../images/<?php echo $one[0]['images']?>">
其他同理
四.登陆注册页面
需求分析:1首先注册,添加到数据库,2登陆判断数据库是否有相同的名字和密码,如果有登陆成功否则失败,3再判断是否记住,如果记住,就种cookie,4注销的话就取消cookie和session
<h1>快速登录</h1>
<input type="text" id="username" placeholder="用户名" id="username">
<br>
<input type="text" id="pwd" placeholder="密码" id="pwd">
<br>
<input type='checkbox' id="rem"><p class="re">记住我?</p>
<br>
<input type="submit" onclick="sub()" value='登陆'>
<input type="submit" onclick="reg()" value="注册">
注册的ajax
function reg() {
var username = $("#username").val();
var pwd = $("#pwd").val();
$.ajax({
type: 'post',
url: '../php/reg.php',
async: true,
dataType: 'json',
data: {
username: username,
pwd: pwd,
},
success: function(data) {
//接收后台返还的信息
if (data.status == 1) {
console.log("添加成功");
} else {
console.log("添加失败");
}
}
})
}
reg的后台php
<?php
include '../php/mysqli.php';
print_r($_POST);
$username=$_POST['username'];
$pwd=$_POST['pwd'];
$sql="INSERT INTO reg (username,pwd) VALUES ('$username','$pwd')";
$res=add($sql);
if($res){
$info['status']=1;
}else{
$info['status']=0;
}
echo json_encode($info);
?>
登陆的ajax
function sub() {
var username = $("#username").val();
var pwd = $("#pwd").val();
var rem = document.getElementById("rem").checked;
if (rem) {
var value = '1';
}
console.log(username);
console.log(value);
$.ajax({
type: 'post',
url: '../php/sub.php',
async: true,
dataType: 'json',
data: {
username: username,
pwd: pwd,
value: value,
},
success: function(data) {
//接收后台返还的信息
console.log(data);
if (data.status == 1) {
console.log("添加成功");
window.location.reload();
} else {
console.log("添加失败");
}
},
error: function(error) {
console.log(error);
}
})
}
登陆的后台php
<?php
include '../php/mysqli.php';
$username=$_POST['username'];
$pwd=$_POST['pwd'];
$value=$_POST['value'];
$sql="SELECT * FROM reg WHERE username='$username' AND pwd='$pwd'";
$res=add($sql);
// print_r($sql);
// print_r($res);
if(!empty($res)){
$info['status']=1;
// 存session
session_start();
$_SESSION['username']=$username;
if($value[0]){
// 存cookie
setcookie('username',$username,time()+3600);
}
}else{
$info['status']=0;
}
echo json_encode($info);
?>
登陆注册主页
<?php
include '../php/mysqli.php';
session_start();
$_SESSION['test']="12345646";
if(!empty($_GET['out'])){
$res = setcookie("username","",0);
unset($_SESSION['username']);
if($res){
echo "销毁成功";
}else{
echo "销毁失败";
}
header("Location:login.php");
}
?>
注销
<?php
if(!empty($_SESSION['username'])){
echo "<li style='color: red'>".$_SESSION['username']." 欢迎你</li><li><a href='login.php?out=1' style='color:red'>注销</a></li>";
}
?>