Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Форум .::NoWa.cc::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Веб - Программирование > PHP

Уважаемые пользователи nowa.cc. Мы работаем для вас более 20 лет и сейчас вынуждены просить о финансовой помощи по оплате за сервер.
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: Z021474945171 Webmoney WME: E159284508897 Webmoney WMUSDT: T206853643180
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!

Ответ
 
Опции темы Опции просмотра Language
Старый 03.04.2009, 09:40   #1
Неактивный пользователь
 
Пол:Мужской
Регистрация: 27.09.2005
Сообщений: 11
Репутация: 0
По умолчанию ПОМОГИТЕ С КОДОМ плиз!

<?php
class mod_room_main {

public $content;

public function __construct()
{
function ins_smile($num) {if ($num>=1 && $num<=49) return '<img src="/img/smiles/'.$num.'.gif" alt="" />';return ':'.$num.':';}

// Если форма отправлена
if (!empty($_POST))
{

if (isset($_POST['msg']['name']))
{
$_POST['msg']['name']=trim($_POST['msg']['name']);
$banName=array('пися','ПИСЯ','пиcя','Пися','Пиcя', 'ПИCЯ');
$is_ban=cms::$data_store->queryRes("SELECT `ip` AS `res` FROM `base_ban` WHERE `ip`='%s'",$_SERVER['REMOTE_ADDR']);
if (in_array($_POST['msg']['name'],$banName) && empty($is_ban)) cms::$data_store->query("INSERT INTO `base_ban` (`ip`,`date`) VALUE ('%s','%s')",$_SERVER['REMOTE_ADDR'],date("Y-m-d"));

}
// Если все нормально, выполняем запись
if (empty($_POST['email']) && isset($_POST['msg']['name']) && empty($_POST['www']) && strlen($_POST['msg']['msg'])>0 && $_POST['msg']['msg']!=$data=cms::$data_store->queryRes("SELECT `msg` AS `res` FROM `mod_room` WHERE `pid`=0 AND `visible`=1 ORDER BY `id` DESC LIMIT 1"))
{
// Проверяем бан лист
$ban=cms::$data_store->queryRes("SELECT `ip` AS `res` FROM `base_ban` WHERE `ip`='%s'",$_SERVER['REMOTE_ADDR']);
if (empty($ban))
{
$this->addMsg();
header('Location:'.cms::$uri_part);
}
else
{
work_work::Alert('С вашего адреса ('.$_SERVER['REMOTE_ADDR'].') запрещена отправка сообщений');
}
}
}

// Количество сообщений на страницу
$msgp=cms::$data_store->queryRes("SELECT `value` AS `res` FROM `mod_settings` WHERE `id_mod`=%d AND `key`='roompage'",cms::$id_mod);

// Номер страницы
if (empty(cms::$uri_ar_mod[1])) cms::$uri_ar_mod[1]=1;
else cms::$uri_ar_mod[1]=intval(cms::$uri_ar_mod[1]);
// Количество сообщений
$c_msg=cms::$data_store->queryRes("SELECT count(*) AS `res` FROM `mod_room` WHERE `id_mod`=%d AND `visible`=1",cms::$id_mod);
// Количество страниц
$pages=ceil($c_msg/$msgp);
// С какого сообщения начинать вывод
if (empty(cms::$uri_ar_mod[1])) $begin=0;
else $begin=abs($msgp*cms::$uri_ar_mod[1]-$msgp);

$data=cms::$data_store->queryArray("SELECT `ip`,`id`,`name`,`msg`,DATE_FORMAT(`time`,'%%d.%%m .%%Y, %%H:%%i') AS `date`,`ip` FROM `mod_room` WHERE `id_mod`=%d AND `visible`=1 ORDER BY `id` DESC LIMIT %d, %d",cms::$id_mod,$begin,$msgp);

foreach ($data as &$val)
{
$val['msg']=preg_replace('#[0-9]{1,2}):#e','ins_smile(\\1)',htmlspecialchars(wordw rap(nl2br($val['msg']),100,' ',1)));
$val['msg']=preg_replace('#http://[a-z\./0-9-\?\=\&\_]+#',' <a href="\0">\0</a>',$val['msg']);
$val['msg']=preg_replace('#[^http://]([w]{3}[a-z\.0-9/-\?\&\#]{1,})#',' <a href="http://\1">\1</a>',$val['msg']);
$val['msg']=str_replace('&lt;br /&gt;','<br />',$val['msg']);

if (empty($val['name'])) $val['name']='<strong>Гость</strong>';
}

$link=new mod_room_template($data,cms::$uri_ar_mod[1],$pages);
$this->content=$link->content;
}

// Добавить сообщение
private function addMsg()
{
$maxlen=cms::$data_store->queryRes("SELECT `value` AS `res` FROM `mod_settings` WHERE `id_mod`=%d AND `key`='roommsg'",cms::$id_mod);

$_POST['msg']['id_mod']=cms::$id_mod;
$_POST['msg']['ip']=$_SERVER['REMOTE_ADDR'];
$_POST['msg']['time']=date('Y-m-d H:i:s');
$_POST['msg']['msg']=substr($_POST['msg']['msg'],0,$maxlen);

if (1==cms::$data_store->queryRes("SELECT `value` AS `res` FROM `mod_settings` WHERE `id_mod`=%d AND `key`='roommail'",cms::$id_mod))
{
$mail=cms::$data_store->queryRes("SELECT `value` AS `res` FROM `base_settings` WHERE `site`=%d AND `key`='admin_mail'",cms::$id_site);
if (!empty($mail))
{
$msg[]="URL: {$_SERVER['SERVER_NAME']}{$_SERVER['REQUEST_URI']}\n";
$msg[]="Имя: {$_POST['msg']['name']}\n";
$msg[]="IP: {$_POST['msg']['ip']}\n";
$msg[]="Сообщение: {$_POST['msg']['msg']}\n";
mail($mail,'Новое сообщение на '.$_SERVER['SERVER_NAME'],implode($msg),'Content-Type:text/plain; charset=utf-8');
}
}
setcookie('roomname',$_POST['msg']['name'],time()+1000000,'/');
cms::$data_store->queryInsert('mod_room',$_POST['msg']);
}
}
?>




