PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (6): [1] 2 3 4 5 6 »

> Найдено сообщений: 86
Snic Отправлено: 04 Марта, 2011 - 10:32:29 • Тема: кэширование • Форум: Программирование на PHP

Ответов: 1
Просмотров: 276
Привет, добавил к движку кэширование, возникла проблема с капчей, подкиньте идейку как реализовать чтобы капча не кэшировалась, какие есть идеи?

кэширую так
PHP:
скопировать код в буфер обмена
  1.  
  2. // кеш - старт
  3. $url=$_SERVER['REQUEST_URI'];
  4. $crc=md5($url);
  5.  
  6. $modif=time()-@filemtime ('include/cache/'.$crc);
  7.  
  8. if ($modif<600)
  9. {
  10.         include ('include/cache/'.$crc); exit();
  11. }
  12.  
  13.  
  14. // тело страницы
  15.  
  16. // конец кеша
  17. $cache = ob_get_contents();
  18. echo $cache;
  19.  
  20. $fp = @fopen ('include/cache/'.$crc, 'w');
  21. @fwrite ($fp, $cache);
  22. @fclose ($fp);
  23.  
Snic Отправлено: 15 Октября, 2009 - 14:22:49 • Тема: Авторизация • Форум: Программирование на PHP

Ответов: 5
Просмотров: 301
Правильно? Закатив глазки

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. include('config.php');
  4. // Указываем тип и кодировку
  5. Header("Content-Type: text/html; charset=utf-8");
  6.  
  7.   if ( !isset( $_GET["chat"] ) ) $_GET["chat"] = "form";
  8.   $chat = $_GET["chat"];
  9.  
  10.   switch ( $chat )
  11.   {
  12.       case "form":
  13.           form_login(); break;
  14.           case "login":
  15.           login_to_chat(); break;
  16.           case "chat":
  17.           show_chat(); break;
  18.           case "logout":
  19.           logout_chat();
  20.           form_login(); break;
  21.       default:
  22.           form_login();
  23.   }
  24.  
  25.   function form_login()
  26.   {
  27.     echo '<table align="center" width="100%" height="100%" cellspacing="0" cellpadding="0" border="0">'."\n";
  28.     echo '<tr>'."\n";
  29.     echo '<td align="center">'."\n";
  30.     // форма входа
  31.     echo '<table align="center" width="250" height="100" cellspacing="2" cellpadding="2" border="0">'."\n";
  32.     echo '<tr>'."\n";
  33.         echo '<td colspan="2">Вход</td>'."\n";
  34.     echo '</tr>'."\n";
  35.     echo '<tr>'."\n";
  36.         echo '<form action="'.$_SERVER["PHP_SELF"].'?chat=login" method="POST">'."\n";
  37.         echo '<td>name:</td>'."\n";
  38.                 echo '<td><input type="text" name="name" class="r4" value=""></td>'."\n";
  39.     echo '</tr>'."\n";
  40.     echo '<tr>'."\n";
  41.         echo '<td>pass:</td>'."\n";  
  42.                 echo '<td><input type="password" name="pass" class="r4" value=""></td>'."\n";
  43.     echo '</tr>'."\n";
  44.     echo '<tr>'."\n";
  45.             echo '<td>&nbsp;</td>'."\n";
  46.         echo '<td><input type="submit" value="войти"></td>'."\n";
  47.     echo '</tr>'."\n";
  48.     echo '<tr>'."\n";
  49.         echo '<td colspan="2" align="center">регистрация / забыл пароль</td>'."\n";
  50.     echo '</tr>'."\n";
  51.     echo '</table>'."\n";
  52.  
  53.         echo '</td>'."\n";
  54.     echo '</tr>'."\n";
  55.     echo '</table>'."\n";
  56.   }
  57.  
  58.   function login_to_chat()
  59.   {
  60.     if (isset($_POST['name']) && isset($_POST['pass']))
  61.     {
  62.     $name = mysql_real_escape_string($_POST['name']);
  63.     $pass = md5($_POST['pass']);
  64.  
  65.     // делаем запрос к БД
  66.     // и ищем юзера с таким логином и паролем
  67.  
  68.     $query = 'SELECT * FROM users WHERE name="'.$name.'" AND pass="'.$pass.'" LIMIT 1';
  69.     $sql = mysql_query($query) or die(mysql_error());
  70.  
  71.     // если такой пользователь нашелся
  72.     if (mysql_num_rows($sql) == 1)
  73.         {
  74.         // то мы ставим об этом метку в сессии (допустим мы будем ставить ID пользователя)
  75.         $row = mysql_fetch_assoc($sql);
  76.         $_SESSION['user_id'] = $row['id'];
  77.         $_SESSION['name'] = $row['name'];
  78.         $_SESSION['pass'] = $row['pass'];
  79.                 $_SESSION['SID'] = md5(crypt($row['name'],$row['pass']));
  80.                
  81.                 Header("Location: ".$_SERVER["PHP_SELF"]."?chat=chat");
  82.     }
  83.     else
  84.         {
  85.         die('Такой логин с паролем не найдены в базе данных. <a href="'.$_SERVER["PHP_SELF"].'?chat=form">Авторизируйтесь</a>.');
  86.     }
  87.   }
  88.   }
  89.  
  90.   function show_chat()
  91.   {
  92.         if (isset($_SESSION['user_id'], $_SESSION['name'], $_SESSION['pass'], $_SESSION['SID']))
  93.         {
  94.     echo '<a href="'.$_SERVER["PHP_SELF"].'?chat=logout">выход</a>';
  95.     }
  96.     else
  97.         {
  98.     die('Доступ закрыт, <a href="'.$_SERVER["PHP_SELF"].'?chat=form">авторизируйтесь</a>.');
  99.     }
  100.   }
  101.  
  102.   function logout_chat()
  103.   {
  104.      session_destroy();
  105.   }
  106.  
  107. ?>
  108.  
