既之前的基础,先写个简单的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).">前一页 &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>

差不多也就这样了,程序实现功能少,但能基本体现一些后台数据的交流。

*********************************************************华丽分割线***********************************************

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏木子昭的博客

Google在线深度学习神器Colab1. Colab 执行终端命令2. 用Colab编写在线爬虫,并在线展示成果3.在线机器学习,决策树案例 - 泰坦尼克乘客存活状况 4. 在线学习Python编程

Colab是google最近推出的一项Python在线编程的免费服务, 有了它,不学Python编程的理由又少了一个 Colab环境已经集成了流行的深度学习...

71450
来自专栏菜鸟致敬

【菜鸟致敬】QQ坦白说解密

1.模拟手机QQ 首先使用浏览器来模拟手机qq 这里使用的 Chrome 谷歌浏览器 其他浏览器操作一致(绝大部分主流浏览器) 然后浏览器打开开发者工具完成...

1.4K120
来自专栏运维技术迷

HP DL380 G5服务器创建RAID

这台HP DL380 G5已经稳定运行了好几年的时间了,Data日渐增多,起初的Disk容量已经不能满足现在的需求,加上Disk已经运行了几万小时,读写能...

44760
来自专栏coding

django2实战4.创建文章列表页和详情页url适配自定义模型管理器在view中写业务逻辑新建模板文件添加分页功能

我们已经知道如何操作文章表的数据,接下来要将这些数据用界面显示出来。这就需要用到django的view层负责处理http请求,并将数据传给template模板进...

23030
来自专栏FreeBuf

Kali 2.0 安装与使用指南

关于kali使用前的一些配置,网上有很多版本,但是几乎都很雷同,或者是不全,或者是根本就没有测试过,或者是有的方法是错的(换句话说是版本变化的差异),因此让很多...

1.1K50
来自专栏黑白安全

社会工程学之手机号伪造

任意显示手机号,使用者想令对方看到你的手机号是怎样的,对方就看到是怎样的,不会显示机主号。

24230
来自专栏Linyb极客之路

nginx限制IP恶意调用短信接口处理方法

1、过滤日志访问API接口的IP,统计每10分钟调用超过100次的IP,直接丢进nginx的访问黑名单

25730
来自专栏七夜安全博客

老话新谈:QQ快速登录分析以及风险反思

众所周知,Tencent以前使用Activex的方式实施QQ快速登录,现在快速登录已经不用控件了。那现在用了什么奇葩的方法做到Web和本地的应用程序交互呢?其实...

26940
来自专栏北京马哥教育

centos7.0体验与之前版本的不同

今天下午,没事干,在一台机器上装了一个centos7玩一玩,发现与之前版本有很大不同,不知道rhel7是不是也是这样,毕竟现在centos属于redhat了。 ...

23370
来自专栏编程

Python爬虫之urllib库—进阶篇

urllib库除了一些基础的用法外,还有很多高级的功能,可以更加灵活的适用在爬虫应用中,比如,用HTTP的POST请求方法向服务器提交数据实现用户登录、当服务器...

21280

扫码关注云+社区

领取腾讯云代金券