PHP фрагменты кода

Последнее обновление: 5 июля, 2020

Без рубрики

Простая защита страницы php паролем

<?php
/* Проверяем по переменной в куках залогинены мы или нет */
// берем из куков переменную
$in_cookie_login = $_COOKIE['logged'];
// сравниваем её с нужным значением
if ( $in_cookie_login == 'yes' ) {
/* здесь мы грузим информацию, которую мы хотели скрыть от всех */
// кнопка выйти, которая возвращает к странице ввода пароля
?>
<span id="exit">Выйти</span>

<script language = 'javascript'>
exit.onclick = function() {
var date = new Date(new Date().getTime() + 60 * 1000 * 60 * 6);
document.cookie = "logged=''; path=/; expires=" + date.toUTCString();
location.href = "../index.php"; };
</script>
<?php
} else { /* Выводим панель для ввода пароля */ ?>
<form method="post">
<input type="password" name="password">
<input type="submit" name="login" value="Вход">
</form>
<?php /* Пишем обработчик для панели для ввода пароля */
    if (isset($_POST['login'])) {
        // получаем введенное пользователем значение пароля
        $in_form_pass = $_POST['password'];
        // открываем файл с паролем для чтения
        $file_open = file("password.php");
        // считываем пароль из файла
        echo $in_file_pass = trim($file_open[0]);
        // сравниваем эти два пароля
        if ( $in_form_pass == $in_file_pass ) {
        // если пароли одинаковые - устанавливаем в куках значение залогиненный = да и перезагружаем страницу
            ?>
            <script language = 'javascript'>
            var date = new Date(new Date().getTime() + 60 * 1000 * 60 * 6);
            document.cookie = 'logged=yes; path=/; expires=' + date.toUTCString();
            // function reload() { location.href = '../index.php'; }
            setTimeout(reload, 500);
            </script>
            <?php
            }
        }
    }
/* Подключаем jquery */ ?>
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

Счетчик обращений к файлу на php (счетчик скачиваний)

Используем директиву mod_rewrite в файле .htaccess:

RewriteEngine on
RewriteRule ^price.xls$ /log.php

Обрабатываем запрос, дописываем в файл логов и перенаправляем на файл. Код log.php:

<?php
  $file = "log.txt"; // Имя файла
  $handler = fopen($file, "a+"); // Открываем файл для записи
  $str = "IP=".$_SERVER["REMOTE_ADDR"].";date=".date("Y-m-d H:i:s")."\n"; // так выглядит строка - записываем, например, ip и дату
  fwrite($handler, $str); // Добавляем строку в конец файла
  fclose($handler); // Закрываем дескриптор

  $file = "price.xls"; // Скачиваемый файл
  header("Content-Disposition: attachment; filename=your_price.xls;"); // Сообщаем браузеру, что сейчас должна начаться скачка файла (filename отвечает за имя файла, который увидит пользователь)
  echo file_get_contents($file); // Отдаём файл браузеру
?>

php вывод сокращенного месяца на 3х языках

Решение не рациональное но рабочее, его можно оптимизировать значительно, здесь публикую чтобы было под рукой. Результат выполнения будет в формате вроде: 28 Nov, 2016

<?php
echo get_the_date( 'd'.' ' );
if ( get_the_date( 'n' ) == 1 ) :
  if ($current_lang == 'uk') echo 'Сiч'.', ';
  else if ($current_lang == 'ru') echo 'Янв'.', ';
  else if ($current_lang == 'en') echo 'Jan'.', ';
  endif;
if ( get_the_date( 'n' ) == 2 ) :
  if ($current_lang == 'uk') echo 'Лют'.', ';
  else if ($current_lang == 'ru') echo 'Фев'.', ';
  else if ($current_lang == 'en') echo 'Feb'.', ';
  endif;
if ( get_the_date( 'n' ) == 3 ) :
  if ($current_lang == 'uk') echo 'Бер'.', ';
  else if ($current_lang == 'ru') echo 'Мрт'.', ';
  else if ($current_lang == 'en') echo 'Mar'.', ';
  endif;
if ( get_the_date( 'n' ) == 4 ) :
  if ($current_lang == 'uk') echo 'Квiт'.', ';
  else if ($current_lang == 'ru') echo 'Апр'.', ';
  else if ($current_lang == 'en') echo 'Apr'.', ';
  endif;
if ( get_the_date( 'n' ) == 5 ) :
  if ($current_lang == 'uk') echo 'Трав'.', ';
  else if ($current_lang == 'ru') echo 'Май'.', ';
  else if ($current_lang == 'en') echo 'May'.', ';
  endif;
if ( get_the_date( 'n' ) == 6 ) :
  if ($current_lang == 'uk') echo 'Черв'.', ';
  else if ($current_lang == 'ru') echo 'Июн'.', ';
  else if ($current_lang == 'en') echo 'June'.', ';
  endif;
if ( get_the_date( 'n' ) == 7 ) :
  if ($current_lang == 'uk') echo 'Лип'.', ';
  else if ($current_lang == 'ru') echo 'Июл'.', ';
  else if ($current_lang == 'en') echo 'July'.', ';
  endif;
if ( get_the_date( 'n' ) == 8 ) :
  if ($current_lang == 'uk') echo 'Серп'.', ';
  else if ($current_lang == 'ru') echo 'Авг'.', ';
  else if ($current_lang == 'en') echo 'Aug'.', ';
  endif;
if ( get_the_date( 'n' ) == 9 ) :
  if ($current_lang == 'uk') echo 'Вер'.', ';
  else if ($current_lang == 'ru') echo 'Сен'.', ';
  else if ($current_lang == 'en') echo 'Sept'.', ';
  endif;
if ( get_the_date( 'n' ) == 10 ) :
  if ($current_lang == 'uk') echo 'Жовт'.', ';
  else if ($current_lang == 'ru') echo 'Окт'.', ';
  else if ($current_lang == 'en') echo 'Oct'.', ';
  endif;
if ( get_the_date( 'n' ) == 11 ) :
  if ($current_lang == 'uk') echo 'Лист'.', ';
  else if ($current_lang == 'ru') echo 'Нбр'.', ';
  else if ($current_lang == 'en') echo 'Nov'.', ';
  endif;
if ( get_the_date( 'n' ) == 12 ) :
  if ($current_lang == 'uk') echo 'Груд'.', ';
  else if ($current_lang == 'ru') echo 'Дек'.', ';
  else if ($current_lang == 'en') echo 'Dec'.', ';
  endif;	
echo get_the_date( 'Y' );
?>

ы