2012年12月27日 星期四

XOOPS與Smarty記事

<{xoImgUrl}>代表完整佈景路徑。舊版寫法:<{$xoops_imageurl}
<{xoAppUrl}>代表網站網址。舊版寫法:<{$xoops_url}>

XOOPS中使用常數的方式:

<{$smarty.const.常數名}>
XOOPS中的預設常數:
<{$smarty.const._REGISTER}>輸出Register
<{$smarty.const._LOGOUT}>輸出Logout
<{$smarty.const._MAIN}>輸出Main
<{$smarty.const._MANUAL}>輸出Manual
<{$smarty.const._INFO}>輸出Info
<{$smarty.const._CPHOME}>輸出Control Panel Home
<{$smarty.const._YOURHOME}>輸出Home Page
<{$smarty.const._GUESTS}>輸出Guests
<{$smarty.const._MEMBERS}>輸出Members
<{$smarty.const._LOGIN}>輸出USER Login
<{$smarty.const._USERNAME}>輸出Username
<{$smarty.const._PASSWORD}>輸出Password

在Smarty模板中直接使用PHP代碼

<{php}>PHP codes<{/php}>


用戶相關的變數

<{$xoops_userid}>用戶ID
<{$xoops_uname}>用戶姓名
<{$xoops_isuser}>如果是註冊用戶則為1,否則為0
<{$xoops_isadmin}>管理員為1,否則為0(管理員是指當前模塊的管理員,不是全站)
<{$xoops_user_method}> 註冊用戶在個人資料中所選擇的通知方式


模塊輸出頁面相關的變數
<{$xoops_dirname}>當前模塊的目錄名稱
<{$xoops_contents}>模塊輸出的頁面內容
<{$xoops_pagetitle}>模塊輸出的頁面標題
<{$xoops_module_header}>模塊輸出的header內容
<{$SCRIPT_NAME}>當前訪問頁面的php文件,此變量必須使用大寫,輸出結果,如XOOPS_ROOT_PATH/modules/news/index.php
<{$xoops_requesturi}>當前訪問頁面的URI,輸出結果如 /modules/news/article.php?storyid=1


2012年12月24日 星期一

php與mysql的基本語法

在上一篇『第一步~連結mysql和php』中的資料庫連結語法我們可以單獨把它存成一個檔,例如 mysql_connect.php 然後在新文件中將它引入,就可以不用在不同的頁面中都要重複貼入一大串連結語法,而且萬一要修改到資料庫的帳號密碼等內容時,才不會修改到昏倒....
//引入連結資料庫檔吧
include("mysql_connect.php");

//接下來將要取出writting資料表的語法存到$sql變數中,用到的是SELECT的SQL語法,*字號是代表要取得資料表中所有的欄位哦
$sql = "SELECT * FROM `writting`; 


//執行$sql的語法查詢後將結果再存入$result嚕

$result = mysql_query($sql);

//最後最重要的是要分別取得查詢結果中的所有資料或單一筆資料,方法不只一種,主要是用mysql_fetch_*()系列函數,常用如下:

mysql_fetch_row() //取出以數字為索引值的結果,從0開始哦。
mysql_fetch_assoc() //取出以字串(欄位名稱)為索引值的結果。
mysql_fetch_array() //取出結果可以是以字串(欄位名稱)為索引值,也可以是以數字為索引值。


//使用如下: 
$row=mysql_fetch_assoc($sql);

//輸出 title 欄位值
echo $row["title"];

第一步~連結mysql和php

//設定一個conn連線,將 $dbhost, $dbuser, $dbpass 分別替換成資料庫位置及使用者名稱、密碼,如果連結失敗就顯示 'Error with MySQL connection'
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error with MySQL connection');

//連結資料庫後,如果你的網頁是使用utf8,可以在使用下面的語法避免亂碼產生
mysql_query("SET NAMES 'utf8'");

//選擇資料庫
mysql_select_db($dbname);



//設定台灣的時區
date_default_timezone_set('Asia/Taipei');