首页 > 开发 > PHP > 正文

php编写简单的文章发布程序

2024-05-04 23:36:24
字体:大 中 小
来源:转载
供稿:网友

本文给大家分享的是使用php编写简单的文章发布程序,适合php菜鸟学习参考,希望对大家学习php能够有所帮助。

--

表的结构 `yi_article`

 

 
  1. CREATE TABLE IF NOT EXISTS `yi_article` ( 
  2.  
  3. `id` int(11) unsigned NOT NULL auto_increment, 
  4.  
  5. `title` varchar(256) NOT NULL, 
  6.  
  7. `content` mediumtext NOT NULL, 
  8.  
  9. `add_man` varchar(20) NOT NULL, 
  10.  
  11. `add_time` datetime NOT NULL, 
  12.  
  13. `views` int(11) NOT NULL, 
  14.  
  15. `tag` tinyint(4) NOT NULL, 
  16.  
  17. PRIMARY KEY (`id`) 
  18.  
  19. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=21 ; 

article.php

 

 
  1. <?php 
  2. class Article extends CI_Controller{ 
  3. public $tips; 
  4. function __construct(){ 
  5. parent::__construct(); 
  6. //加载我自己的类库 
  7. $this->load->library('myclass'); 
  8. $this->load->database(); 
  9. $this->load->helper('url'); 
  10. $this->tips=array( 
  11. 'required'=>' [%s] 是必须填写的!', 
  12. 'is_unique'=>'此 [%s] 已经存在,请输入其它名称!', 
  13. 'min_lenght'=>' [%s] 最小长度为 [%s]', 
  14. 'max_length'=>'[%s] 最大长度为 [%s]' 
  15. ); 
  16. } 
  17. function index(){ 
  18. echo "这里是文章的首页"; 
  19. echo "<br />"; 
  20. //加载url辅助函数 
  21. $this->load->helper('url'); 
  22. $addr=site_url('article/article_list'); 
  23. echo "<a href='$addr'>查看文章</a>"; 
  24. $addr=site_url('article/article_page'); 
  25. echo "<a href='$addr'>查看分页</a>"; 
  26. } 
  27. function article_list(){ 
  28. echo "这里是文章列表"; 
  29. //加载数据库模型 
  30. //$this->load->model('article_model'); 
  31. //$this->article_model->index(); 
  32. //读取所有的文章 
  33. $this->load->database(); 
  34. echo "<br />"; 
  35. $query=$this->db->where("id >",5)->select('id,title')->from('article')->order_by('id','desc')->limit(4)->get(); 
  36. $info=$query->result_array();//当然你可以用result() 
  37. $this->myclass->p($info); 
  38. echo "第一条记录的标题:".$info[0]['title']; 
  39. echo "<br />"; 
  40. echo "第二条记录的标题:".$info[1]['id']; 
  41. echo "<br />"; 
  42. echo "表article中共有这么些记录:".$this->db->count_all('article'); 
  43. echo "<br />"; 
  44. echo "本次共查询出这么些条记录:".$query->num_rows(); 
  45. } 
  46. function article_page($page=1){ 
  47. /////////////////////////////////// 
  48. $config=array(); 
  49. //第一步查询出总记录数 
  50. $this->load->database(); 
  51. $config['total_rows']=$this->db->select('*')->from('article')->count_all_results(); 
  52. //每页记录数 
  53. $config['per_page']=5; 
  54. //基础url 
  55. $this->load->helper('url'); 
  56. $config['base_url']=site_url('article/article_page'); 
  57. //显示的链接数 
  58. $config['num_links']=100; 
  59. //在地址栏显示当前页码 
  60. $config['use_page_numbers']=true; 
  61. //定义首页 
  62. $config['first_link']='首页'; 
  63. //定义末页 
  64. $config['last_link']='尾页'; 
  65. //上一页 
  66. $config['prev_link']='上一页'; 
  67. //下一页 
  68. $config['next_link']='下一页'; 
  69. //把分页包起来 
  70. $config['full_tag_open']='<p>'; 
  71. $config['full_tag_close']='</p>'; 
  72. //第二步加载类库 
  73. $this->load->library('pagination'); 
  74. $this->pagination->initialize($config); 
  75. echo $this->pagination->create_links(); 
  76. ///////////////////////////////////// 
  77. $page=$page?intval($page):1; 
  78. $start=($page-1)*$config['per_page']; 
  79. $query=$this->db->select('*')->from('article')->limit($config['per_page'],$start); 
  80. $info=$query->get()->result_array(); 
  81. $this->myclass->p($info); 
  82. echo $this->pagination->create_links(); 
  83. //echo base_url('abc/def'); 
  84. } 
  85. protected function _page($total_rows,$per_page,$base_url){ 
  86. /////////////////////////////////// 
  87. $config=array(); 
  88. //第一步查询出总记录数 
  89. //$this->load->database();//// 
  90. $config['total_rows']=$total_rows; 
  91. //每页记录数 
  92. $config['per_page']=$per_page; 
  93. //基础url 
  94. $this->load->helper('url');//// 
  95. $config['base_url']=site_url($base_url); 
  96. //显示的链接数 
  97. $config['num_links']=100; 
  98. //在地址栏显示当前页码 
  99. $config['use_page_numbers']=true; 
  100. //定义首页 
  101. $config['first_link']='首页'; 
  102. //定义末页 
  103. $config['last_link']='尾页'; 
  104. //上一页 
  105. $config['prev_link']='上一页'; 
  106. //下一页 
  107. $config['next_link']='下一页'; 
  108. //把分页包起来 
  109. $config['full_tag_open']='<p>'; 
  110. $config['full_tag_close']='</p>'; 
  111. //第二步加载类库 
  112. $this->load->library('pagination'); 
  113. $this->pagination->initialize($config); 
  114. return $this->pagination->create_links(); 
  115. ///////////////////////////////////// 
  116. } 
  117. function page($page=1){ 
  118. $config['per_page']=5; 
  119. $page=$page?intval($page):1; 
  120. $start=($page-1)*$config['per_page']; 
  121. $query=$this->db->select('*')->from('article')->limit($config['per_page'],$start); 
  122. $info=$query->get()->result_array(); 
  123. return $info; 
  124. } 
  125. function article_add(){ 
  126. $this->load->library('form_validation'); 
  127. //开始设置验证规则 
  128. //set_message可以传一个一维数组 
  129. $chinesetips=$this->tips; 
  130. $this->form_validation->set_message($chinesetips); 
  131. /* 
  132. $this->form_validation->set_message('required', ' [%s] 是必须填写的!'); 
  133. $this->form_validation->set_message('is_unique', '此 [%s] 已经存在,请输入其它名称!'); 
  134. $this->form_validation->set_message('min_length', ' [%s] 最小长度为 [%s]'); 
  135. $this->form_validation->set_message('max_length', ' [%s] 最大长度为 [%s]'); 
  136. */ 
  137. $this->form_validation->set_rules('title','标题','trim|required|is_unique[article.title]|min_length[6]|max_length[12]');  
  138. $this->form_validation->set_rules('content','内容','required'); 
  139. $this->form_validation->set_rules('tag','状态','required'); 
  140. if($this->form_validation->run()==true){ 
  141. echo "表单验证成功!"; 
  142. print_r($this->input->post()); 
  143. $data=$this->input->post(); 
  144. unset($data['Submit']); 
  145. $data['add_time']=date('Y-m-d H:i:s'); 
  146. $data['views']='0'; 
  147. $st=$this->db->insert('article',$data); 
  148. if($st){ 
  149. echo "数据插入成功!"; 
  150. echo "新的id为:".$this->db->insert_id(); 
  151. } 
  152. //echo get_magic_quotes_gpc(); 
  153. }else{ 
  154. echo "表单验证失败!"; 
  155. echo "<br />"; 
  156. echo validation_errors(); 
  157. } 
  158. } 
  159. function article_add_viewer(){ 
  160. $this->load->helper('url'); 
  161. $this->load->view('article_add'); 
  162. } 
  163. function article_links(){ 
  164. $addr=site_url('article/article_mod_viewer/19'); 
  165. echo "<a href='$addr'>修改19</a>"; 
  166. } 
  167. function article_mod_viewer($id){ 
  168. if($id==""){ 
  169. echo "没有传递参数"; 
  170. exit; 
  171. } 
  172. $this->load->helper('url'); 
  173. //从数据库中查出来 
  174. $query=$this->db->select()->from('article')->where('id',$id)->get(); 
  175. $info=$query->row_array(); 
  176. print_r($info); 
  177. $this->load->view('article_mod',$info); 
  178. } 
  179. function abc($val){ 
  180. $this->form_validation->set_message('abc','不行'); 
  181. //p($val); 
  182. return true; 
  183. } 
  184. function article_mod(){ 
  185. $this->load->library('form_validation'); 
  186. //开始设置验证规则 
  187. //set_message可以传一个一维数组 
  188. $chinesetips=$this->tips; 
  189. $this->form_validation->set_message($chinesetips); 
  190. $this->form_validation->set_rules('title','标题','trim|required|min_length[6]|max_length[12]|callback_abc');  
  191. $this->form_validation->set_rules('content','内容','required'); 
  192. $this->form_validation->set_rules('tag','状态','required'); 
  193. if($this->form_validation->run()==true){ 
  194. echo "表单验证成功!"; 
  195. print_r($this->input->post()); 
  196. $data=$this->input->post(); 
  197. $id=$data['id']; 
  198. unset($data['id']); 
  199. unset($data['Submit']); 
  200. $data['add_time']=date('Y-m-d H:i:s'); 
  201. $data['views']='0'; 
  202. //p($data); 
  203. $st=$this->db->where('id',$id)->update('article',$data); 
  204. if($st){ 
  205. echo "数据修改成功"; 
  206. }else{ 
  207. echo "数据修改失败"; 
  208. } 
  209. }else{ 
  210. echo "表单验证失败!"; 
  211. echo "<br />"; 
  212. echo validation_errors(); 
  213. } 
  214. } 
  215. function article_del($id=''){ 
  216. if($id==""){ 
  217. //exit('请传id'); 
  218. } 
  219. $id=array(17,18,19); 
  220. $this->db->where_in('id',$id)->delete('article'); 
  221. $st=$this->db->affected_rows(); 
  222. echo $st; 
  223. if($st){ 
  224. echo "数据删除成功!"; 
  225. }else{ 
  226. echo "数据删除失败!"; 
  227. } 
  228. } 
  229. } 
  230. ?> 

article_add.php

 

 
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
  3. <head> 
  4. <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
  5. <meta name="author" content="Www.XiaZaiBa.Com" /> 
  6. <title>无标题 1</title> 
  7. </head> 
  8. <body> 
  9. <form name="form1" action="<?php echo site_url('article/article_add')?>" method="post"> 
  10. 标题:<input name="title" type="text" value="" /><br /> 
  11. 内容:<input name="content" type="text" value="" /><br /> 
  12. 添加人:<input name="add_man" type="text" value="" /><br /> 
  13. 添加时间:系统自动记录<br /> 
  14. 状态:<input name="tag" type="radio" value="1" />显示 <input name="tag" type="radio" value="0" />隐藏<br /> 
  15. <input type="submit" name="Submit" value="提交" /> 
  16. </form> 
  17. </body> 
  18. </html> 

article_mod.php

 

 
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
  3. <head> 
  4. <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
  5. <meta name="author" content="Www.XiaZaiBa.Com" /> 
  6. <title>无标题 1</title> 
  7. </head> 
  8. <body> 
  9. <form name="form1" action="<?php echo site_url('article/article_mod')?>" method="post"> 
  10. 标题:<input name="title" type="text" value="<?php echo $title;?>" /><br /> 
  11. 内容:<input name="content" type="text" value="<?php echo $content?>" /><br /> 
  12. 添加人:<input name="add_man" type="text" value="<?php echo $add_man;?>" /><br /> 
  13. 添加时间:系统自动记录<br /> 
  14. 状态:<input name="tag" type="radio" value="1" <?php if($tag==1)echo 'checked';?> />显示 <input name="tag" type="radio" value="0" <?php if($tag==0)echo 'checked';?> />隐藏<br /> 
  15. <input type="submit" name="Submit" value="提交" /> 
  16. <input type="hidden" value="<?php echo $id;?>" name="id" /> 
  17. </form> 
  18. </body> 
  19. </html> 

以上所述就是本文的全部内容了希望大家能够喜欢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表