一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

PHP+XML 制作簡(jiǎn)單的留言本 圖文教程

1. 留言顯示頁(yè)面

2. 發(fā)布留言,并允許上傳圖片

3. 輸入密碼登錄后可以刪除留言。

1. 文件目錄

 

upfile是保存上傳圖片的目錄。

2. 主要界面

(1)首頁(yè),顯示留言頁(yè)面

 

 

 

(2)發(fā)表留言頁(yè)面

 

3. XML文檔格式,名稱(chēng)為data.xml

 

各字段的含義不多說(shuō),各元素的值看起來(lái)有點(diǎn)怪,是因?yàn)槲沂褂昧薭ase64_encode對(duì)字符串進(jìn)行了編碼。

 

4 主要頁(yè)面代碼

(1)add.php

此頁(yè)只是純粹的HTML代碼

<form action="saveadd.php" enctype="multipart/form-data" method="post" name="myform" onsubmit="return go(this)">
<table border="1" width="600">
 <tr>
  <td>作者</td>
  <td align="left"><input type="text" name="author" size="10"></td>
 </tr>
 <tr>
  <td>標(biāo)題</td>
  <td align="left"><input type="text" name="title" size="50"></td>
 </tr>
 <tr>
  <td>表情</td>
  <td align="left">
   <select name="smiles" size="1" onchange="change_img();">
   <option value="smile.gif">微笑</option>
   <option value="biggrin.gif">耿直</option>
   <option value="victory.gif">勝利</option>
   <option value="tongue.gif">舌頭</option>
   <option value="titter.gif">竊笑</option>
   <option value="cry.gif">哭泣</option>
   <option value="curse.gif">生氣</option>
   <option value="huffy.gif">憤怒</option>
   <option value="mad.gif">瘋狂</option>
   <option value="sad.gif">哀傷</option>
   <option value="shocked.gif">震驚</option>
   <option value="shy.gif">害羞</option>
   <option value="sleepy.gif">困倦</option>
   <option value="sweat.gif">汗</option>
   </select>
   <img src="smiles/smile.gif" name="img">
  </td>
 </tr>
 <tr>
  <td>內(nèi)容</td>
  <td align="left"><textarea name="content" cols="70" rows="10"></textarea></td>
 </tr>
 <tr>
  <td>截圖</td>
  <td align="left"><input type="file" name="upfile" size="50"></td>
 </tr>
 <tr>
  <td colspan="2"><input type="submit" value="提交"/></td>
 </tr>
</table>
</form>

(2)savadd.php

用于保存留言信息

