程序分三个板块,

现在先不用 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).">前一页 &nbsp;&nbsp;</a>";
}
else
echo "前一页 &nbsp;&nbsp;";
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 与数据库 的数据交流的更多相关文章

  1. koa 基础(二十一)nodejs 操作mongodb数据库 --- 查询数据

    1.app.js /** * nodejs 操作mongodb数据库 * 1.安装 操作mongodb * cnpm install mongodb --save * 2.引入 mongodb 下面的 ...

  2. koa 基础(二十)nodejs 操作mongodb数据库 --- 新增数据

    1.app.js /** * nodejs 操作mongodb数据库 * 1.安装 操作mongodb * cnpm install mongodb --save * 2.引入 mongodb 下面的 ...

  3. 用Python写一个简单的Web框架

    一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...

  4. 如何写一个简单的http服务器

    最近几天用C++写了一个简单的HTTP服务器,作为学习网络编程和Linux环境编程的练手项目,这篇文章记录我在写一个HTTP服务器过程中遇到的问题和学习到的知识. 服务器的源代码放在Github. H ...

  5. 分享:计算机图形学期末作业!!利用WebGL的第三方库three.js写一个简单的网页版“我的世界小游戏”

    这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业 ...

  6. linux设备驱动归纳总结(十一):写个简单的看门狗驱动【转】

    本文转载自:http://blog.chinaunix.net/uid-25014876-id-112879.html linux设备驱动归纳总结(十一):写个简单的看门狗驱动 xxxxxxxxxxx ...

  7. iOS开发UI基础—手写控件,frame,center和bounds属性

    iOS开发UI基础—手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4 ...

  8. [lua]写个简单的Lua拓展-sleep函数

    这几天在做一个小项目,其中用到了一些基本的API, 例如sleep,获取当前目录等等,lua标准库中没有提供这些接口,虽然所第三方库中也都有实现,但是要用的就那么几个函数,在一个嵌入式系统中安装那么多 ...

  9. day08文件操作的三步骤,基础的读,基础的写,with...open语法,文件的操作模式,文件的操作编码问题,文件的复制,游标操作

    复习 ''' 类型转换 1.数字类型:int() | bool() | float() 2.str与int:int('10') | int('-10') | int('0') | float('-.5 ...

随机推荐

  1. 利用Kettle进行SQLServer与Oracle之间的数据迁移实践

    Kettle简介 Kettle(网地址为http://kettle.pentaho.org/)是一款国外开源的ETL工具,纯java编写,可以在Windows.Linux.Unix上运行,数据抽取高效 ...

  2. EasyUI 让dialog中的treegrid的列头固定

    先上效果: 最主要是在treegrid要加上"fit:true "如果不加那么就会用diglog的滚动条,导致treegrid的头就没办法固定. Code<div id=&q ...

  3. vim 安装vim-javascript插件--Vundle管理

    最近看了一下node.js,但是写的时候,vim对js没有很好的提示.于是就安装插件来处理,准备安装vim-javascript.但是安装github上面的插件时,推荐用Vundle和pathogen ...

  4. AbpZero之企业微信---登录(拓展第三方auth授权登录)---第一步:查看AbpZero的auth第三方登录的底层机制

    在AbpZero框架中,auth登录接口位于Web.Core库下的Controllers文件夹的TokenAuthController.cs的ExternalAuthenticate方法 Extern ...

  5. EnyimMemcached中用DateTime参数设置过期后赋值有问题的解决.

    环境: win10 64位.memcached 1.4.4 64位.EnyimMemcached 2.16.0(ps:2.13.0也有此问题,别的版本就没试了). EnyimMemcached git ...

  6. BitAdminCore框架应用篇:(二)创建一个简单的增删改查模块

    NET Core应用框架之BitAdminCore框架应用篇系列 框架演示:http://bit.bitdao.cn 框架源码:https://github.com/chenyinxin/cookie ...

  7. C#如何关闭指定进程

    public static void KillProcess(string strProcessesByName)//关闭线程 { foreach (Process p in Process.GetP ...

  8. 【cocos2d-x 3.0-Mac配置篇】

    就在昨天触控正式发布了3.0正式版本... 在这个喜大普奔的日子里,我们又开始了新一轮的革命,先不说其他的,再来看看3.0目录文件里面有什么? 首先是精简了很多,无论是从目录结构,和所用到的工具类,都 ...

  9. AGC002F Leftmost Ball

    题目传送门 Description \(n\)种颜色的球,每种\(k\)个,\((n,k\leq 2000)\)将\(n\cdot k\)个球排成一排,把每种颜色最左边的那个涂成白色(初始不含白色), ...

  10. 在html页面添加一个隐藏域,并渲染一个需要保存的数值,在js中需要再获取,而不影响页面结构

    <div style="display:none">可以将需要保存的数值放在文本内容中,也可以放在标签的属性当中, 如果放在文本内容中,注意换行后 \n 的存在< ...