ホームページ php教程 php手册 PHP と MYSQL が共同で単純なゲストブック プログラムを作成する

PHP と MYSQL が共同で単純なゲストブック プログラムを作成する

Jun 21, 2016 am 09:01 AM
echo gt lt nbsp php

数据库结构:(库名:lyb)
表一: admin
字段: id(int11)   name(varchvr)   password(varchvr)

表二: lo
字段: id(int11)   username(varchvr)  sex(varchvr)  qq(varchvr)  email(varchvr)  info(text)  ip(varchvr)  submit_time(datetime)

1 conn.php(连接数据库文件)

<?php
mysql_connect("localhost","root","");//连接数据库
mysql_select_db("lyb");//选择数据库
?>

2 header.php(公用头部文件)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>PHP和MYSQL联合打造简单留言本程序</title>
</head>
<link href="css.css" rel="stylesheet" type="text/css" />
<body>
<div id="head">
    <div id="head_l">
        <ul>
            <li><a href="index.php">偶要看留言</a></li>
            <li><a href="post.php">偶要发表</a></li>
            <?php
session_start();
if($_SESSION["key"]==1){//如果获取的SESSION为1则显示管理项
?>
            <li><a href="adminexit.php">退出管理</a></li>
            <?
}
else
{
?>
            <li><a href="admin.php">偶要管理</a></li>
            <?}?>
        </ul>
    </div>
    <div id="head_r">PHP和MYSQL联合打造简单留言本程序</div>
</div>

3 footer.php(公用底部文件)

<?php
$counterFile="conter.xml";
function displayCounter($counterFile){
$fp = fopen($counterFile,"rw");
$num = fgets($fp,5);
$num += 1;
print "<div id=\"footer\">简单留言板   您是第 "."$num"." 位无聊的银</div>";
exec("rm -rf $counterFile");
exec("echo $num > $counterFile");
}
if(!file_exists($counterFile)){
exec("echo 0 > $counterFile");
}
displayCounter($counterFile);
?>
</body>
</html>

4 index.php(首页)

<?php
require_once("conn.php");
require_once("header.php");
session_start();
//分页代码开始
$pagesize = 10;//设置每页显示条数
$rs = mysql_query("select count(*) from lo");//取得记录总数,计算总页数用
$myrow = mysql_fetch_array($rs);
$numrows = $myrow[0];//计算总记录
$pages = intval($numrows/$pagesize);
if($numrows%$pagesize)$pages++;//设置页数
if(isset($_GET['page']))
{
$page = intval($_GET['page']);
}
else
{
$page = 1;//设为第一页
}
$offset = $pagesize*($page-1);//计算记录偏移量
//分页代码结束
$sql = "select id,username,sex,qq,email,info,ip,DATE_FORMAT(submit_time, '%Y年%m月%d日 %T' ) from lo order by id desc limit $offset,$pagesize";//用到了DATE-FORMAT格式化日期格式
$result = mysql_query($sql);
$num = mysql_num_rows($result);
if($num>0){
    while($row = mysql_fetch_array($result))
    {
    //echo print_r($row);
        if($row[2]=="男")//这个使性别改成你想要的名称^_^
        {
            $sex = "帅锅";
        }
        else
        {
            $sex = "美女";
        }
?>
<div id="show">
    <p class="num">第 [<?= $row[0] ?>] 条留言<p>
    <p class="unline">留言人:<span class="blue"><?= $row[1]?></span>  性别:<?= $sex ?>  留言时间:<?= $row[7] ?> <? if($row[3]) {?> <a href="http://wpa.qq.com/msgrd?V=1&Uin=<?= $row[3] ?>&Site=http://www.webjx.com&Menu=yes"><img src="http://www.webjx.com/htmldata/2007-05-24/img/qq.gif" alt="<?= $row[3]?>" /></a><? } ?><? if($row[4]){ ?> <a href="mailto:<?= $row[4] ?>"><img src="http://www.webjx.com/htmldata/2007-05-24/img/email.gif" alt="<?= $row[4]?>" /></a> <? }?><? if($_SESSION["key"]==1){ ?> IP:<?= $row[6] ?>  <a href="update.php?wuleying&id=<?= $row[0]?>">更改</a> <a href="delete.php?wuleying&id=<?= $row[0]?>">删除</a><?}?></a></p>
    <p class="blue">留言内容:</p>
    <div id="show_info"><?= nl2br(htmlspecialchars($row[5])) ?></div>
</div>
<?php
}
}
else
{
echo "<div id=\"show\">无数据......</div>";
    }