<?php
if(!$_POST["author"] || !$_POST["content"]) 
{
 echo "<meta http-equiv=/"refresh/" content=/"2;url=index.php/">/n";
 echo "你沒(méi)有填寫(xiě)留言姓名或內(nèi)容,2秒鐘返回首頁(yè)";
 exit();
}else{
 $imgflag=0;   //用于判斷是否需要上傳圖片
 function random($length)   //此函數(shù)用于生成一個(gè)隨機(jī)的圖片文件名(不含擴(kuò)展名),以防止與現(xiàn)有圖片重復(fù)
 {
  $hash = 'IMG-';
  $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
  $max = strlen($chars) - 1; 
  for($i = 0; $i < $length; $i++)    //從上面的字符串中隨機(jī)找length長(zhǎng)度個(gè)字符
  {
   $hash .= $chars[mt_rand(0, $max)];
  }
  return $hash;
 }

 function fileext($filename)   //此函數(shù)用于獲取上傳文件的擴(kuò)展名
 {
  return substr(strrchr($filename, '.'), 1);
 }
 

 if($_FILES["upfile"]["name"]!=""){
  $uploaddir="upfile/";   //圖片保存路徑
  $type=array("jpg","gif","bmp","jpeg","png");   //允許上傳的文件類(lèi)型

  if(!in_array(strtolower(fileext($_FILES['upfile']['name'])),$type))   //如果上傳的文件的擴(kuò)展名不符合要求
  {
   echo "<meta http-equiv=/"refresh/" content=/"2;url=index.php/">/n";
   $text=implode(",",$type);
   echo "您只能上傳以下類(lèi)型文件: ",$text,"<br>";
   exit();
  }
  else
  {
   $filename=explode(".",$_FILES['upfile']['name']);
   do
   {
    $filename[0]=random(10);
    $randname=implode(".",$filename);     //得到的最終隨機(jī)生成的文件名(連同擴(kuò)展名)
    $uploadfile=$uploaddir.$randname;
   } while(file_exists($uploadfile));

   if (move_uploaded_file($_FILES['upfile']['tmp_name'],$uploadfile)){   //保存上傳的圖片到upfile文件夾
    echo "上傳圖片成功";
    $imgflag=1;
   }
   else{
    echo "上傳圖片失敗!";
    $imgflag=0;
   }

  }
 }

//獲取其他表單域

 $author=base64_encode($_POST["author"]);  
 $content=base64_encode(ereg_replace("/r/n","<br>",$_POST["content"]));
 $smiles=base64_encode($_POST["smiles"]);
 if($_POST["title"]){
  $title=base64_encode($_POST["title"]);
 }else{
  $title=base64_encode("無(wú)標(biāo)題");
 }
 $addtime=date("Y-m-d");
 if($imgflag==1){  //如果有上傳圖片
  $photo=base64_encode($randname);
 }else{  //否則將photo元素的值設(shè)置為NONE
  $photo="NONE";
 }

 $dom=new DOMDocument('1.0','gb2312');   //指定XML的格式
 $dom->load("data.xml");     //加載
 $root=$dom->getElementsByTagName("messages");   //獲取根節(jié)點(diǎn)
 $root=$root->item(0);       
 $last_id=$root->lastChild->firstChild->nodeValue;  //獲取最后一個(gè)message的第一個(gè)子節(jié)點(diǎn)(即id節(jié)點(diǎn))的值
 $id=$last_id+1;  //新增消息的id
 settype($id,"string");  //將其轉(zhuǎn)換為字符型


 $message=$root->appendChild(new DOMElement('message'));  //添加message節(jié)點(diǎn)
 $el_id=$message->appendChild(new DOMElement('id'));  //添加message節(jié)點(diǎn)的各個(gè)子節(jié)點(diǎn)
 $el_id->appendChild($dom->createTextNode($id));

 $el_author=$message->appendChild(new DOMElement('author'));
 $el_author->appendChild($dom->createTextNode($author));

 $el_title=$message->appendChild(new DOMElement('title'));
 $el_title->appendChild($dom->createTextNode($title));

 $el_smiles=$message->appendChild(new DOMElement('smiles'));
 $el_smiles->appendChild($dom->createTextNode($smiles));

 $el_content=$message->appendChild(new DOMElement('content'));
 $el_content->appendChild($dom->createTextNode($content));

 $el_addtime=$message->appendChild(new DOMElement('addtime'));
 $el_addtime->appendChild($dom->createTextNode($addtime));

 $el_photo=$message->appendChild(new DOMElement('photo'));
 $el_photo->appendChild($dom->createTextNode($photo));

 $dom->save("data.xml");  //保存XML


 echo "<meta http-equiv=/"refresh/" content=/"2;url=index.php/">/n";
 echo "謝謝您的留言,2秒鐘返回首頁(yè)";

}
?>

(3)index.php

本頁(yè)面用于顯示留言信息

<p><a href="add.php">添加留言</a></p>

<?php
$dom=new DOMDocument('1.0','gb2312');   
$dom->load("data.xml");       //加載
$root=$dom->getElementsByTagName("messages"); 
$root=$root->item(0);      
$message=$root->getElementsByTagName("message");   //獲取所有message節(jié)點(diǎn)

$message_count=$message->length;   //計(jì)算有多少條留言
echo "當(dāng)前共有".$message_count."條留言";

