[1032]PHP入門
<?php
// 啟用 session
session_start();
//設定新聞發布密碼
$passwd='12345';
//設定樣板中 [var.變數] 對應到的幾個變數其預設值
$news_title=isset($_SESSION['news_title'])?$_SESSION['news_title']:"";
$news_content=isset($_SESSION['news_content'])?$_SESSION['news_content']:"";
$author=isset($_SESSION['author'])?$_SESSION['author']:"";
$ip=$_SERVER['REMOTE_ADDR'];
//整理傳來的自訂動作變數 $op
$op=isset($_REQUEST['op'])?$_REQUEST['op']:"";
//若 $op 值是 passwd_error,則顯示密碼錯誤訊息
if($op=="passwd_error"){
$passwd_error='
<div class="alert alert-danger">
密碼錯誤!!請檢查密碼是否正確!
</div>
';
}elseif($op=="db_error"){
$passwd_error='
<div class="alert alert-danger">
資料庫連線錯誤!!請檢查資料庫帳號、密碼是否正確!
</div>
';
}elseif($op=="save"){
//過濾外面傳來的變數
$op=isset($_POST['op'])?$_POST['op']:"";
$password=isset($_POST['password'])?$_POST['password']:"";
$news_title=isset($_POST['news_title'])?$_POST['news_title']:"";
$news_content=isset($_POST['news_content'])?$_POST['news_content']:"";
$author=isset($_POST['author'])?$_POST['author']:"";
//接收使用者輸入密碼,失敗轉回發布頁
if($op=="save" && (empty($password) or $password!=$passwd)){
// 產生 cookie
// setcookie('news_title',$news_title);
// setcookie('news_content',$news_content);
// 產生 session,以記住剛剛使用者輸入的資料,避免需要重打
$_SESSION['news_title']=$news_title;
$_SESSION['news_content']=$news_content;
//轉回編輯頁面,並用 get 方式,傳遞 $op 以便顯示密碼有誤的訊息
header("location:post.php?op=passwd_error");
}else{
// nl2br()將換行符號轉換為<br>標籤
//$news_content=nl2br($news_content);
// 發布正確,剛剛輸入的內容無需在記住,因此清空之。
$_SESSION['news_title']=$_SESSION['news_content']='';
}
//連線到資料庫
$link=mysql_connect("localhost","帳號","密碼");
//假如連上
if($link){
//設定編碼為 utf-8
mysql_query("SET NAMES 'utf8'");
//選擇資料庫
mysql_select_db("tad1032");
//存到資料庫
$sql="insert into eznews (news_title, news_content, ip, author, post_time) values('$news_title', '$news_content', '$ip', '$author', now())";
mysql_query($sql);
//轉向
header("location:index.php");
}else{
$_SESSION['news_title']=$news_title;
$_SESSION['news_content']=$news_content;
//轉回編輯頁面,並用 get 方式,傳遞 $op 以便顯示密碼有誤的訊息
header("location:post.php?op=db_error");
}
}else{
$passwd_error='';
}
//載入小強樣板引擎
include_once('tbs_class.php');
//實體化一個樣板引擎
$TBS =new clsTinyButStrong ;
//套用 post_tpl.html 樣板
$TBS->LoadTemplate('post_tpl.html',False) ;
//顯示頁面
$TBS->Show() ;
?>