既之前的基础,先写个简单的PHP 与数据库 的数据交流
程序分三个板块,
现在先不用 css 和 javascript 先用纯 html php 写吧。 所以那些 嵌入式 <font size=.... 什么的看看就算了,不推荐如此使用。
为了纪念第一个所谓的程序,遂贴上代码
PHP 对MySQL 的处理,之前一直用 过程方法描述,如$resul = mysql_select_db($db_name);得到的一直是一堆堆警告信息,结果与数据库联系异常...
最后改成了 用面向对象的方式, $result = $conn -> select_db($db_name); 姑且可以用了....
不过用面向对象的方法还不是很熟练...要多练...
最后页面表示如此..
提交之前
提交之后
然后就是一大堆的 下一页下一页咯....
主要实现过程:
第一 :主页面 显示留言内容以及链接处理。
php 格式文件动态网页,进入时马上与数据库连接,并获取数据库中数据表对应数据。
采用分页管理,页数随数据库中留言内容数量决定。
有“ 我要留言” 与 “管理员" 两项, 前者可留言,后者可对留言板进行删除等操作。
<html>
<head>
<meta http-equiv="Conten-type" content="text/html"; charset="gb2312">
<title> 留言板..</title>
</head>
<body>
<div align="center"><font face="黑体"><h2>PHP--connect--MySQL--【留言板】</h2></font></div>
<?php
include "counter.php";
echo "<br><br><br>";
$conn = mysqli_connect("localhost","root","my_passwd");
/*
$db_name = "tools";
$db_name1 = "money";
$command = "create database man";
$command1 = "drop database if exists ".$db_name1;
$re = $conn -> query($command);
if(!$re)
{
echo "建立--失败<br>".mysqli_error($conn);
echo "<br>";
}
*/
$conn-> select_db("Guest_book");
$conn -> query("set names gb2312"); $pageSize = 2;
//@ 为了禁止此语句报错..总是出错...
@ $pageNum = $_GET['pageNum'];
if($pageNum==NULL) $pageNum = 1;
$re1 = $conn ->query("select count(*) from contents");
$re =$re1 -> fetch_row() ; // mysqli_fetch_row($re1);
$totalcount = $re[0];
$exec = "select * from contents limit ".(($pageNum -1) * $pageSize);
$result = $conn ->query($exec);
$flag = true;
while($re = $result->fetch_object())
{
$global["flag"] = false;
echo "<table><tr><td>姓名:".$re->name."</td></tr>";
echo "<tr><td>留言:".$re->content."</td></tr></table><br>";
echo "************************************************************************************";
echo "<br>";
}
if($flag==true)
echo "请点击下一页 ~~<br> <br>"; if($pageNum > 1)
{
echo "<a href=test.php?pageNum=".($pageNum-1).">前一页 </a>";
}
else
echo "前一页 ";
if($pageNum < $totalcount / $pageSize)
{
echo "<a href=test.php?pageNum=".($pageNum+1).">下一页</a>";
}
else
echo "下一页";
?>
<div align="center"><a href="message_post.html" target="_blank">
<font size="+2" face="楷体"><p>我要留言</p></font></a></div>
<div align = "center"><a href="admin_login.html" target="_blank">
<font size="+1" face="楷体" >留言板管理</font></a></div>
</body>
</html>
同时网页上有计数器,可直接计算,通过本地文件读取,或者也可以数据库交换数据(用 counter.php 文件管理)
<?php
function counter1(){
$five = '00000';
$four = '0000';
$three = '000';
$two= '00';
$one = '0';
$counters = 'record.dat';
if(!file_exists($counters))
{
$counter = fopen($counters,w);
fputs($counter,0);
fclose($counter);
}
else{
$fp = fopen($counters,'r+');
$num = fgets($fp,'1024');
$num = $num + 1;
if($num <10)
print '$five'.$num;
else if($num <100)
print $four.$num;
else if($num <1000)
print $three.$num;
else if($num <10000)
print $two.$num;
else if($num <100000)
print $one.$num;
else print $num;
$fp = fopen($counters,'w');
fputs($fp,$num);
fclose($fp);
}
}
?>
<html><head><body>
<font size="6" face="楷体">
访问者之 -----
</font>
<b>
<font size="9" face="verdana" color="#aacc00">
<?php counter1() ?>
</font>
</b>
<font size="6" face="楷体"> -----</font></body>
</head></html>
二 留言 并 将数据存入数据库
其实就是简单的数据更新
<?php
$name = $_POST['user'];
$content = $_POST['post_content'];
$conn = mysqli_connect("localhost","root","Empty_");
if(!$conn) echo "连接数据库失败<br><br>";
else echo "连接数据库成功<br><br>"; $conn->query("set names gb2312");
$conn->select_db("guest_book");
$exec = "insert into contents (name,content) values ('".$_POST['user']."','".$_POST['post_content']."')";
$result = $conn->query($exec) or die ("失败 ".mysqli_error()); if($result>0)
{
echo "添加留言成功<br>";
}
else {
echo "添加失败。。";
echo "<p><a href=test.php><center> 返回主页面</center></a>";
}
?>
<html> <head><meta http-equiv="refresh" content="3;URL=test.php"></head>
<body><p> 三秒后自动返回..</p></body></html>
三 : 管理登录
也是简单的描述
<html>
<title> 后台管理</title>
<body>
<center><font face="黑体" ><h2> 管理登陆</h2></font>
<form action="#" method="post" name="form2">
管理员账号: <input type="text" name="admin_name"><br>
管理员密码: <input type="password" name="admin_password"><br> <input type="submit" value="登录">
<input type="reset" value="重置">
</form>
</center>
</body>
</html>
差不多也就这样了,程序实现功能少,但能基本体现一些后台数据的交流。
*********************************************************华丽分割线***********************************************

