第一步:PHP连接MySQL服务器
第三步:设置MySQL请求或返回数据的字符集
第四步:执行各种SQL语句
l 查询SQL语句:mysql_query(“SELECT * FROM 007_news WHERE id<100”)
l 删除SQL语句:mysql_query(“DELETE FROM 007_news WHERE id=100”)
l 更新SQL语句:mysql_query(“UPDATE 007_news SET hits = hits+1 WHERE id = 100”)
l 插入SQL语句:mysql_query(“INSERT INTO 007_news(title,content) VALUES(‘标题’ , ‘内容’)”)
第五步:从结果集读取一条记录
l mysql_fetch_row($result):从结果集读取一条数据,以枚举数组返回。
l mysql_fetch_array($result,MYSQL_BOTH):从结果集读取一条数据,以混合数组返回。
l mysql_fetch_assoc($result):从结果集读取一条数据,以关联数组返回。
用户登录模块
1、管理员数据表——007_admin
username:用户名称
password:用户密码,是加过密的。
name:真实姓名
tel:联系电话
lastloginip:最后登录的IP地址
lastlogintime:最登录的时间。
loginhits:登录的总次数
status:账号状态,1启用,0停用。
addate:账号创建日期
2、登录流程图
3、登录主要代码
//***************************用户登录检查**************************
//连接MySQL数据库
include "conn.php";
//判断表单是否提交
if(isset($_POST["ac"]) && $_POST["ac"]=="login")
{
//获取表单提交数据
$username = $_POST["username"];
$password = md5($_POST["password"]);
//构建要查询的SQL语句
$sql = "SELECT * FROM 007_admin WHERE username=‘$username‘ and password=‘$password‘";
//执行SQL语句
$result = mysql_query($sql);
//获取结果集中的记录条数
$records = mysql_num_rows($result);
//判断是否找到匹配
if($records)
{
//如果找到匹配
//获取相关变量信息
$lastloginip = $_SERVER["REMOTE_ADDR"];
$lastlogintime = time();
//构建更新的SQL语句
$sql = "UPDATE 007_admin SET lastloginip=‘$lastloginip‘,lastlogintime=$lastlogintime,loginhits=loginhits+1 WHERE username=‘$username‘";
//执行SQL语句
mysql_query($sql);
//跳转到成功页面
$url = "manage.php";
$message = urlencode("用户登录成功!");
header("location:success.php?url=$url&message=$message");
}else
{
//如果没有找到匹配
$message = urlencode("用户名或密码不正确!");
header("location:error.php?message=$message");
}
}else
{
//如果非法操作
$message = urlencode("非法操作");
header("location:error.php?message=$message");
}
?>
新闻内容模块
1、数据表
DEDECMS、帝国CMS、discuz!、ecshop
cat新闻类型
title新闻标题
author发布人员
source来源
keywords:网页关键字
description:网页描述
orderby:排序
content:内容
hits:单击率
addate:发布时间
2、文件结构
5、修改新闻
(1)先读取指定id的数据,并写入对应的表单输入框中。
(2)照着原数据进行修改,然后单击提交表单。
5、修改新闻
(1)先读取指定id的数据,并写入对应的表单输入框中。
(2)照着原数据进行修改,然后单击提交表单。
//***********************修改新闻****************************
//连接MySQL数据库
include "conn.php";
//判断表单是否提交
if(isset($_POST["ac"]) && $_POST["ac"]=="edit")
{
//获取表单提交数据
$cat = $_POST["cat"];
$title = $_POST["title"];
$author = $_POST["author"];
$source = $_POST["source"];
$orderby = $_POST["orderby"];
$keywords = $_POST["keywords"];
$description= $_POST["description"];
$content = $_POST["content"];
$id = $_POST["id"];
//构建修改的SQL语句
$sql = "UPDATE 007_news SET cat=$cat,title=‘$title‘,author=‘$author‘,source=‘$source‘,orderby=$orderby,keywords=‘$keywords‘,description=‘$description‘,content=‘$content‘ WHERE id=$id";
//执行SQL语句
if(mysql_query($sql))
{
//如果执行成功,则跳转到success.php页面
$url = "manage.php";
$message = urlencode("记录修改成功!");
echo "<script>location.href=‘success.php?url=$url&message=$message‘</script>";
exit();
}
}else
{
//获取地址栏传递的id
$id = $_GET["id"];
//构建查询SQL语句
$sql = "SELECT * FROM 007_news WHERE id=$id";
//执行SQL语句
$result = mysql_query($sql);
//取出一条记录
$arr = mysql_fetch_assoc($result);
}
6、分页原理
在线HTML编辑器:kindeditor、FCKeditor
将editor文件直接“复制”到day21目录即可。
在需要的编辑器的页面,引入如下文件:
<script charset="utf-8" src="js/editor/kindeditor-min.js"></script>
<script charset="utf-8" src="js/editor/lang/zh_CN.js"></script>
<script>
//加入在线编辑器
var editor;
KindEditor.ready(function(K) {
//在当前网页中,查找<textarea name = ‘content’></textarea>,并替换成kindeditor编辑器。
editor = K.create(‘textarea[name="content"]‘, {
allowFileManager : true //是否允许上传文件
});
});
</script>
<textarea id="content" name="content" style="width:100%;height:300px; "></textarea>
md5()
l 描述:计算字符串的 MD5 散列值
l 语法:string md5 ( string $str )
l 说明:以 32 字符十六进制数字形式返回散列值。
l 注意:md5的加密算法不再安全了。
l 举例:md5(“123456”) = e10adc3949ba59abbe56e057f20f883e
mysql_num_rows()
l 描述:获取结果集中的记录条数。
l 语法:int mysql_num_rows ( resource $result )
l 说明:此命令仅对 SELECT 语句有效
$_SERVER
描述:获取服务器执行环境信息。
$_SERVER[“REMOTE_ADDR”] //客户端的IP地址
$_SERVER[“SERVER_ADDR”] //服务器端的IP地址