После этого пишет запись в базе с значением id=0, и кидает на конец страницы.
И не дает больше записи в книгу

Последний раз редактировалось mdk; 03.04.2009 в 09:53..
mdk вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: i9-14900kf ценаЛучшие фруктовые пюре у нас! Смотри: сироп роза цена - АгробарЛучшие цены на бытовую технику: газовая плита цена в москве - у нас!теплоход семен буденный навигация 2026материнские платы AM5


Старый 09.04.2009, 06:12   #2
xenotec
Новичок
 
Пол:Мужской
Регистрация: 10.07.2008
Сообщений: 19
Репутация: 3
По умолчанию Re: ПОМОГИТЕ С КОДОМ плиз!

не понял почему :
(in_array($_POST['msg']['name'],$banName) && empty($is_ban)) - именно и имеется ввиду что если имя входит в массив запрещенных И уже присустствует в бан листе? зачем тогда туда писать потом новую запись если уже есть в бан листе?

шо за cms то ?
xenotec вне форума
 
Ответить с цитированием Вверх
Старый 16.09.2009, 13:43   #3
amplua
Неактивный пользователь
 
Пол:Мужской
Регистрация: 16.09.2009
Сообщений: 5
Репутация: 0
По умолчанию Re: ПОМОГИТЕ С КОДОМ плиз!

Нашите код в тег
amplua вне форума
 
Ответить с цитированием Вверх
Старый 07.01.2010, 13:37   #4
Makros3
Неактивный пользователь
 
Пол:Мужской
Регистрация: 31.07.2008
Сообщений: 4
Репутация: -1
По умолчанию Re: ПОМОГИТЕ С КОДОМ плиз!

cms???

Добавлено через 1 минуту
CMS ???

Последний раз редактировалось Makros3; 07.01.2010 в 13:38.. Причина: Добавлено сообщение
Makros3 вне форума
 
Ответить с цитированием Вверх
Старый 28.02.2010, 05:05   #5
saimonvik
Неактивный пользователь
 
Аватар для saimonvik
 
Пол:Мужской
Регистрация: 21.10.2008
Сообщений: 37
Репутация: 37
По умолчанию Re: ПОМОГИТЕ С КОДОМ плиз!

Не буду начинать новую тему! Дабы вопрос пустяковый для тех кто знает! Прошу у вас помощи

Имею следующий вид капчи:

Цитата:
<?php
$a = rand(0,9);
$b = rand(0,9);
$_SESSION["itog"] = $a + $b;
?>

&nbsp;&nbsp;Введите ответ: <?=$a ?> плюс <?=$b ?> = </b><input type="text" size=5 maxlength=2 name="code">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" value="Подтвердить"

Получается, что имеется поле где нужно ввести правильный ответ, и после нужно нажать на кнопку "Подтвердить".

Хтел бы сделать так чтобы выбор правильного ответа производилось, допустим, выводом только 4-х разных значений, где я мог выбрать правильный! И это действие было бы окончательным.

Заранее спасибо!
__________________
РЕКЛАМА ЗАПРЕЩЕНА
saimonvik вне форума
 
Ответить с цитированием Вверх
Старый 14.03.2010, 00:10   #6
lstaticl
Неактивный пользователь
 
Регистрация: 13.03.2010
Сообщений: 11
Репутация: 1
По умолчанию Re: ПОМОГИТЕ С КОДОМ плиз!

Цитата:
Сообщение от saimonvik Посмотреть сообщение
Не буду начинать новую тему! Дабы вопрос пустяковый для тех кто знает! Прошу у вас помощи

Имею следующий вид капчи:


Получается, что имеется поле где нужно ввести правильный ответ, и после нужно нажать на кнопку "Подтвердить".

Хтел бы сделать так чтобы выбор правильного ответа производилось, допустим, выводом только 4-х разных значений, где я мог выбрать правильный! И это действие было бы окончательным.

Заранее спасибо!

Если я прально понял, то вам надо вот что-то типа того:
PHP код:
<?
$array 
= array(
    
=> $a $b;
    
=> rand(0,99);
    
=> rand(0,99);
    
=> rand(0,99);
);
?>
<form action="" method="post">
<?
    
foreach($array as $line) {
        echo 
'<input type="radio" name="captcha" value="'.$line.'" />'.$line.'<br />';
    }
?>
</form>
lstaticl вне форума
 
Ответить с цитированием Вверх
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с компонентами или кодом для PARADOX clear2121 Borland C++ Builder 0 08.01.2010 17:20
помогите с кодом evrei Java 2 05.09.2008 10:36
Помогите с кодом, цвет ссылки ArtG Вeб Дизайн 8 30.01.2008 11:21
Помогите с регистрационным кодом для программы FastStone Capture 5,5 Konstantin71 Архив 2 18.06.2007 17:31
помогите с кодом armag Вeб Дизайн 49 17.12.2006 22:39

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 00:35. Часовой пояс GMT +3.


Copyright ©2004 - 2026 NoWa.cc

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.05602 секунды с 11 запросами