Snic Отправлено: 15 Октября, 2009 - 13:25:03 • Тема: Авторизация • Форум: Программирование на PHP

Ответов: 5
Просмотров: 301
Привет, пишу авторизацию для чата, как правильно отсечь доступ к функции show_chat без авторизации?
за одно оцените правильно ли я делаю, может что то неправильно.

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. include('config.php');
  4. // Указываем тип и кодировку
  5. Header("Content-Type: text/html; charset=utf-8");
  6.  
  7.   if ( !isset( $_GET["chat"] ) ) $_GET["chat"] = "form";
  8.   $chat = $_GET["chat"];
  9.  
  10.   switch ( $chat )
  11.   {
  12.       case "form":
  13.           form_login(); break;
  14.           case "login":
  15.           login_to_chat(); break;
  16.           case "chat":
  17.           show_chat(); break;
  18.           case "logout":
  19.           logout_chat();
  20.           form_login(); break;
  21.       default:
  22.           form_login();
  23.   }
  24.  
  25.   function form_login()
  26.   {
  27.     echo '<table align="center" width="100%" height="100%" cellspacing="0" cellpadding="0" border="0">'."\n";
  28.     echo '<tr>'."\n";
  29.     echo '<td align="center">'."\n";
  30.     // форма входа
  31.     echo '<table align="center" width="250" height="100" cellspacing="2" cellpadding="2" border="0">'."\n";
  32.     echo '<tr>'."\n";
  33.         echo '<td colspan="2">Вход</td>'."\n";
  34.     echo '</tr>'."\n";
  35.     echo '<tr>'."\n";
  36.         echo '<form action="'.$_SERVER["PHP_SELF"].'?chat=login" method="POST">'."\n";
  37.         echo '<td>name:</td>'."\n";
  38.                 echo '<td><input type="text" name="name" class="r4" value=""></td>'."\n";
  39.     echo '</tr>'."\n";
  40.     echo '<tr>'."\n";
  41.         echo '<td>pass:</td>'."\n";  
  42.                 echo '<td><input type="password" name="pass" class="r4" value=""></td>'."\n";
  43.     echo '</tr>'."\n";
  44.     echo '<tr>'."\n";
  45.             echo '<td>&nbsp;</td>'."\n";
  46.         echo '<td><input type="submit" value="войти"></td>'."\n";
  47.     echo '</tr>'."\n";
  48.     echo '<tr>'."\n";
  49.         echo '<td colspan="2" align="center">регистрация / забыл пароль</td>'."\n";
  50.     echo '</tr>'."\n";
  51.     echo '</table>'."\n";
  52.  
  53.         echo '</td>'."\n";
  54.     echo '</tr>'."\n";
  55.     echo '</table>'."\n";
  56.   }
  57.  
  58.   function login_to_chat()
  59.   {
  60.     //Проверяем данные
  61.     $name = $_POST['name'];
  62.     $pass = $_POST['pass'];
  63.     if($name !='' AND $pass !='')
  64.         {
  65.     //Создаем запрос
  66.     $sql = mysql_query ("SELECT * FROM users WHERE name='".$name."' AND pass='".md5($pass)."'");
  67.  
  68.     //Проверяем существует ли хоть одна запись
  69.     if( mysql_num_rows ( $sql ) === 1 )
  70.         {
  71.     //Если есть, то создаем сессии и перенаправляем на эту страницу
  72.     $login = mysql_fetch_array($sql);
  73.     $_SESSION['name'] = $login['name'];
  74.     $_SESSION['pass'] = $login['pass'];
  75.  
  76.     $_SESSION['SID'] = md5(crypt($login['name'],$login['pass']));
  77.  
  78.     @Header("Location: ".$_SERVER["PHP_SELF"]."?chat=chat");
  79.     }
  80.         else
  81.         {
  82.                 echo 'Неверный логин/пароль';
  83.         }
  84.  
  85.     }
  86.         else
  87.         {
  88.                 echo 'Введите данные';
  89.         }
  90.   }
  91.  
  92.   function show_chat()
  93.   {
  94.      echo 'Имя: '.$_SESSION['name'].'<br>';
  95.          echo 'Пасс: '.$_SESSION['pass'].'<br>';
  96.          echo '<a href="'.$_SERVER["PHP_SELF"].'?chat=logout">выход</a>';
  97.   }
  98.  
  99.   function logout_chat()
  100.   {
  101.      session_destroy();
  102.   }
  103.  
  104. ?>
  105.  