if($message_count==0){
 echo "暫時(shí)沒(méi)有留言/n";
}else{
?>
<table border="1" width="700">
<?php
 for($i=$message_count-1;$i>=0;$i--)    //我們需要對(duì)留言按倒序排列
 {
  $msg=$message->item($i);

  foreach($msg->childNodes as $child)   //message節(jié)點(diǎn)的各個(gè)子節(jié)點(diǎn)
  {
   if($child->nodeName=="id")
   {
    $id=$child->nodeValue;
   }
   if($child->nodeName=="author")
   {
    $author=$child->nodeValue;
   }
   if($child->nodeName=="title")
   {
    $title=$child->nodeValue;
   }
   if($child->nodeName=="smiles")
   {
    $smiles=$child->nodeValue;
   }
   if($child->nodeName=="content")
   {
    $content=$child->nodeValue;
   }
   if($child->nodeName=="photo")
   {
    $photo=$child->nodeValue;
   }
   if($child->nodeName=="addtime")
   {
    $addtime=$child->nodeValue;
   }

  }
  echo "<tr>";
  echo "<td align=left bgcolor=#CCCCFF>";
  echo $id.".<img src='smiles/".base64_decode($smiles)."'>".base64_decode($title)." - ".base64_decode($author)." [".$addtime."] ";  
  if(isset($_SESSION["password"]) && $_SESSION["password"]!="")  //如果輸入了密碼顯示刪除鏈接
  {
   echo "[<a href='del.php?id=".$id."'>刪除</a>]";
  }
  echo "</td></tr>";
  echo "<tr><td align=left>".base64_decode($content)."</td></tr>";
  if($photo!="NONE")
  {
   echo "<tr><td align=left><img src='upfile/".base64_decode($photo)."'></td></tr>";
  }
 }
?>
<?php
}
?>
</table>
<?php
 if(isset($_SESSION["password"]) && $_SESSION["password"]!=""){
?>
<p><a href="logout.php">退出管理</a></p> 
<?php
}else{
?>
<p><a href="login.php">登陸管理</a></p> 
<?php
}
?>

 

(4) 刪除留言

<?php
if(isset($_SESSION["password"]) && $_SESSION["password"]!="")
{

    $dom=new DOMDocument; 
    $dom->load("data.xml");      
    $root=$dom->getElementsByTagName("messages"); 
    $root=$root->item(0);
 foreach($root->childNodes as $msg)
 {
  if($msg->firstChild->nodeValue==$_GET["id"])   //如果message節(jié)點(diǎn)的id子節(jié)點(diǎn)的值跟要?jiǎng)h除的id相等
  {
   $photo=$msg->lastChild->nodeValue;
   if($photo!="NONE"){   //如果留言包含圖片,還應(yīng)該將圖片刪除
    $photo_path="upfile/".base64_decode($photo);
    $flag=unlink($photo_path);
    if($flag){
     echo "刪除圖片成功<br>";
    }
   }

   $root->removeChild($msg);
   break;
  }
 }
 $dom->save("data.xml");


?>

刪除留言成功,2秒鐘返回首頁(yè)
<meta http-equiv="refresh" content="2;url=index.php">
<?php
}else{
?>
您還未登陸,2秒鐘返回登陸頁(yè)面
<meta http-equiv="refresh" content="2;url=login.php">
<?php
}
?>

php技術(shù)PHP+XML 制作簡(jiǎn)單的留言本 圖文教程,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲综合91社区精品福利 | 中文字幕一视频97色伦 | 国产在线精品一区二区 | 亚洲综合激情另类专区 | 久久久久亚洲香蕉网 | 91亚洲视频在线 | 国产精品特级毛片一区二区三区 | 婷婷在线视频国产综合 | 极品美女囗交视频 | 欧美一级在线全免费 | 国产一区二区三区免费看 | 亚洲一在线 | 91精品国产色综合久久不 | 2020最新国产精品视频 | 国产成人一区二区三区影院免费 | 国产欧美成人 | www.91在线| 色综合天天干 | 久久悠悠 | 国产真实伦视频在线视频 | 精品国产中文字幕 | 午夜毛片网站 | 亚洲资源在线 | 国产超清在线观看 | 婷婷射| 黄大色黄美女精品大毛片 | 国产成人午夜精品免费视频 | 被公侵犯肉体中文字幕一区二区 | 狠狠色噜噜狠狠狠狠奇米777 | 欧美福利网站 | www日本免费 | 午夜a毛片 | 亚洲精品在线网站 | 精品国内自产拍在线视频 | www成人国产在线观看网站 | 日韩亚洲国产综合久久久 | 久青草国产手机视频免费观看 | 国产精品手机在线亚洲 | 日本大片免a费观看视频+播放器 | 一本之道无吗一二三区 | 欧美人体xxxx |