ホームページ >バックエンド開発 >PHPチュートリアル >mysql (3)_PHP チュートリアルに基づくフォーラム
###################
# func.php #########
################ ######
require("config.inc.php");
##### 检查用户の有無 #####
function is_user_exits($name) {
$name=trim($name);
$name=ereg_replace("'","‘",$name);
$name=htmlspecialchars($name);
$SQL="ユーザー WHERE から名前を選択 name='$name'";
$result=mysql_query($SQL) または die(mysql_error());
$row=mysql_fetch_Array($result);
$name=$row[名前];
$name を返します。
}
##### 检查バージョンの有無 #####
function is_board_exits($baord){
$sql="select name from boardinfo where name='$baord'";
$result=mysql_query($sql) または die("出现错误");
$row=mysql_fetch_array($result);
$name=$row[名前];
$name を返します。
}
##### 追加新ユーザー関数 #####
function adduser(){
global $name,$sex,$realname,$password,$address,$oicq,$homepage,$phone,$電子メール、$qm、$regtime;
$name=trim($name);
$name=ereg_replace("'","‘",$name);
$password=trim($password);
$name=htmlspecialchars($name);
$realname=htmlspecialchars($realname);
$address=htmlspecialchars($address);
$oicq=htmlspecialchars($oicq);
$homepage=htmlspecialchars($homepage);
$phone=htmlspecialchars($phone);
$email=htmlspecialchars($email);
$qm=htmlencode2($qm);
$regtime=date("Y-m-d H:i:s");
$sql="ユーザー (名前,性別,実名,パスワード,アドレス,oicq,ホームページ,スコア,電話,電子メール,qm,regtime,slaveboard) 値 ('$name','$sex','$realname) に挿入','$password','$address','$oicq','$homepage','0','$phone','$email','$qm','$regtime','')" ;
mysql_query($sql) または die(mysql_error());
}
##### URL 重定方向 ######
function redirect2($url){
header("Location:$url");
}
##### 创建版面 ######
function create_board_table($name,$chinesename){
$name=trim("$name");
$sql="CREATE TABLE $name(id int(11) NOT NULL AUTO_INCREMENT,title varchar(50) NOT NULL,writer varchar(50) NOT NULL,cont longtext, size int,writetime varchar(20) NOT NULL,hits int(4) DEFAULT '0',good varchar(1),renum int(4) DEFAULT '0',slaveid int(11) DEFAULT '0',fromip varchar(15),PRIMARY KEY (id))";
mysql_query($sql);
$sql="ボード情報 (名前,中国語名) に値を挿入('$名前','$中国語名')";
mysql_query($sql);
}
###### 删除版面 ######
function drop_board_table($name){
$sql="テーブル $name をドロップ";
mysql_query($sql);
$sql="ボード情報から削除 where name='$name'";
mysql_query($sql);
}
######## 修正版面 ###
function update_board($name,$chinesename) {
$sql="ボード情報の更新 set name='$name',chinesename='$chinesename' where name ='$名前'";
mysql_query($sql);
}
##### 追加文章 ######
function add_doc($board){
global $title,$name,$cont,$writer,$fromip,$writetime,$qm,$new_topic_score;
$title=trim($title);
$title=substr($title,0,49);
$size=strlen($cont);
$cont=htmlencode2($cont);
$cont=$cont."
"."-------
".$qm;
$writetime=date("Y-m-d H:i:s");
$fromip=getenv("remote_addr");
$name=htmlspecialchars($name);
$writer=$name;
$sql="$board (title,writer,cont,size,writetime,fromip) に挿入 value('$title','$name','$cont','$size','$writetime',' $fromip')";
mysql_query($sql);
add_score($writer,$new_topic_score);
}
##### 回复文章 #####
function re_doc($board,$slaveid){
global $title,$name,$cont,$writer,$fromip,$writetime,$qm,$ re_トピックスコア;
$title=trim($title);
$title=substr($title,0,49);
$size=strlen($cont);
$cont=htmlencode2($cont);
$cont=$cont."
"."-------
".$qm;
$writetime=date("Y-m-d H:i:s");
$name=htmlspecialchars($name);
$writer=$name;
$fromip=getenv("remote_addr");
$sql="$board (title,writer,cont,size,writetime,slaveid,fromip) に挿入 value('$title','$writer','$cont','$size','$writetime') ,'$slaveid','$fromip')";
mysql_query($sql);
$sql="update $board set renum=renum+1 where id=$slaveid";
mysql_query($sql);
add_score($writer,$re_topic_score);
}
##### 删除文章 ####
function del_doc($board,$id){
global $remove_score;
$sql="select * from $board where id=$id";
$sql_result=mysql_query($sql);
$sql_row=mysql_fetch_array($sql_result);
$writer=$sql_row[ライター];
remove_score($writer,$remove_score);
$slaveid=$sql_row[slaveid];
$sql="select * from $board where id=$slaveid";
$sql_result=mysql_query($sql);
$sql_row=mysql_fetch_array($sql_result);
if ($sql_row[renum]>0){
$sql="update $board set renum=renum-1 where id=$slaveid";
mysql_query($sql);
}
$sql="id=$id の $board から削除";
mysql_query($sql);
$sql="slaveid=$id の $board から削除";
mysql_query($sql);
}
#### 转换 html 特殊文字和
#####
function htmlencode2($str){
$str=htmlspecialchars($str);
$str=nl2br($str);
$str; を返します。
}
##### 增加一 hit ####
function add_one_hit($board,$id){
$sql="update $board set hits=hits+1 where id=$id";
mysql_query($sql);
}
##### 检查用户密码 ####
function check_user_password($name,$password){
$name=trim($name);
$name=ereg_replace("'","‘",$name);
$name=htmlspecialchars($name);
$password=trim($password);
$sql="name='$name' のユーザーからパスワードを選択してください";
$sql_result=mysql_query($sql);
$sql_row=mysql_fetch_array($sql_result);
if($password<>$sql_row[パスワード]){
$result=0;
}
else{
$result=1;
setcookie ("jl_forum[name]",$name);
setcookie ("jl_forum[パスワード]",$password);
}
$result を返す;
}
##### 检查管理员密码 ####
function check_admin_password(){
$sql="select * from user where name='$jl_forum[name]'";
$sql_result=mysql_query($sql);
$sql_row=mysql_fetch_array($sql_result);
if ($jl_forum[パスワード]==$sql_row[パスワード]){
$result=1;
}
else {
$result=0;
}
if ($sql_row[slaveboard]==$jl_forum[board]){
$result=1;
}
else {
$result=0;
}
$result を返す;
}
##### 修正人名料 ####
function change_profile($name){
global $sex,$realname,$password,$address,$oicq,$homepage,$phone,$email, $qm;
$name=trim($name);
$name=htmlspecialchars($name);
$realname=htmlspecialchars($realname);
$address=htmlspecialchars($address);
$oicq=htmlspecialchars($oicq);
$homepage=htmlspecialchars($homepage);
$phone=htmlspecialchars($phone);
$email=htmlspecialchars($email);
$qm=htmlencode2($qm);
$sql="ユーザー設定の更新 sex='$sex',realname='$realname',password='$password',address='$address',oicq='$oicq',homepage='$homepage', Phone='$phone',email='$email',qm='$qm' where name='$name'";
mysql_query($sql);
}
##### 显示错误 ####
function show_error($id){
redirect2("wrong.php?id=$id");
}
##### 追加版主 ####
function add_admin($board,$name){
$name=trim($name);
$sql="更新ユーザーセットslaveboard='$board' where name='$name'";
mysql_query($sql);
}
##### 删除版主 #####
function del_admin($name){
$name=trim($name);
$name=htmlspecialchars($name);
$sql="更新ユーザーセットslaveboard='' where name='$name'";
mysql_query($sql);
}
##### 贴子转精华 ####
function set_good($board,$id){
$sql="update $board set good='y' where id=$id";
mysql_query($sql);
}
##### 转出精华 ###
function set_no_good($board,$id){
$sql="update $board set good='' where id=$id";
mysql_query($sql);
}
##### 导出签名 #####
function expl_qm($name){
$name=htmlspecialchars($name);
$sql="select qm from user where name='$name'";
$sql_result=mysql_query($sql);
$sql_row=mysql_fetch_array($sql_result);
$qm=$sql_row[qm];
$qm を返します。
}
##### 管理员 #####
function adminok() {
if ($jl_admin[name]==$admin_name and $jl_admin[password]==$admin_password) {
return 1;
}
else {
return 0;
}
}
##### 增加积分 #####
function add_score($name,$num) {
$name=htmlspecialchars($name);
$sql="ユーザー設定スコアを更新=スコア+$num where name='$name'";
mysql_query($sql);
}
##### 减少积分 ####
function Remove_score($name,$num) {
$name=htmlspecialchars($name);
$sql="ユーザー設定スコアを更新=スコア-$num where name='$name'";
mysql_query($sql);
}
#### 送信留言 ####
function sendmsg() {
global $fromname,$name,$cont;
$name=htmlspecialchars($name);
$fromname=htmlspecialchars($fromname);
$cont=htmlencode2($cont);
$wt=date("Y-m-d H:i:s");
$sql="メッセージに挿入 (name,fromname,cont,writetime) 値 ('$name','$fromname','$cont','$wt')";
mysql_query($sql);
}
#### 删除留言 ####
function delmsg($id) {
$sql="id=$id のメッセージから削除";
mysql_query($sql);
}
### 留言がこの人に属しているかどうか #####
function is_this_user($id) {
$sql="id=$id のメッセージから名前を選択";
$sql_result=mysql_query($sql);
$sql_row=mysql_fetch_row($sql_result);
if ($sql_row[name]==$jl_forum[name]) {
return 1;
}
else {
return 0;
}
}
?>
##########################
# good.php ##########
########################
require("func.php");
$sql="select * from boardinfo";
$sql_result=mysql_query($sql);
?>
论坛精华区 | ||||
| ||||
论坛信息 | ||||
| ||||
版面:echo $chinesename; ?>精华区 | 版主:while ($sql_row=mysql_fetch_array($sql_result)) { echo "$sql_row[名前]"。" "; } #选择出留言纪录; $sql="select * from $board where good='y'"; $temp=mysql_query($sql); $sum=mysql_num_rows($temp); $totalpage=ceil($sum/$pagesize); if ($sum==0) { $totalpage=1; } # 分页 if($page $page=1; } elseif ($page>$totalpage){ $page=$totalpage; } $offset=($page-1)*$pagesize; $sql="select * from $board where good='y' order by ID desc limit $offset,$pagesize"; $sql_result=mysql_query($sql); ?> | 共有篇 | " >刷新浏览 | |
回帰 | 主题 | 時間 | 人气 | |
"; エコー「[*]」; エコー" | "; $sql_row[タイトル] | ";$sql_row[writetime] | ";$sql_row[hits] | ";|