PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (6): [1] 2 3 4 5 6 »
Найдено сообщений: 86
Snic
Отправлено: 04 Марта, 2011 - 10:32:29 • Тема: кэширование • Форум: Программирование на PHP
Ответов: 1 Просмотров: 276
Привет, добавил к движку кэширование, возникла проблема с капчей, подкиньте идейку как реализовать чтобы капча не кэшировалась, какие есть идеи?
кэширую так
PHP:
скопировать код в буфер обмена
// кеш - старт
$url = $_SERVER [ 'REQUEST_URI' ] ;
if ( $modif < 600)
{
include ( 'include/cache/' . $crc ) ; exit ( ) ; }
// тело страницы
// конец кеша
echo $cache ;
$fp = @ fopen ( 'include/cache/' . $crc , 'w' ) ;
Snic
Отправлено: 15 Октября, 2009 - 14:22:49 • Тема: Авторизация • Форум: Программирование на PHP
Ответов: 5 Просмотров: 301
Правильно?
PHP:
скопировать код в буфер обмена
<?PHP
include ( 'config.php' ) ;
// Указываем тип и кодировку
Header ( "Content-Type: text/html; charset=utf-8" ) ;
if ( ! isset ( $_GET [ "chat" ] ) ) $_GET [ "chat" ] = "form" ; $chat = $_GET [ "chat" ] ;
switch ( $chat )
{
case "form" :
form_login( ) ; break ;
case "login" :
login_to_chat( ) ; break ;
case "chat" :
show_chat( ) ; break ;
case "logout" :
logout_chat( ) ;
form_login( ) ; break ;
default :
form_login( ) ;
}
function form_login( )
{
echo '<table align="center" width="100%" height="100%" cellspacing="0" cellpadding="0" border="0">' . "\n " ;
echo '<tr>' . "\n " ;
echo '<td align="center">' . "\n " ;
// форма входа
echo '<table align="center" width="250" height="100" cellspacing="2" cellpadding="2" border="0">' . "\n " ;
echo '<tr>' . "\n " ;
echo '<td colspan="2">Вход</td>' . "\n " ;
echo '</tr>' . "\n " ;
echo '<tr>' . "\n " ;
echo '<form action="' . $_SERVER [ "PHP_SELF" ] . '?chat=login" method="POST">' . "\n " ;
echo '<td>name:</td>' . "\n " ;
echo '<td><input type="text" name="name" class="r4" value=""></td>' . "\n " ;
echo '</tr>' . "\n " ;
echo '<tr>' . "\n " ;
echo '<td>pass:</td>' . "\n " ;
echo '<td><input type="password" name="pass" class="r4" value=""></td>' . "\n " ;
echo '</tr>' . "\n " ;
echo '<tr>' . "\n " ;
echo '<td> </td>' . "\n " ;
echo '<td><input type="submit" value="войти"></td>' . "\n " ;
echo '</tr>' . "\n " ;
echo '<tr>' . "\n " ;
echo '<td colspan="2" align="center">регистрация / забыл пароль</td>' . "\n " ;
echo '</tr>' . "\n " ;
echo '</table>' . "\n " ;
echo '</td>' . "\n " ;
echo '</tr>' . "\n " ;
echo '</table>' . "\n " ;
}
function login_to_chat( )
{
if ( isset ( $_POST [ 'name' ] ) && isset ( $_POST [ 'pass' ] ) ) {
$pass = md5 ( $_POST [ 'pass' ] ) ;
// делаем запрос к БД
// и ищем юзера с таким логином и паролем
$query = 'SELECT * FROM users WHERE name="' . $name . '" AND pass="' . $pass . '" LIMIT 1' ;
// если такой пользователь нашелся
{
// то мы ставим об этом метку в сессии (допустим мы будем ставить ID пользователя)
$_SESSION [ 'user_id' ] = $row [ 'id' ] ;
$_SESSION [ 'name' ] = $row [ 'name' ] ;
$_SESSION [ 'pass' ] = $row [ 'pass' ] ;
$_SESSION [ 'SID' ] = md5 ( crypt ( $row [ 'name' ] , $row [ 'pass' ] ) ) ;
Header ( "Location: " . $_SERVER [ "PHP_SELF" ] . "?chat=chat" ) ; }
else
{
die ( 'Такой логин с паролем не найдены в базе данных. <a href="' . $_SERVER [ "PHP_SELF" ] . '?chat=form">Авторизируйтесь</a>.' ) ; }
}
}
function show_chat( )
{
if ( isset ( $_SESSION [ 'user_id' ] , $_SESSION [ 'name' ] , $_SESSION [ 'pass' ] , $_SESSION [ 'SID' ] ) ) {
echo '<a href="' . $_SERVER [ "PHP_SELF" ] . '?chat=logout">выход</a>' ;
}
else
{
die ( 'Доступ закрыт, <a href="' . $_SERVER [ "PHP_SELF" ] . '?chat=form">авторизируйтесь</a>.' ) ; }
}
function logout_chat( )
{
}
?>
Snic
Отправлено: 15 Октября, 2009 - 13:25:03 • Тема: Авторизация • Форум: Программирование на PHP
Ответов: 5 Просмотров: 301
Привет, пишу авторизацию для чата, как правильно отсечь доступ к функции show_chat без авторизации?
за одно оцените правильно ли я делаю, может что то неправильно.
PHP:
скопировать код в буфер обмена
<?PHP
include ( 'config.php' ) ;
// Указываем тип и кодировку
Header ( "Content-Type: text/html; charset=utf-8" ) ;
if ( ! isset ( $_GET [ "chat" ] ) ) $_GET [ "chat" ] = "form" ; $chat = $_GET [ "chat" ] ;
switch ( $chat )
{
case "form" :
form_login( ) ; break ;
case "login" :
login_to_chat( ) ; break ;
case "chat" :
show_chat( ) ; break ;
case "logout" :
logout_chat( ) ;
form_login( ) ; break ;
default :
form_login( ) ;
}
function form_login( )
{
echo '<table align="center" width="100%" height="100%" cellspacing="0" cellpadding="0" border="0">' . "\n " ;
echo '<tr>' . "\n " ;
echo '<td align="center">' . "\n " ;
// форма входа
echo '<table align="center" width="250" height="100" cellspacing="2" cellpadding="2" border="0">' . "\n " ;
echo '<tr>' . "\n " ;
echo '<td colspan="2">Вход</td>' . "\n " ;
echo '</tr>' . "\n " ;
echo '<tr>' . "\n " ;
echo '<form action="' . $_SERVER [ "PHP_SELF" ] . '?chat=login" method="POST">' . "\n " ;
echo '<td>name:</td>' . "\n " ;
echo '<td><input type="text" name="name" class="r4" value=""></td>' . "\n " ;
echo '</tr>' . "\n " ;
echo '<tr>' . "\n " ;
echo '<td>pass:</td>' . "\n " ;
echo '<td><input type="password" name="pass" class="r4" value=""></td>' . "\n " ;
echo '</tr>' . "\n " ;
echo '<tr>' . "\n " ;
echo '<td> </td>' . "\n " ;
echo '<td><input type="submit" value="войти"></td>' . "\n " ;
echo '</tr>' . "\n " ;
echo '<tr>' . "\n " ;
echo '<td colspan="2" align="center">регистрация / забыл пароль</td>' . "\n " ;
echo '</tr>' . "\n " ;
echo '</table>' . "\n " ;
echo '</td>' . "\n " ;
echo '</tr>' . "\n " ;
echo '</table>' . "\n " ;
}
function login_to_chat( )
{
//Проверяем данные
$name = $_POST [ 'name' ] ;
$pass = $_POST [ 'pass' ] ;
if ( $name != '' AND $pass != '' )
{
//Создаем запрос
$sql = mysql_query ( "SELECT * FROM users WHERE name='" . $name . "' AND pass='" . md5 ( $pass ) . "'" ) ;
//Проверяем существует ли хоть одна запись
{
//Если есть, то создаем сессии и перенаправляем на эту страницу
$_SESSION [ 'name' ] = $login [ 'name' ] ;
$_SESSION [ 'pass' ] = $login [ 'pass' ] ;
$_SESSION [ 'SID' ] = md5 ( crypt ( $login [ 'name' ] , $login [ 'pass' ] ) ) ;
@ Header ( "Location: " . $_SERVER [ "PHP_SELF" ] . "?chat=chat" ) ; }
else
{
echo 'Неверный логин/пароль' ;
}
}
else
{
echo 'Введите данные' ;
}
}
function show_chat( )
{
echo 'Имя: ' . $_SESSION [ 'name' ] . '<br>' ;
echo 'Пасс: ' . $_SESSION [ 'pass' ] . '<br>' ;
echo '<a href="' . $_SERVER [ "PHP_SELF" ] . '?chat=logout">выход</a>' ;
}
function logout_chat( )
{
}
?>
Snic
Отправлено: 06 Февраля, 2009 - 10:48:27 • Тема: include - vs - шаблонизатор • Форум: Программирование на PHP
Ответов: 8 Просмотров: 662
решил проблему таким образом
поправил файлы модулей вот так
PHP:
скопировать код в буфер обмена
<?PHP
if ( ! eregi ( 'index.php' , $_SERVER [ 'PHP_SELF' ] ) ) { header ( 'Content-Type: text/html; charset=UTF-8' ) ; die ( 'Ошибка: Доступ запрещен!' ) ; }
$html = $html . 'Модуль page<br>' ;
$html = $html . '<a href="index.php?mod=blog">преход на маодуль blog</a>' ;
return $html ;
?>
Snic
Отправлено: 06 Февраля, 2009 - 03:33:00 • Тема: include - vs - шаблонизатор • Форум: Программирование на PHP
Ответов: 8 Просмотров: 662
Привет!
пишу свою cms, но столкнулся с такой проблемой
при выводи контента через вставки вида {menu}, {content}
include выводится не там где нужно,
а там где нужно выводится цифра 1 (откуда она берется хрен его знает),
а сам инклудируемый файл появляется в верху страницы.
прикладываю пару скриншотов, в первом скрине будет показано как нужно,
а во втором как у меня выводится.
вот то что мы имеем на этот момент:
index.php
PHP:
скопировать код в буфер обмена
<?PHP
include ( 'inc/config.php' ) ; // подключаем конфигурацию
if ( isset ( $_GET [ 'mod' ] ) ) $mod = $_GET [ 'mod' ] ; {
$mod = $start_mod ; // модуль по умолчанию
}
// Вызываем функцию, которая вернет нам html
$content = get_content( $mod ) ;
$menu = get_menu( ) ;
// Считываем в переменную содержимое шаблона
if ( is_file ( 'templates/' . $template_site . '/main.tpl' ) ) {
} else {
}
// Заменяем в шаблоне вставки вида {menu}, {content}, ...
// Выводим содержимое в браузер
echo $html ;
function get_content( $mod )
{
$html = include ( 'mods/' . $mod . '/index.php' ) ;
return $html ;
}
function get_menu( )
{
$html = 'тут меню' ;
return $html ;
}
?>
inc/config.php
mods/blog/index.php
PHP:
скопировать код в буфер обмена
<?PHP
if ( ! eregi ( 'index.php' , $_SERVER [ 'PHP_SELF' ] ) ) { header ( 'Content-Type: text/html; charset=UTF-8' ) ; die ( 'Ошибка: Доступ запрещен!' ) ; }
echo 'Модуль blog<br>' ;
echo '<a href="index.php?mod=page">преход на маодуль page</a>' ;
?>
mods/page/index.php
PHP:
скопировать код в буфер обмена
<?PHP
if ( ! eregi ( 'index.php' , $_SERVER [ 'PHP_SELF' ] ) ) { header ( 'Content-Type: text/html; charset=UTF-8' ) ; die ( 'Ошибка: Доступ запрещен!' ) ; }
echo 'Модуль page<br>' ;
echo '<a href="index.php?mod=blog">преход на маодуль blog</a>' ;
?>
templates/default/main.tpl
PHP:
скопировать код в буфер обмена
< html>
< head>
< title> Безымянный</ title>
< meta http- equiv= "content-type" content= "text/html;charset=utf-8" >
< link rel= "stylesheet" href= "templates/default/style.css" type= "text/css" >
</ head>
< body>
< table>
< tbody align= "center" valign= "center" bgcolor= "lightGray" >
< tr>
< td>
{ menu}
</ td>
< td>
{ content}
</ td>
</ tr>
</ tbody>
</ table>
</ body>
</ html>
Snic
Отправлено: 03 Декабря, 2007 - 07:18:07 • Тема: царь горы • Форум: Прочее
Ответов: 1 Просмотров: 24
В корзину .....
Snic
Отправлено: 01 Декабря, 2007 - 13:41:41 • Тема: Русский WYSIWYG (визуальный редактор) • Форум: Программирование на PHP
Ответов: 9 Просмотров: 590
разобрался сам прочел редми
PHP:
скопировать код в буфер обмена
$sw = new SPAW_Wysiwyg( /*name*/ 'message' ,
/*value*/ $admin_message [ "message" ] ,
/*language*/ '' ,
/*toolbar mode*/ 'default' ,
/*theme*/ '' ,
/*width*/ '100%' ,
/*height*/ '300px' ) ;
$sw -> show ( ) ;
\n\n(Добавление)
хотя так и не догнал как сохранить то что написал в форме
Snic
Отправлено: 30 Ноября, 2007 - 19:25:56 • Тема: Русский WYSIWYG (визуальный редактор) • Форум: Программирование на PHP
Ответов: 9 Просмотров: 590
Привет!
Народ нуждаюсь в русском визуальный редакторе хочу прикрутить его к своей cms.
до этого пытался использовать tinymce но он какойто не такой в ПОПУ лазает рукой.
Может кто что посоветует. Или как всегда лучше самому писать?
Страниц (6): [1] 2 3 4 5 6 »
Powered by ExBB FM 1.0 RC1. InvisionExBB