?>
<div id="show_page">
<p>
<?php
$first=1;
$prev=$page-1;
$next=$page+1;
$last=$pages;
if($page==1&&$pages>1)
{
    echo "首页 | ";
    echo "上一页 | ";
    echo "<a href=\"index.php?page=".$next."\">下一页</a> | ";
    echo "<a href=\"index.php?page=".$last."\">尾页</a> | ";
}
elseif($page>=1&&$page!=$pages&&$num>0)
{
    echo "<a href=\"index.php?page=".$first."\">首页</a> | ";
    echo "<a href=\"index.php?page=".$prev."\">上一页</a> | ";
    echo "<a href=\"index.php?page=".$next."\">下一页</a> | ";
    echo "<a href=\"index.php?page=".$last."\">尾页</a> | ";
}
elseif($page==$pages&&$page!=1)
{
    echo "<a href=\"index.php?page=".$first."\">首页</a> | ";
    echo "<a href=\"index.php?page=".$prev."\">上一页</a> | ";
    echo "下一页 | ";
    echo "尾页 | ";
}
elseif($page==$pages)
{
    echo "首页 | ";
    echo "上一页 | ";
    echo "下一页 | ";
    echo "尾页 | ";   
}
else
{
    echo "首页 | ";
    echo "上一页 | ";
    echo "下一页 | ";
    echo "尾页 | ";
}
?>
共 <span><?= $pages ?></span> 页 | 当前第 <span><?= $page ?></span> 页 | 共 <span><?=$numrows ?></span> 条留言</p>
</div>
<?php
mysql_close();
?>
<?php
require_once("footer.php");
?>

5 post.php(提交留言页面)

<?
require_once("header.php");
?>
<div id="input">
<form method="post" action="input.php" name="form1">
    <h1>提交留言</h1>
    <p>姓名 :<input type="text" name="name" size="20" class="y" /> </p>
    <p>性别 :<input name="sex" type="radio" value="男" checked/> 帅锅 <input type="radio" name="sex" value="女"/> 美女</p>
    <p>Q Q :<input type="text" name="qq" class="y" /> (可选填)</p>
    <p>Email:<input type="text" name="email" class="y" /> (可选填)</p>
    <p>留言内容:</p>
    <p><textarea name="info" rows="5" cols="40"></textarea></p>
    <p class="cen">
        <input type="submit" value="偶填好了" />
        <input type="reset" value="偶要重写">
    </p>
    <p class="cen1">留言板 Version 1.0</p>
</form>
</div>
</body>
</html>

6 input.php(插入留言)

<?php
require_once("conn.php");
$username = $_POST['name'];
$sex = $_POST['sex'];
$qq = $_POST['qq'];
$email = $_POST['email'];
$info = $_POST['info'];
if (strrpos($username,"<")!==false || strrpos($username,">")!==false||strrpos($username,"@")!==false||strrpos($username,"\"")!==false||strrpos($username,"'")!==false||strrpos($username,"_")!==false)
{
    echo "<script>alert('名称不能有特殊字符!');location.href='post.php';</script>";
    exit();
}
if (!ereg("^[0-9]{0,}$",$qq))//用正则检查QQ格式
{
    echo "<script>alert('OICQ信息有错误!必须是数字!');location.href='post.php';</script>";
    exit();
}
if($email)
{//如果填写了邮箱就用正则检查邮箱格式
    if (!ereg("^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$",$email))
    {
        echo "<script>alert('email格式不正确!');location.href='post.php';</script>";
        exit();
    }
}
if(!$username)
{
    echo "<script>alert('名称不能为空哦!');location.href='post.php';</script>";
    exit();
}
elseif(!$info)
{
    echo "<script>alert('留言不能为空哦!');location.href='post.php';</script>";
    exit();
}
else
{
    $ip = getenv('REMOTE_ADDR');//获取客户端IP地址
    $sql = "insert into lo (username,sex,qq,email,info,ip,submit_time) values ('$username','$sex','$qq','$email','$info','$ip',NOW())";
    $result = mysql_query($sql);
    mysql_close();
    echo "<script>alert('提交成功!返回首页');location.href='index.php';</script>";
}
?>

