不使用数据库的留言板

359 查看

readme:不使用数据库的留言板
通过xml存取实现留言。(注:datafile.xml要设置为隐藏)

index.php

<?php
$pin="7407840";//设置密码
$form1="<form action='index.php' method='post'>";
$form2="密码:<input type='password' name='pin'>";
$form3="登录到:<input type='radio' name='to' value='read' checked/>读取界面"." "."<input type='radio' name='to' value='write'/>写入界面";
$form4="<input type='submit' value='提交'>"."</form>";//设置登录密码框
$action="passwithoutpin";//设置参数:跳过密码进入系统
if ($_POST['pin']===$pin || $_GET['action']===$action)
{
 if ($_REQUEST['to']==="read")
 {echo "<script>alert('已登录到读取界面')</script>";
  /*
  以下为读取界面主要代码
  */
  echo "<br/>";
  $datafile=fopen("datafile.xml","r");
$filedata=fread($datafile,4096);
   if (!$datafile)
   {
    echo "错误:无法打开文件!"."<br/>"."联系站长!";
    die();
   }//以"read"模式打开文件
  $parser=xml_parser_create();//开始解析xml文件
  if (!xml_parse_into_struct($parser,$filedata,$data))
  {
   echo "错误:".xml_error_string(xml_error_code($parser))."<br/>";
   echo "当前行:".xml_get_current_line_number($parser)."<br/>";
   echo "当前列:".xml_get_current_column_number($parser);
   die();
  }
  else
  {
   xml_parser_free($parser);
  }
  echo "<h3>留言条目</h3>";
  echo "<br/>".$data[0]['tag'];
  echo "<br/>".$data[1]['tag'].":".$data[1]['value'];
  echo "<br/>".$data[3]['tag'].":".$data[3]['value'];
  echo "<br/>".$data[5]['tag'].":".$data[5]['value'];
  echo "<br/>".$data[7]['tag'].":".$data[7]['value'];
  fclose($datafile);
 }
 elseif ($_REQUEST['to']==="write")
 {
  echo "<script>alert('已登录到写入界面')</script>";
  /*以下为写入界面主要代码
  */
  echo "<br/>";
  echo "<h3>新建新留言</h3>";
  echo "<form action='write.php' method='post'>";
  echo "留言类型:<input type='radio' name='type' value='任务'>任务";
  echo "<input type='radio' name='type' value='提醒'>提醒";
  echo "<input type='radio' name='type' value='信息'>信息"."<br/>";
  echo "日期:<input type='text' name='date'/>"."<br/>";
  echo "任务:<input type='text' name='todo'/>"."<br/>";
  echo "位置:<input type='text' name='loc'/>"."<br/>";
  echo "标签:<input type='text' name='lab'/>"."<br/>";
  echo "<input type='submit' value='提交'>";
  echo "</form>";
 }
}
elseif ($_POST['password'] != $pin && isset($_POST['password']))
{
echo "密码错误!";
}
else
{
echo $form1."<br/>".$form2."<br/>".$form3."<br/>".$form4;
echo "请输入密码!";
}
?>

write.php

<?php
//先确认,再写入
$reminder=
    "<script>
    if (!confirm('确定要继续,将会覆盖原来的留言内容!点击取消返回。'))
    {
    history.go(-2);
    }
    </script>";
//打开文件
$datafile=fopen("datafile.xml","w");
if (!$datafile)
{
 echo "错误:无法打开文件!"."<br/>"."联系站长!";
 die();
}
else
{
 $contents=
 "<?xml version='1.0' encoding='ISO-8859-1 ?>
 <{$_POST['type']}>
 <日期>{$_POST['date']}</日期>
 <任务>{$_POST['todo']}</任务>
 <位置>{$_POST['loc']}</位置>
 <标签>{$_POST['lab']}</标签>
 <{$_POST['type']}>
 ";
  if (!file_put_contents(datafile.xml,$contents))
  {
   echo "错误:无法写入文件!"."<br/>"."联系站长!";
   die();
  }
$return=
 "<script>
 alert('写入文件成功,点击确认键返回!');
 history.go(-2);
 </script>
 ";
echo $return;
}
?>