Snic Отправлено: 06 Февраля, 2009 - 11:01:17 • Тема: include - vs - шаблонизатор • Форум: Программирование на PHP

Ответов: 8
Просмотров: 662
Stierus
чем про мотивируешь?
Snic Отправлено: 06 Февраля, 2009 - 10:48:27 • Тема: include - vs - шаблонизатор • Форум: Программирование на PHP

Ответов: 8
Просмотров: 662
решил проблему таким образом
поправил файлы модулей вот так
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if (!eregi('index.php', $_SERVER['PHP_SELF'])) { header('Content-Type: text/html; charset=UTF-8'); die ('Ошибка: Доступ запрещен!'); }
  4.  
  5. $html = $html.'Модуль page<br>';
  6. $html = $html.'<a href="index.php?mod=blog">преход на маодуль blog</a>';
  7. return $html;
  8. ?>
  9.  
Snic Отправлено: 06 Февраля, 2009 - 09:30:40 • Тема: include - vs - шаблонизатор • Форум: Программирование на PHP

Ответов: 8
Просмотров: 662
Champion
это то понятно что оно от туда берется, это же я сам писал
мне не понятно другое, как эту тему решить, вот в чем вопрос.
Snic Отправлено: 06 Февраля, 2009 - 03:33:00 • Тема: include - vs - шаблонизатор • Форум: Программирование на PHP

Ответов: 8
Просмотров: 662
Привет!
пишу свою cms, но столкнулся с такой проблемой
при выводи контента через вставки вида {menu}, {content}

include выводится не там где нужно,
а там где нужно выводится цифра 1 (откуда она берется хрен его знает),
а сам инклудируемый файл появляется в верху страницы.

прикладываю пару скриншотов, в первом скрине будет показано как нужно,
а во втором как у меня выводится.


вот то что мы имеем на этот момент:
index.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include('inc/config.php'); // подключаем конфигурацию
  3. if ( isset( $_GET['mod'] ) ) $mod = $_GET['mod'];
  4. if (!isset($mod) || ($mod=='') || (!file_exists ('mods/'.$mod.'/index.php')))
  5. {
  6.    $mod=$start_mod; // модуль по умолчанию
  7. }
  8.  
  9. // Вызываем функцию, которая вернет нам html
  10. $content = get_content( $mod );
  11. $menu = get_menu();
  12.  
  13. // Считываем в переменную содержимое шаблона
  14. if ( is_file( 'templates/'. $template_site .'/main.tpl' ) )
  15. {
  16.   $html = file_get_contents( 'templates/'. $template_site .'/main.tpl' );
  17. } else {
  18.   $html = file_get_contents( 'templates/default/main.tpl' );
  19. }
  20. // Заменяем в шаблоне вставки вида {menu}, {content}, ...
  21. $html = str_replace( '{content}', $content, $html );
  22. $html = str_replace( '{menu}', $menu, $html );
  23.  
  24. // Выводим содержимое в браузер
  25. echo $html;
  26.  
  27. function get_content( $mod )
  28. {
  29.   $html = include('mods/'.$mod.'/index.php');
  30.   return $html;
  31. }
  32.  
  33. function get_menu()
  34. {
  35.   $html = 'тут меню';
  36.   return $html;
  37. }
  38.  
  39. ?>
  40.  

inc/config.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. $start_mod='page'; // модуль по умолчанию
  5. $template_site='default'; // шаблон сайта
  6.  
  7. ?>
  8.  

mods/blog/index.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if (!eregi('index.php', $_SERVER['PHP_SELF'])) { header('Content-Type: text/html; charset=UTF-8'); die ('Ошибка: Доступ запрещен!'); }
  3.  
  4. echo 'Модуль blog<br>';
  5. echo '<a href="index.php?mod=page">преход на маодуль page</a>';
  6. ?>
  7.  

