Advertisement
Al_Faqun

/Phenya/Admin/process.php

Aug 21st, 2016
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.30 KB | None | 0 0
  1. <?php
  2.     include_once('__php__.php');
  3.     include_once(DOC_ROOT . '/Phenya/helpers.inc.php');
  4.     session_true_start();
  5.  
  6.     //подключаемся к БД
  7.     $config = parse_ini_file(DOC_ROOT . '/ini/config_phenya.ini');
  8.     include DOC_ROOT . '/includes/db.inc.php';
  9.  
  10.         //если отправили форму с цитатой, записываем данные в сессию, чтобы не терять во время перехода между страницами
  11.         if (isset($_POST['textarea'])) {
  12.             $_SESSION['textarea'] = $_POST['textarea'];
  13.             if (isset($_POST['select'])) {
  14.                 $_SESSION['select'] = $_POST['select'];
  15.             }
  16.             //редирект на ту же страницу, заодно очищает массив $_POST
  17.             //здесь и далее при помощи редиректов реализуем шаблон post - redirect - get, благодаря которому F5 не отсылает данные заново
  18.             header('Location: ' . "/Phenya/Admin/process.php", true, 303);     
  19.             exit();
  20.         }
  21.        
  22.         //после редиректа: обрабатываем данные из формы, добавляем цитату в базу данных
  23.         if (isset($_SESSION['textarea'])) {
  24.             $quote_text = $mysqli->real_escape_string($_SESSION['textarea']);
  25.             $sql = "INSERT INTO `quotes` SET
  26.                 `quote`='$quote_text'";
  27.             if (!$mysqli->query($sql))
  28.             {
  29.                 $error = 'Error inserting quote: ' . $mysqli->error;
  30.                 include DOC_ROOT . '/error.html.php';
  31.                 exit();
  32.             }
  33.             //добавляем в базу данных запись о том, какой категории принадлежит цитата
  34.             if (isset($_SESSION['select'])) {
  35.                 $select = $mysqli->real_escape_string($_SESSION['select']);
  36.                 $quote_id = $mysqli->insert_id;
  37.                 $sql = "SELECT `id` FROM `categories`
  38.                         WHERE `name`='$select' LIMIT 1";
  39.                 if ($result = $mysqli->query($sql))
  40.                 {
  41.                     $category_id= mysqli_fetch_row($result)[0];
  42.                     mysqli_free_result($result);
  43.                 }
  44.                 else {
  45.                     $error = 'Error selecting quote category id: ' . $mysqli->error;
  46.                     include DOC_ROOT . '/error.html.php';
  47.                     exit();
  48.                 }
  49.  
  50.                 $sql = "INSERT INTO `quote_category` SET
  51.                         `quote_id`=$quote_id,
  52.                         `category_id`=$category_id";
  53.                 if (!$mysqli->query($sql))
  54.                 {
  55.                     $error = 'Error inserting quote-category record: ' . $mysqli->error;
  56.                     include DOC_ROOT . '/error.html.php';
  57.                     exit();
  58.                 }
  59.             }
  60.             $_SESSION['output'] = 'Успешно добавили цитату.';    //эта переменная отображается на страничке после редиректа (статус)
  61.             header('Location: ' . "/Phenya/Admin/",true,303);
  62.             exit;
  63.         }
  64.  
  65.         //каждый раз когда хотим добавить цитату, сперва проверяем пароль на правильность
  66.         if (isset($_POST['pswd'])) {
  67.             $_SESSION['pswd'] = $_POST['pswd'];
  68.             include DOC_ROOT . '/Phenya/Private/pswd_check.php';
  69.             header('Location: ' . "/Phenya/Admin/",true,303);    //
  70.             exit;
  71.         }
  72.        
  73.         //если пользователь хочет вернуться на главную страницу
  74.         if (isset($_POST['back'])) {
  75.             header('Location: ' . "/Phenya/",true,303);
  76.             exit;
  77.         }
  78. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement