:::

3-2 post.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() ;
?>

 


:::

搜尋

QR Code 區塊

https%3A%2F%2Ftad0616.cp22.secserverpros.com%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbdsn%3D1034%26tbsn%3D34

書籍目錄

展開 | 闔起

線上使用者

357人線上 (144人在瀏覽線上書籍)

會員: 0

訪客: 357

更多…