ホームページ  >  記事  >  バックエンド開発  >  PHP+MySQL で簡単なゲストブックを作成する_PHP チュートリアル

PHP+MySQL で簡単なゲストブックを作成する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:42:50733ブラウズ

メッセージ表示ページ: 前の例と比較して、ページングとメッセージ返信の機能が追加されています

メインコード:
install/index.php: プログラムインストールページ

コードをコピー コードは次のとおりです:

if($_GET["action"]!=1)
{
?>

<表の境界線="1">

MySQL 主机名:



MySQL用户名:



MySQL秘密コード:



データ库名:



留言本每页记录数:



管理员账号:



管理员密コード:



留言本标题:








}else{
@set_time_limit(1000);
$lockfile = "install.lock";
$host="ローカルホスト";
$user="ルート";
$パスワード="";
$database="ruizhi_メッセージボード";
$ページ番号=10;
$admin_name="管理者";
$admin_password="123456";
$boardname="RUIZHINET留言本";
if($_POST["ホスト"]!=""){
$host=$_POST["ホスト"];
}
if($_POST["ユーザー"]!=""){
$user=$_POST["ユーザー"];
}
if($_POST["パスワード"]!=""){
$password=$_POST["パスワード"];
}
if($_POST["データベース"]!=""){
$database=$_POST["データベース"];
}
if($_POST["pagenum"]!=""){
$pagenum=$_POST["pagenum"];
}
if($_POST["管理者名"]!=""){
$管理者名=$_POST["管理者名"];
}
if($_POST["admin_password"]!=""){
$admin_password=$_POST["admin_password"];
}
if($_POST["ボード名"]!=""){
$ボード名=$_POST["ボード名"];
}
if(file_exists($lockfile)){
exit("已经インストール过了,如果要重新インストール请先删除install/install.lock");
}
$conn=mysql_connect($host,$user,$password);
if($conn){
$sql_drop_database="存在する場合はデータベースを削除 `".$database."`";
$sql_create_database="データベースの作成`".$database."`";
$sql_create_table_messageboard="CREATE TABLE `messageboard` (
`id` int(11) NOT NULL auto_increment、
`author` varchar(15) NOT NULL、
`title` varchar(30) NOT NULL、
`smiles` varchar (30) NOT NULL、
`content` mediatext、
`photo` varchar(30) NOT NULL、
`addtime` int(11) デフォルト NULL、
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET= gbk AUTO_INCREMENT=1";
$sql_create_table_reply="CREATE TABLE `reply` (
`id` int(11) NOT NULL auto_increment、
`msgid` int(11) NOT NULL、
`content` mediatext、
`addtime` int(11) デフォルト NULL ,
主キー (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk AUTO_INCREMENT=1";
if(mysql_query($sql_drop_database,$conn)){
if(mysql_query($sql_create_database,$conn)){
mysql_select_db($database,$conn);
if(mysql_query($sql_create_table_messageboard,$conn) && mysql_query($sql_create_table_reply,$conn)){
$config_file="../config.php";
$config_strings="$config_strings.="$boardname="".$boardname."";n";
$config_strings.="$host="".$host."";n";
$config_strings.="$user="".$user."";n";
$config_strings.="$password="".$password."";n";
$config_strings.="$database="".$database."";n";
$config_strings.="$pagenum="".$pagenum."";n";
$config_strings.="$admin_name="".$admin_name."";n";
$config_strings.="$admin_password="".$admin_password."";n";
$config_strings.="$conn=mysql_connect($host,$user,$password);n";
$config_strings.="mysql_select_db($database,$conn);n";
$config_strings.="?>";
if($fp=fopen($config_file,"wb")){
if(fwrite($fp,$config_strings)){
if($fp2 = fopen($lockfile, 'w'))
{
fwrite ($fp2,'1212');
fclose($fp2);
}
echo "インストール成功!配置文件:config.php,您可手工修正文件";
echo "n进入系统首页";
}else{
exit("文件写入失败");
}
fclose($fp);
}
}else{
exit(" CREATE TABLE を実行できません语句:".$sql_create_table);
}
}else{
exit(" CREATE DATABASE を実行できません语句:".$sql_create_database);
}
}else{
exit(" DROP DATABASE を実行できません语句:".$sql_drop_database);
}
}else{
exit("接続データベース库失败,请检查MySQL 主机名、用户名和密码");
}
}

生成されたconfig.php文件:
复制代码代码如下:

$boardname="RUIZHINET留言本";
$host="ローカルホスト";
$user="ルート";
$パスワード="";
$database="ruizhi_メッセージボード";
$pagenum="10";
$admin_name="管理者";
$admin_password="管理者";
$conn=mysql_connect($host,$user,$password);
mysql_select_db($database,$conn);
?>

index.php:程序显示页面
复制代码代码如下:

if(!$_GET["page"]){
$page=1;
}else{
$page=$_GET["page"]
}
$sql="SELECT ID FROM メッセージボード";
$result=mysql_query($sql,$conn);
$row_num=mysql_num_rows($result);
$page_count=ceil($row_num/$pagenum);
echo "現在 ".$row_num" があります. "メッセージ";
echo " ".$page_count."ページ表示";
echo " 現在のページは ".$page.";
?>
if ($row_num==0){
echo "まだメッセージがありません"
?>
$offset= ( $page-1)*$pagenum;
$sql2="ID DESC LIMIT による SELECT * FROM メッセージボードの順序
$result2=mysql_query($sql2,$conn); ($result2)){
$offset++;
echo "";
echo "".";
echobase64_decode($row[title])." - ".base64_decode($row[author])."月 d 日 ",$row[addtime])."] ";
if(isset($_SESSION["admin_name"]) && $_SESSION["admin_name"]!=""){
echo "< =del.php?id=".$row["id"].">削除| ";
echo "返信";
}
echo "";
echo "".base64_decode ($row ["コンテンツ"])."";
if($row["photo"]!="NONE")
{
echo "< td align= left>";
}
$sql3="SELECT * FROM Reply WHERE msgid=$row[id] ORDER BY id DESC";
$result3=mysql_query($sql3,$conn);
while($row3=mysql_fetch_array($result3)){
echo " align=left bgcolor=#99CCFF>返信: ".date("Y年m月d日",$row3[addtime]);
if(isset($_SESSION["admin_name"]) && $_SESSION[ "admin_name" ]!=""){
echo "削除"
}
echo " ";
echo "".base64_decode($row3[content])."";
}
}
?>
if($page_count>1){
$prev_page=$page+1;
if($page<=1){
echo "ページ | ";
}else{
echo "最初のページ ";
}
if($prev_page< ;1){
echo "前のページ| ";
}else{
echo "前のページ $page_count){
echo "次のページ| ";
}else{
echo " | "; }
if($page>=$page_count){
echo "最後のページ";
}else{
echo "
最後のページ< /a>";
}
}
?>

}
?>
if(isset($_SESSION["admin_name"]) && $ _SESSION["admin_name"]!=""){
?>

終了管理

}else{
?>

< /p>


保存.php: メッセージを保存します



コードをコピーします

コードは次のとおりです:


if(!$_POST["author"] || !$_POST["content"])
{
echo "n";
echo "メッセージの名前または内容を入力しませんでした。2 秒後にホームページに戻ってください。";
関数ランダム($length)
{
$hash = 'IMG-';
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
$max = strlen($chars) - 1; ) * 1000000; for( $i = 0; $ i {
$hash .= $chars[mt_rand(0, $max)]
}
return $hash
}
function fileext;ファイル名)
{
return substr( strrchr($filename, '.'), 1)
}
if($_FILES["upfile"]["name"]!=""){
$uploaddir="upfile /";
$type=array ("jpg","gif","bmp","jpeg","png");
if(!in_array(strto lower(fileext($_FILES['upfile']['name '])),$type) )
{
echo "n";
$text=implode(",", $type);
echo "次の種類のファイルのみをアップロードできます: ",$text,"
"
}
else
{
$filename=explode(") ,$_FILES['upfile']['name ']);
do
{
$filename[0]=random(10);
$uploadfile=$ Uploaddir.$randname;
} while(file_exists( $uploadfile));
if (move_uploaded_file($_FILES['upfile']['tmp_name'],$uploadfile)){
echo "画像が正常にアップロードされました"; =1;
}
else{
echo " 画像のアップロードに失敗しました。 ";
$imgflag=0;
}
}
}
$author=base64_encode($_POST["author"]);
$content=base64_encode(ereg_replace("rn","
",htmlspecialchars( $_POST["コンテンツ"])));
$smiles=base64_encode($_POST["スマイル"]);
if($_POST["タイトル"]){
$title=base64_encode($_POST["タイトル" ]);
}else{
$title=base64_encode("無題");
$addtime=time();
$photo=base64_encode($randname); else{
$photo="NONE";
}
//データを保存
$sql="メッセージボードに挿入(author,title,smiles,content,photo,addtime) VALUES('$author','$title' , '$smiles','$content','$photo',$addtime)";
mysql_query($sql,$conn);
echo "n";
echo "メッセージありがとうございます。2 秒後にホームページに戻ります";
?>
savereply.php: 返信を保存
if( $_SESSION ["admin_name"]) && $_SESSION["admin_name"]!="")
{
if(!$_POST["content"])
{
echo "n";
echo "返信内容が入力されていません。2 秒以内にホームページに戻ってください";
exit();
}else{
$ msgid=$_POST["msgid"] ;
$content=base64_encode(ereg_replace("rn","
",htmlspecialchars($_POST["content"])));
//データを保存
$sql= "INSERT INTO Reply(msgid,content,addtime) VALUES($msgid,'$content',$addtime)"
mysql_query($sql,$conn); meta http-equiv="refresh" content ="2;url=index.php">n";
echo "メッセージありがとうございます。2 秒後にホームページに戻ります";
}
}
? >






http://www.bkjia.com/PHPjc/320898.html

www.bkjia.com

本当

http://www.bkjia.com/PHPjc/320898.html

技術記事
メッセージ表示ページ: 前の例と比較して、ページングとメッセージ返信の機能が追加されています。 メイン コード: install/index.php: プログラムのインストール ページのコピー コードは次のとおりです。 ?php if($_GET["acti.. .