7 update.php(修改留言页)

<?php
session_start();
require_once('conn.php');
require_once('header.php');
if($_SESSION["key"]==1)
{
$id = $_GET['id'];
$sql = "select * from lo where id= ".$id;
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
?>
<div id="update">
    <form action="updatepost.php?wuleying&id=<?= $row[0] ?>" method="post">
        <h1>修改留言</h1>
        <p>姓名:<input type="text" value="<?= $row[1]?>" name="name" class="y"></input></p>
        <p>留言:</p>
        <p><textarea name="info" rows="5" cols="35"><?= $row[5] ?></textarea></p>
        <p class="cen"><input type="submit" value="偶要修改" /></p>
        <p class="cen1">留言板 Version 1.0</p>
    </form>
<div>
<?php
}
else
{
header('location:index.php');
}
?>

8 updatepost(修改提交页)

<?php
require_once('conn.php');
$username = $_POST['name'];
$info = $_POST['info'];
$id = $_GET['id'];
//echo $id;
$sql = "update lo set username= '".$username."',info='".$info."' where id=".$id;
mysql_query($sql);
echo "<script>alert('修改成功!');location.href='index.php';</script>";
?>

9 delete.php(删除留言页)

<?php
session_start();
require_once('conn.php');
$id=$_GET['id'];
if($_SESSION["key"]==1)
{
$sql = "delete from lo where id=".$id;
mysql_query($sql);
echo "<script>location.href='index.php'</script>";
}
else
{
header('location:index.php');
}
?>

10 admin.php(管理登录页)

<?php
require_once('conn.php');
require_once('header.php');
?>
<div id="admin">
<form method="post" action="adminpost.php">
<h1>管理员登录</h1>
<p>姓名 : <input type=" text" name="name" size="20" class="y" /> </p>
<p>密码 : <input type="password" name="password" size="20" class="y" /> </p>
<p class="cen"><input type="submit" value="管理员登录" /></p>
<p class=" cen1">留言板バージョン 1.0</p>
</form>
</div>

11 adminpost.php(管理验证页)

<?php
session_start();
require_once('conn.php');
$name = $_POST['name'];
$password = $ _POST['パスワード'];
$sql = "select * from admin where name='".$name."'";
$result = mysql_query($sql);
$num = mysql_num_rows ($result);
if (strrpos($name,"<")!==false || strrpos($name,">")!==false||strrpos($name,"@" )!==false||strrpos($name,""")!==false||strrpos($name,"'")!==false||strrpos($name,"_")!==false )
{
echo "<script>alert('特殊文字符は使用できません!');location.href='admin.php';</script>";
}
if ($num)
{//如果用户存在,就检查密码有無正确
$rs = mysql_fetch_array($result);
if($rs[2]!=$password)
{
echo "<script>alert('密码不正确,请确认後输入!');location.href='admin.php';</script>";
}
else
{//用户名、密码都正确、注册SESSION变量、その後首页に飛びます
$_SESSION["key"]=1;
echo "<script>alert('登录成功!' );location.href='index.php';</script>";
}
}
else
{//如果没有这个用户
echo "<script> alert('没有这个用户,请确认後输入!');location.href='admin.php';</script>";
}
?>

12 adminexit.php(退出管理页)

<?php
session_start();
$_SESSION["key"] = 0;//SESSION を 1 にしない,0 は游客,1 は管理员
header('location:index.php');
?>

のみこれらの基本的なもの,画像 MD5 加密,UBB,表情图片、添加管理员账号、回留言(-_!!)等我都不追加去,有関心同学可完善下。



このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

CakePHP の日付と時刻

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

CakePHP プロジェクトの構成

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

CakePHP ファイルのアップロード

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

CakePHP ルーティング

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP について話し合う

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP クイックガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

See all articles