既之前的基础,先写个简单的PHP 与数据库 的数据交流的更多相关文章
- koa 基础(二十一)nodejs 操作mongodb数据库 --- 查询数据
1.app.js /** * nodejs 操作mongodb数据库 * 1.安装 操作mongodb * cnpm install mongodb --save * 2.引入 mongodb 下面的 ...
- koa 基础(二十)nodejs 操作mongodb数据库 --- 新增数据
1.app.js /** * nodejs 操作mongodb数据库 * 1.安装 操作mongodb * cnpm install mongodb --save * 2.引入 mongodb 下面的 ...
- 用Python写一个简单的Web框架
一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...
- 如何写一个简单的http服务器
最近几天用C++写了一个简单的HTTP服务器,作为学习网络编程和Linux环境编程的练手项目,这篇文章记录我在写一个HTTP服务器过程中遇到的问题和学习到的知识. 服务器的源代码放在Github. H ...
- 分享:计算机图形学期末作业!!利用WebGL的第三方库three.js写一个简单的网页版“我的世界小游戏”
这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业 ...
- linux设备驱动归纳总结(十一):写个简单的看门狗驱动【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-112879.html linux设备驱动归纳总结(十一):写个简单的看门狗驱动 xxxxxxxxxxx ...
- iOS开发UI基础—手写控件,frame,center和bounds属性
iOS开发UI基础—手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4 ...
- [lua]写个简单的Lua拓展-sleep函数
这几天在做一个小项目,其中用到了一些基本的API, 例如sleep,获取当前目录等等,lua标准库中没有提供这些接口,虽然所第三方库中也都有实现,但是要用的就那么几个函数,在一个嵌入式系统中安装那么多 ...
- day08文件操作的三步骤,基础的读,基础的写,with...open语法,文件的操作模式,文件的操作编码问题,文件的复制,游标操作
复习 ''' 类型转换 1.数字类型:int() | bool() | float() 2.str与int:int('10') | int('-10') | int('0') | float('-.5 ...
随机推荐
- 查看sql server数据库连接数的三种方法
怎样才能查看sql server数据库连接数呢?下面就将为您介绍三种查看的方法,供您参考,希望能够帮助到您. 1.通过系统的“性能”来查看:开始->管理工具->性能(或者是运行里面输入 m ...
- Linux系统发布ASP.NET项目
一.安装配置Jexus服务 注:root权限下执行,Linux版本:CentOS-7 1.安装Jexus 5.8.1 "独立版"软件 该"独立版"支持64位的C ...
- 基于vs2012的C# winform抽奖小程序的总结
哈希表的使用 Hashtable hashtable = new Hashtable(); hashtable.ContainsValue(tmp);//判断哈希表中有没有tmp hashtable. ...
- 纸壳CMS可视化建站系统搭建多语言网站
纸壳CMS是可视化建站系统,现已经从架构上支持多语言.但是多语言功能默认是没有开启的.您可以从设置中开启多语言,或者随时关闭它,您可以随时进行切换. 开启多语言 如果您没有在系统设置中看到多语言设置菜 ...
- ! [rejected] master -> master (non-fast-forward)
当向GitHub远程仓库提交请求时,常会出现 ! [rejected] master -> master (non-fast-forward) 错误. 出现这种错误通常是由于远程仓库的文件版 ...
- 【Selenium专题】元素定位之一简单定位
UI自动化工具千变万化.架构千变万化,但都逃离不开的关键一步就是元素定位.下面以Selenium为例介绍常见的几个元素定位方法 ID -元素id属性 WebElement El = driver.fi ...
- Java基础学习篇---------多线程
一.编写两种多线程的方法 (1).Thread(它是继承Runnable的子类) class MyThread extends Thread{ private int ticket = 5; @Ove ...
- 栈(顺序栈)----C语言
栈 栈是一种运算受限的线性表,是一种先进后出的数据结构,限定只能在一端进行插入和删除操作,允许操作的一端称为栈顶,不允许操作的称为栈底 顺序栈(顺序结构) 顺序栈:用一段连续的存储空间来存储栈中的数据 ...
- udid iphone6 获取
http://www.udidregistration.org/how-to-find-udid-of-iphone-6.html
- jQuery基础笔记(5)
day56 参考:https://www.cnblogs.com/liwenzhou/p/8178806.html#autoid-1-9-5 文档处理 添加到指定元素内部的后面 $(A).append ...