mods/page/index.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if (!eregi('index.php', $_SERVER['PHP_SELF'])) { header('Content-Type: text/html; charset=UTF-8'); die ('Ошибка: Доступ запрещен!'); }
  3.  
  4. echo 'Модуль page<br>';
  5. echo '<a href="index.php?mod=blog">преход на маодуль blog</a>';
  6. ?>
  7.  

templates/default/main.tpl
PHP:
скопировать код в буфер обмена
  1.  
  2. <html>
  3.  
  4. <head>
  5.  
  6.         <title>Безымянный</title>
  7.  
  8.         <meta http-equiv="content-type" content="text/html;charset=utf-8">
  9.  
  10.         <link rel="stylesheet" href="templates/default/style.css" type="text/css">
  11.  
  12. </head>
  13.  
  14. <body>
  15.  
  16.        
  17.  
  18. <table>
  19.  
  20.   <tbody align="center" valign="center" bgcolor="lightGray">
  21.  
  22.     <tr>
  23.  
  24.       <td>
  25.  
  26.       {menu}
  27.  
  28.       </td>
  29.  
  30.       <td>
  31.  
  32.        {content}
  33.  
  34.       </td>
  35.  
  36.     </tr>
  37.  
  38.   </tbody>
  39.  
  40. </table>
  41.  
  42.        
  43.  
  44. </body>
  45.  
  46. </html>
  47.  
Snic Отправлено: 11 Декабря, 2007 - 14:23:56 • Тема: Русский WYSIWYG (визуальный редактор) • Форум: Программирование на PHP

Ответов: 9
Просмотров: 590
поднимаю тему!
народ такой вопрос хочу выдрать из этой cms редактор стоит ли?
помоему он нормальный кто что скажет ?
Snic Отправлено: 03 Декабря, 2007 - 07:18:07 • Тема: царь горы • Форум: Прочее

Ответов: 1
Просмотров: 24
В корзину .....
Snic Отправлено: 02 Декабря, 2007 - 17:04:51 • Тема: Русский WYSIWYG (визуальный редактор) • Форум: Программирование на PHP

Ответов: 9
Просмотров: 590
:/ чтото я немогу заставить его редактировать к примеру текст покрасить ну и так далие помогите прикрутить кто знает как чтото я опять не усмотрел?
Snic Отправлено: 01 Декабря, 2007 - 13:41:41 • Тема: Русский WYSIWYG (визуальный редактор) • Форум: Программирование на PHP

Ответов: 9
Просмотров: 590
разобрался сам прочел редми
PHP:
скопировать код в буфер обмена
  1.  
  2. $sw = new SPAW_Wysiwyg(/*name*/ 'message',
  3. /*value*/ $admin_message["message"],
  4. /*language*/ '',
  5. /*toolbar mode*/ 'default',
  6. /*theme*/ '',
  7. /*width*/ '100%',
  8. /*height*/ '300px');
  9. $sw->show();
  10.  
\n\n(Добавление)
хотя так и не догнал как сохранить то что написал в форме
Snic Отправлено: 01 Декабря, 2007 - 05:07:17 • Тема: Русский WYSIWYG (визуальный редактор) • Форум: Программирование на PHP

Ответов: 9
Просмотров: 590
Короче я выбрал Spaw2
народ может кто подскажет как его вызвать я вроде все настроил а вот вызвать его в конкретную форму чтото не могу.
на всякий случай прикрепляю его.
Snic Отправлено: 01 Декабря, 2007 - 01:55:28 • Тема: Русский WYSIWYG (визуальный редактор) • Форум: Программирование на PHP

Ответов: 9
Просмотров: 590
вот нашел спискУ редакторов _hxxp://www[dot]rumv[dot]net/s78/s149/0list0[dot]html
Snic Отправлено: 30 Ноября, 2007 - 20:01:54 • Тема: Русский WYSIWYG (визуальный редактор) • Форум: Программирование на PHP

Ответов: 9
Просмотров: 590
многофункциональный
Snic Отправлено: 30 Ноября, 2007 - 19:25:56 • Тема: Русский WYSIWYG (визуальный редактор) • Форум: Программирование на PHP

Ответов: 9
Просмотров: 590
Привет!
Народ нуждаюсь в русском визуальный редакторе хочу прикрутить его к своей cms.
до этого пытался использовать tinymce но он какойто не такой в ПОПУ лазает рукой.
Может кто что посоветует. Или как всегда лучше самому писать?

Страниц (6): [1] 2 3 4 5 6 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB