網站程式設計-PHP
一、function.php
- 建立資料夾
#####################################################################################
# 建立目錄
#####################################################################################
if (!function_exists("mk_dir")) {
function mk_dir($dir = "") {
#若無目錄名稱秀出警告訊息
if (empty($dir)) {
return;
}
#若目錄不存在的話建立目錄
if (!is_dir($dir)) {
umask(000);
//若建立失敗秀出警告訊息
mkdir($dir, 0777);
}
}
}
二、SEO必要事項
- meta標籤
<html lang="zh" prefix="og: http://ogp.me/ns#">
<meta name="keywords" content="關鍵字">
<meta name="description" content="網頁描述" />
<meta name="author" content="作者名稱">
<meta name="copyright" content="版權所有人名稱">
<meta property="og:title" content="網站名稱或標題" />
<meta property="og:type" content="website" />
<meta property="og:url" content="網址" />
<meta property="og:image" content="要顯示的縮圖" />
<meta property="og:description" content="網頁描述" >
- 清 og暫存
https://developers.facebook.com/tools/debug/ - 網站標題
<title>商品 類別 網站標題</title>
- 使用「Search Console」
https://www.google.com/webmasters/tools/home?hl=zh-tw&pli=1
二、update.php
- 程式碼
- update.php只有執行,並沒畫面,所以不用樣板,
請問如何在後台製作一個按鈕來執行?
三、系統變數
- 自動新增
op_list() //-------- 系統變數 ----- go_update(); //-------- 系統變數 end-- - 函數
########################################
# 將預設系統項目寫入資料庫.
# formtype
# textbox => 單行
# textarea => 多行
# file => 檔案 => valuetype
# single_img =>單圖
# multiple_img => 多圖
########################################
function go_update() {
global $mysqli;
$i = 0;
#---- meta ----
#關鍵字
$configs['meta'][$i]['name'] = 'system_meta_keywords';
$configs['meta'][$i]['title'] = '關鍵字';
$configs['meta'][$i]['description'] = '請用半型逗點隔開';
$configs['meta'][$i]['formtype'] = 'textbox';
$configs['meta'][$i]['valuetype'] = 'text';
$configs['meta'][$i]['default'] = "關鍵字,關鍵字"; //
#關鍵字
$i++;
$configs['meta'][$i]['name'] = 'system_meta_description';
$configs['meta'][$i]['title'] = '網頁描述';
$configs['meta'][$i]['description'] = '網頁描述';
$configs['meta'][$i]['formtype'] = 'textarea';
$configs['meta'][$i]['valuetype'] = 'text';
$configs['meta'][$i]['default'] = ""; //
#作者名稱
$i++;
$configs['meta'][$i]['name'] = 'system_meta_author';
$configs['meta'][$i]['title'] = '作者名稱';
$configs['meta'][$i]['description'] = '作者名稱';
$configs['meta'][$i]['formtype'] = 'textbox';
$configs['meta'][$i]['valuetype'] = 'text';
$configs['meta'][$i]['default'] = "郭俊良"; //
#作者名稱
$i++;
$configs['meta'][$i]['name'] = 'system_meta_copyright';
$configs['meta'][$i]['title'] = '版權所有人名稱';
$configs['meta'][$i]['description'] = '版權所有人名稱';
$configs['meta'][$i]['formtype'] = 'textbox';
$configs['meta'][$i]['valuetype'] = 'text';
$configs['meta'][$i]['default'] = "育將電腦工作室"; //
#FB要顯示的縮圖
$i++;
$configs['meta'][$i]['name'] = 'system_meta_og_image';
$configs['meta'][$i]['title'] = 'FB要顯示的縮圖';
$configs['meta'][$i]['description'] = 'FB要顯示的縮圖';
$configs['meta'][$i]['formtype'] = 'file';
$configs['meta'][$i]['valuetype'] = 'single_img';
$configs['meta'][$i]['default'] = ""; //
#輪播圖
$i++;
$configs['slider'][$i]['name'] = 'system_slider_image';
$configs['slider'][$i]['title'] = '輪播圖';
$configs['slider'][$i]['description'] = '輪播圖';
$configs['slider'][$i]['formtype'] = 'file';
$configs['slider'][$i]['valuetype'] = 'multiple_img';
$configs['slider'][$i]['default'] = "1920"; //
#寫入
//sn ofsn title sort enable kind url target
foreach ($configs as $kind => $config_one) {
foreach ($config_one as $sort => $config) {
if (!check_system_nameKind($config['name'], $kind)) {
$config['default'] = $mysqli->real_escape_string($config['default']);
$sql = "insert into `creative_system`
(`name`,`title`,`value`,`description`,`formtype`,`valuetype`,`sort`,`enable`,`kind`) values
('{$config['name']}','{$config['title']}','{$config['default']}','{$config['description']}','{$config['formtype']}','{$config['valuetype']}','{$sort}','1','{$kind}')"; //die($sql);
$mysqli->query($sql) or redirect_header("index.php", 3000, "更新系統失敗!!");
}
}
}
#------------------------------
return true;
}
- 編輯變數 system.php
- 附件包:請下載至根目錄解壓縮,並覆蓋全部 https://github.com/webugm/soft/raw/gh-pages/soft/tncomu10502/class_20170111.zip
- templates/admin/theme.html
<{if $WEB.file_name =="index.php"}>
<{include file="tpl/admin_index.html"}>
<{elseif $WEB.file_name =="icon.php"}>
<{include file="tpl/admin_icon.html"}>
<{elseif $WEB.file_name =="system.php"}>
<{include file="tpl/admin_system.html"}>
<{/if}>
- templates/admin/tpl/admin_system.html
<{if $op == "op_list"}>
<div class="panel panel-default">
<div class="panel-heading">系統變數管理列表</div>
<!-- /.panel-heading -->
<div class="panel-body">
<div class="row" style="margin-bottom: 10px;">
<div class="col-md-3">
<{$kind_form}>
</div>
</div>
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover">
<thead>
<tr class="active">
<th class="col-md-1 text-center">序</th>
<th class="col-md-3 text-center">變數名稱</th>
<th class="col-md-7 text-center">變數值</th>
<th class="col-md-1 text-center">功能</th>
</tr>
</thead>
<tbody>
<{foreach from=$rows item=row key=i}>
<tr>
<td class="text-center"><{<{$row.sort}>}></td>
<td><{$row.title}></td>
<td><{$row.value}></td>
<td class="text-center">
<a href="?op=op_form&sn=<{$row.sn}>" class="btn btn-xs btn-success">
編輯
</a>
</td>
</tr>
<{/foreach}>
</tbody>
</table>
</div>
<!-- /.table-responsive -->
</div>
<!-- /.panel-body -->
</div>
<{/if}>
<{if $op == "op_form"}>
<div class="panel panel-primary">
<div class="panel-heading"><h3 class="panel-title">系統變數管理 - <{$row.form_title}></h3></div>
<div class="panel-body">
<form role="form" action="<{$WEB.file_name}>" method="post" id="myForm" enctype="multipart/form-data">
<div class="row">
<div class="col-md-8">
<div class="form-group">
<label for="title"><{$row.title}></label>
<{$row.form}>
</div>
</div>
<div class="col-md-4">
<br />
<{$row.description}>
</div>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary">送出</button>
<button type="button" class="btn btn-warning" onclick="location.href=''">返回</button>
<input type='hidden' name='kind' value='<{$row.kind}>'>
<input type='hidden' name='name' value='<{$row.name}>'>
<input type='hidden' name='op' value='<{$row.op}>'>
<input type='hidden' name='sn' value='<{$row.sn}>'>
<input type='hidden' name='return' value=''>
</div>
</form>
</div>
</div>
<{/if}>
- 撈資料的函數
/function.php ##################################################################################### # 取得系統變數值 # get_system_var($kind,$name,$key); # (資料表,類別,欄名,資料庫欄名)# # 給前台使用,只撈 enable=1 ##################################################################################### function get_system_var($kind = "", $name = "", $key = "value") { global $mysqli; if (empty($kind) or empty($name)) { return; } $sql = "select `{$key}` from `creative_system` where `kind`='{$kind}' and `name`='{$name}' and enable='1'"; //die($sql); $result = $mysqli->query($sql) or redirect_header("index.php", 3, "取得系統變數發生錯誤!!"); list($value) = $result->fetch_row(); return $value; } - 前台的 head.php
#---- 取得關鍵字
$kind = "meta";
$name = "system_meta_keywords";
$meta['keywords'] = get_system_var($kind, $name);
#---- 取得網頁描述
$kind = "meta";
$name = "system_meta_description";
$meta['description'] = get_system_var($kind, $name);
#---- 取得作者名稱
$kind = "meta";
$name = "system_meta_author";
$meta['author'] = get_system_var($kind, $name);
#---- 版權所有人名稱
$kind = "meta";
$name = "system_meta_copyright";
$meta['copyright'] = get_system_var($kind, $name);
$smarty->assign("meta", $meta);