PHP和MYSQL聯合打造簡單留言本程式

來源:互聯網
上載者:User

資料庫結構:(庫名: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">留言板 Version 1.0</p>
    </form>
</div>

11 adminpost.php(管理驗證頁)

<?php
session_start();
require_once('conn.php');
$name = $_POST['name'];
$password = $_POST['password'];
$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,表情圖片,添加管理員帳號,回複留言(-_!!)等我都沒加上去,有興趣的同學可以完善下。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。