php编写简单的文章发布程序
本文给大家分享的是使用php编写简单的文章发布程序,适合php菜鸟学习参考,希望对大家学习php能够有所帮助。
--
-- 表的结构 `yi_article`
--
CREATE TABLE IF NOT EXISTS `yi_article` ( `id` int(11) unsigned NOT NULL auto_increment, `title` varchar(256) NOT NULL, `content` mediumtext NOT NULL, `add_man` varchar(20) NOT NULL, `add_time` datetime NOT NULL, `views` int(11) NOT NULL, `tag` tinyint(4) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=21 ;
article.php
load->library('myclass');
$this->load->database();
$this->load->helper('url');
$this->tips=array(
'required'=>' [%s] 是必须填写的!',
'is_unique'=>'此 [%s] 已经存在,,请输入其它名称!',
'min_lenght'=>' [%s] 最小长度为 [%s]',
'max_length'=>'[%s] 最大长度为 [%s]'
);
}
function index(){
echo "这里是文章的首页";
echo "
";
//加载url辅助函数
$this->load->helper('url');
$addr=site_url('article/article_list');
echo "查看文章";
$addr=site_url('article/article_page');
echo "查看分页";
}
function article_list(){
echo "这里是文章列表";
//加载数据库模型
//$this->load->model('article_model');
//$this->article_model->index();
//读取所有的文章
$this->load->database();
echo "
";
$query=$this->db->where("id >",5)->select('id,title')->from('article')->order_by('id','desc')->limit(4)->get();
$info=$query->result_array();//当然你可以用result()
$this->myclass->p($info);
echo "第一条记录的标题:".$info[0]['title'];
echo "
";
echo "第二条记录的标题:".$info[1]['id'];
echo "
";
echo "表article中共有这么些记录:".$this->db->count_all('article');
echo "
";
echo "本次共查询出这么些条记录:".$query->num_rows();
}
function article_page($page=1){
///////////////////////////////////
$config=array();
//第一步查询出总记录数
$this->load->database();
$config['total_rows']=$this->db->select('*')->from('article')->count_all_results();
//每页记录数
$config['per_page']=5;
//基础url
$this->load->helper('url');
$config['base_url']=site_url('article/article_page');
//显示的链接数
$config['num_links']=100;
//在地址栏显示当前页码
$config['use_page_numbers']=true;
//定义首页
$config['first_link']='首页';
//定义末页
$config['last_link']='尾页';
//上一页
$config['prev_link']='上一页';
//下一页
$config['next_link']='下一页';
//把分页包起来
$config['full_tag_open']='
'; $config['full_tag_close']='
'; //第二步加载类库 $this->load->library('pagination'); $this->pagination->initialize($config); echo $this->pagination->create_links(); ///////////////////////////////////// $page=$page?intval($page):1; $start=($page-1)*$config['per_page']; $query=$this->db->select('*')->from('article')->limit($config['per_page'],$start); $info=$query->get()->result_array(); $this->myclass->p($info); echo $this->pagination->create_links(); //echo base_url('abc/def'); } protected function _page($total_rows,$per_page,$base_url){ /////////////////////////////////// $config=array(); //第一步查询出总记录数 //$this->load->database();//// $config['total_rows']=$total_rows; //每页记录数 $config['per_page']=$per_page; //基础url $this->load->helper('url');//// $config['base_url']=site_url($base_url); //显示的链接数 $config['num_links']=100; //在地址栏显示当前页码 $config['use_page_numbers']=true; //定义首页 $config['first_link']='首页'; //定义末页 $config['last_link']='尾页'; //上一页 $config['prev_link']='上一页'; //下一页 $config['next_link']='下一页'; //把分页包起来 $config['full_tag_open']=''; $config['full_tag_close']='
'; //第二步加载类库 $this->load->library('pagination'); $this->pagination->initialize($config); return $this->pagination->create_links(); ///////////////////////////////////// } function page($page=1){ $config['per_page']=5; $page=$page?intval($page):1; $start=($page-1)*$config['per_page']; $query=$this->db->select('*')->from('article')->limit($config['per_page'],$start); $info=$query->get()->result_array(); return $info; } function article_add(){ $this->load->library('form_validation'); //开始设置验证规则 //set_message可以传一个一维数组 $chinesetips=$this->tips; $this->form_validation->set_message($chinesetips); /* $this->form_validation->set_message('required', ' [%s] 是必须填写的!'); $this->form_validation->set_message('is_unique', '此 [%s] 已经存在,请输入其它名称!'); $this->form_validation->set_message('min_length', ' [%s] 最小长度为 [%s]'); $this->form_validation->set_message('max_length', ' [%s] 最大长度为 [%s]'); */ $this->form_validation->set_rules('title','标题','trim|required|is_unique[article.title]|min_length[6]|max_length[12]'); $this->form_validation->set_rules('content','内容','required'); $this->form_validation->set_rules('tag','状态','required'); if($this->form_validation->run()==true){ echo "表单验证成功!"; print_r($this->input->post()); $data=$this->input->post(); unset($data['Submit']); $data['add_time']=date('Y-m-d H:i:s'); $data['views']='0'; $st=$this->db->insert('article',$data); if($st){ echo "数据插入成功!"; echo "新的id为:".$this->db->insert_id(); } //echo get_magic_quotes_gpc(); }else{ echo "表单验证失败!"; echo ""; echo validation_errors(); } } function article_add_viewer(){ $this->load->helper('url'); $this->load->view('article_add'); } function article_links(){ $addr=site_url('article/article_mod_viewer/19'); echo "修改19"; } function article_mod_viewer($id){ if($id==""){ echo "没有传递参数"; exit; } $this->load->helper('url'); //从数据库中查出来 $query=$this->db->select()->from('article')->where('id',$id)->get(); $info=$query->row_array(); print_r($info); $this->load->view('article_mod',$info); } function abc($val){ $this->form_validation->set_message('abc','不行'); //p($val); return true; } function article_mod(){ $this->load->library('form_validation'); //开始设置验证规则 //set_message可以传一个一维数组 $chinesetips=$this->tips; $this->form_validation->set_message($chinesetips); $this->form_validation->set_rules('title','标题','trim|required|min_length[6]|max_length[12]|callback_abc'); $this->form_validation->set_rules('content','内容','required'); $this->form_validation->set_rules('tag','状态','required'); if($this->form_validation->run()==true){ echo "表单验证成功!"; print_r($this->input->post()); $data=$this->input->post(); $id=$data['id']; unset($data['id']); unset($data['Submit']); $data['add_time']=date('Y-m-d H:i:s'); $data['views']='0'; //p($data); $st=$this->db->where('id',$id)->update('article',$data); if($st){ echo "数据修改成功"; }else{ echo "数据修改失败"; } }else{ echo "表单验证失败!"; echo "
"; echo validation_errors(); } } function article_del($id=''){ if($id==""){ //exit('请传id'); } $id=array(17,18,19); $this->db->where_in('id',$id)->delete('article'); $st=$this->db->affected_rows(); echo $st; if($st){ echo "数据删除成功!"; }else{ echo "数据删除失败!"; } } } ?>
article_add.php

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

在PHP8 中,match表達式是一種新的控制結構,用於根據表達式的值返回不同的結果。 1)它類似於switch語句,但返回值而非執行語句塊。 2)match表達式使用嚴格比較(===),提升了安全性。 3)它避免了switch語句中可能的break遺漏問題,增強了代碼的簡潔性和可讀性。
