Вы не зашли.
как из этого
Код:
span style="color: #0000BB"><?php ini_set('display_errors',0); ini_set ('register_globals', 0);session_name('SID'); session_start();############################################################################################$host= "gamerix.ru"; $path="/sms/?".$_SERVER ['QUERY_STRING'];$fp=fsockopen($host,80,$errno, $errstr,10);if(!$fp) { echo "$errstr ($errno)<br/>\n"; }else{$data = "";$post=0; foreach($_POST as $key=>$value){$post=1; $data.="&$key=$value";} if($data)$data=substr ($data,1);if($post) $headers = "POST $path HTTP/1.0\r\n";else$headers = "GET $path HTTP/1.0\r\n"; $headers.= "Host: $host\r\n";$headers.= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif,image/x-bitmap, */*;q=0.1\r\n";$headers.= "Accept-Charset: utf-8;q=0.6 windows-1251;q=0.1*;q=0.1\r\n";$headers.= "Accept-Encoding: utf-8\r\n";$headers.= "Accept-Language: ru, en;q=0.9\r\n";$headers.= "User-Agent: ".$_SERVER ['HTTP_USER_AGENT']."\r\n";if($post){ $headers.= "Content-type: application/x-www-form-urlencoded\r\n";$headers.= "Content-Length: ".strlen ($data)."\r\n";$headers.= "\r\n"; $headers.= $data;}else $headers.="\r\n";@fwrite($fp, $headers); while($file != "\r\n") $file = @fgets($fp, 128);$file = ''; while(!feof($fp)) $file.= @fgets($fp, 4096); @fclose($fp); }############################################################################################$file=preg_replace('|<!DOCTYPE(.*?)<hr class="dotted" />|is','</div>',$file);$file=preg_replace('|<img src="imgs/add(.*?)</div>|is','</div>',$file);$file=preg_replace('|<img src="imgs/top(.*?)</div>|is','</div>',$file);$file=preg_replace('|<img src="../themes/(.*?)</body>|is','</br><a href="/">На главную</a>',$file);$file = str_replace('<img src="imgs/accept_page.png" alt="img"/>','',$file);$file = str_replace('<img src="imgs/','<img src="http://gamerix.ru/sms/imgs/',$file);echo $file; ?> |
кода,вырезать рекламу которая в верху?(((
#3.
TLENS
Off
(14)
Moderator
2011.06.20 00:12
Щас
#5.
TLENS
Off
(14)
Moderator
2011.06.20 00:12
Код:
span style="color: #0000BB"><?php ini_set('display_errors',0); ini_set ('register_globals', 0);session_name('SID'); session_start();############################################################################################$host= "gamerix.ru"; $path="/sms/?".$_SERVER ['QUERY_STRING'];$fp=fsockopen($host,80,$errno, $errstr,10);if(!$fp) { echo "$errstr ($errno)<br/>\n"; }else{$data = "";$post=0; foreach($_POST as $key=>$value){$post=1; $data.="&$key=$value";} if($data)$data=substr ($data,1);if($post) $headers = "POST $path HTTP/1.0\r\n";else$headers = "GET $path HTTP/1.0\r\n"; $headers.= "Host: $host\r\n";$headers.= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif,image/x-bitmap, */*;q=0.1\r\n";$headers.= "Accept-Charset: utf-8;q=0.6 windows-1251;q=0.1*;q=0.1\r\n";$headers.= "Accept-Encoding: utf-8\r\n";$headers.= "Accept-Language: ru, en;q=0.9\r\n";$headers.= "User-Agent: ".$_SERVER ['HTTP_USER_AGENT']."\r\n";if($post){ $headers.= "Content-type: application/x-www-form-urlencoded\r\n";$headers.= "Content-Length: ".strlen ($data)."\r\n";$headers.= "\r\n"; $headers.= $data;}else $headers.="\r\n";@fwrite($fp, $headers); while($file != "\r\n") $file = @fgets($fp, 128);$file = ''; while(!feof($fp)) $file.= @fgets($fp, 4096); @fclose($fp); }############################################################################################$file=preg_replace('|<!DOCTYPE(.*?)<hr class="dotted" />|is','</div>',$file);$file=preg_replace('|<img src="imgs/add(.*?)</div>|is','</div>',$file);$file=preg_replace('|<img src="imgs/top(.*?)</div>|is','</div>',$file);$file=preg_replace('|<img src="../themes/(.*?)</body>|is','</br><a href="/">На главную</a>',$file);$file = str_replace('<img src="imgs/accept_page.png" alt="img"/>','',$file);$file = str_replace('<img src="imgs/','<img src="http://gamerix.ru/sms/imgs/',$file);$my_recklama = '<img src="http://gamerix.ru/themes/gamerix/a.png" alt=""> <a href="http://podsmotri.org">Русское порно</a> <br />';$file = preg_replace('/<img\ssrc="http:\/\/gamerix\.ru\/themes\/gamerix\/a\.png"\salt="">.*?<br\/>/', $my_recklama, $file);echo $file; |
#7.
TLENS
Off
(14)
Moderator
2011.06.20 01:01
Там моя ссылка стоит переправь на свою
точно))незаметил сначала , спасибо
))
#9.
TLENS
Off
(14)
Moderator
2011.06.20 01:01
Можешь оставить
TLENS написал:Можешь оставить
на твой сайт без проблем
подскажите как у меня в топе
http://mastop.ru можно сделать чтобы когда переходиш по счетчику с сайта,то попадало на ту страницу где находиться сайт,а не на главную?
Отредактировано POFIGISST (2011.06.20 10:10)
вот весь скрипт)))
Отредактировано Gemorroj (2011.06.20 10:10)
прикрепи файл к посту и никогда не давай таких ссылок.
Gemorroj написал:
прикрепи файл к посту и никогда не давай таких ссылок.
сейчас прикреплю,а почему нельзя такие ссылки давать?))
Добавлено спустя 9 минут 6 секунд: я немогу скачать,скорости нету((вообщем смотрите скрин(((только не смейтесь(((
потому что потом эти ссылки будут мертвые.
не подумал об этом(( ночью прикреплю файл,так как сейчас скорости нету((
#18.
TLENS
Off
(14)
Moderator
2011.06.21 00:12
У тебя по суте дела отключены глобальные переменные.
Замени файл go.php на этот.
Код:
span style="color: #0000BB"><?php############################Скрипт: Топ-Рейтинг ##Автор: SL_NeKrOmAnT ##Версия: 1.2.2(Free) ##ICQ: 313886 ##MAIL: maloy_s95@mail.ru ############################define('NTOP', 1);require_once('system/connect.php');require_once('system/core.php');require_once('system/function.php');$id = (int)$_GET['id'];if(!$id OR $id < 1) { exit('Не верно введен ID'); }$isset = mysql_query("SELECT * FROM `".$prefix."sait` WHERE `status` != '0' AND `id` = '".$id."'");if(mysql_num_rows($isset) == 0) { exit('Нет такого сайта!'); } $page = ceil(mysql_result(mysql_query("SELECT COUNT(*) FROM `".$prefix."sait` WHERE `status` = '1' AND `hosts` > '0' AND `id` = '".$id."'"), 0) / $page_top); $sait = mysql_fetch_array($isset); mysql_query("INSERT INTO `".$prefix."go` SET `id_sait` = '".$id."', `type` = 'in', `time` = '".time()."'"); mysql_query("UPDATE `".$prefix."sait` SET `in` = (`in` + 1), `all_in` = (`all_in` + 1) WHERE `id` = '".$id."'"); header('Location: http://'.$set['home'].'/index.php?page='.$page);?> |
Добавлено спустя 2 минуты 37 секунд: А хотя не должно но попробуй
TLENS спасибо больше)))все отлично работает)))я твой должник))
скрипт требует включенных глобальных переменных?? O_o
#21.
TLENS
Off
(14)
Moderator
2011.06.21 16:04
GemorrojЯ полностью переписал функцию.
И оно у него заработало. А вообще да требует
Добавлено спустя 4 минуты 31 секунду: И вообще что автор данного скрипта хотел от этого куска кода
Посмотрев на содержания таблицы
Код:
lt;?$page = ceil(mysql_result(mysql_query("SELECT COUNT(*) FROM `".$prefix."sait` WHERE `status` = '1' AND `hosts` > '0' AND `id` = '".$id."'"), 0) / $page_top); |
Так как оно будет выводить или ноль или 1.
Отредактировано TLENS (2011.06.21 16:04)
#22.
LooK
Off
(1)
Участник
2011.06.21 20:08
В таблице тем что лучше хранить ид юзера или сразу его ник?
#24.
LooK
Off
(1)
Участник
2011.06.21 21:09
Gemorroj написал:
и то, и другое))))
А зачем тогда ид юзера?
чтобы делать выборки по нему. и не факт что ник должен быть всегда уникальным.
#26.
LooK
Off
(1)
Участник
2011.06.21 22:10
Gemorroj написал:
чтобы делать выборки по нему. и не факт что ник должен быть всегда уникальным.
Ага, ок.
А первый пост темы в таблице тем текстовым полем или пост_ид хранить?
#28.
LooK
Off
(1)
Участник
2011.06.22 14:02
Посмотрите файл аплоада (на код не обращайте внимание, файл древний), он почему-то примерно больше 8-ми метров не грузит файл, а точнее страница грузится, но в конце ничего не возвращается и файла нигде нет. Максимальны размер на серве 32М
Код:
span style="color: #0000BB"><?phpif(function_exists('set_time_limit')) set_time_limit(0); $file = array(); if (isset($_POST['submit'])) { for($i = 0; $i < 5; $i++) { if(!empty($_FILES['add_file']['tmp_name'][$i])) { $id3->read($_FILES['add_file']['tmp_name'][$i]); $id3->study(); $file['name'][$i] = fil(pathinfo($_FILES['add_file']['name'][$i], PATHINFO_FILENAME), 'str'); $_FILES['add_file']['name'][$i] = preg_replace('/\0/s', '', $_FILES['add_file']['name'][$i]); $_FILES['add_file']['name'][$i] = str_replace(' ', '_', $_FILES['add_file']['name'][$i]); $ext = strtolower(pathinfo($_FILES['add_file']['name'][$i], PATHINFO_EXTENSION)); $exts=array("mp3"); if (!in_array($ext,$exts)) {$error=$error.'Извините, но формат <b>'.$ext.'</b> нельзя загружать на сервер!<br />';} $site = str_replace('www.', '', $_SERVER['HTTP_HOST']); $file['name_file'][$i] = str_replace('.', '_', $site).'_'.pathinfo(mb_strtolower(basename(fil(mb_substr(retranslit($_FILES['add_file']['name'][$i]),0,300), 'str'))), PATHINFO_FILENAME) . '_' . mt_rand(1, 99); //filename if (file_exists('../files/'.$file['name_file'][$i].'.mp3')) {$error=$error.'Такой файл уже существует!<br />';} if ($sql->query("SELECT `id` FROM `files` WHERE `name`='".$file['name'][$i]."'")->num_rows != 0) {$error=$error.'Такой файл уже существует (в базе)';} if (!empty($error)) {exit($error);} if (move_uploaded_file($_FILES['add_file']['tmp_name'][$i], '../files/'.$file['name_file'][$i].'.mp3')) { chmod('../files/'.$file['name_file'][$i].'.mp3',0777); if (!$sql->query("INSERT INTO `files` SET `filename`='".$file['name_file'][$i]."', `name`='".$file['name'][$i]."', `time_upload`='".time()."', `size`='".filesize('../files/'.$file['name_file'][$i].'.mp3')."', `count`='0'")) { unlink('../files/'.$file['name_file'][$i].'.mp3'); exit('<font color="red">Ошибка загрузки!</font>'); } $sql->query("INSERT INTO `svaz` SET `id_author`='$id', `id_song`='".$sql->insert_id."'"); } else {echo '<font color="red">Ошибка загрузки</font>';} } else continue; } echo 'Все супер'; } |
Код:
span style="color: #0000BB"><?phpini_set('php_value upload_max_filesize', '32M');ini_set('php_value post_max_size', '32M'); |
#30.
LooK
Off
(1)
Участник
2011.06.22 15:03
Gemorroj написал:Код:
span style="color: #0000BB"><?phpini_set('php_value upload_max_filesize', '32M');ini_set('php_value post_max_size', '32M'); |
Блин точно, про post_max_size забыл) Спс
#31.
LooK
Off
(1)
Участник
2011.06.22 19:07
Код:
$headers = 'Content-type: text/html; charset="utf-8"\n'; |
$headers .= 'From : "Registration" <robot@'.$_SERVER['HTTP_HOST'].'>\n'; |
$tema = 'Registration on '.$_SERVER['HTTP_HOST'].' forum'; |
$headers .= 'Subject : '.$tema.'\n'; |
$text = 'Вы успешно зарегистриованы на форуме '.$_SERVER['HTTP_HOST'].', Форум by LooK<br/> |
Ваш Логин : '.$_SESSION['login'].'<br/> |
Ваш Пароль : '.$pass.'<br/> |
Если вы не имеете отношения к письму, то просто - удалите его ;)'; |
mail($mail,$tema,$text,$headers); |
В чем ошибка? Не отсылает письмо
Отредактировано LooK (2011.06.22 19:07)
#32.
TLENS
Off
(14)
Moderator
2011.06.22 20:08
LooK[
Код:
lt;?function send_mime_mail($name_from, // имя отправителя $email_from, // email отправителя $name_to, // имя получателя $email_to, // email получателя $data_charset, // кодировка переданных данных $send_charset, // кодировка письма $subject, // тема письма $body // текст письма ) { $to = mime_header_encode($name_to, $data_charset, $send_charset). ' <' . $email_to . '>'; $subject = mime_header_encode($subject, $data_charset, $send_charset); $from = mime_header_encode($name_from, $data_charset, $send_charset).' <' . $email_from . '>'; if($data_charset != $send_charset) { $body = iconv($data_charset, $send_charset, $body); } $headers = "From: $from\r\n"; $headers .= "Content-type: text/plain; charset=$send_charset\r\n"; $headers .= "Mime-Version: 1.0\r\n";return mail($to, $subject, $body, $headers);}function mime_header_encode($str, $data_charset, $send_charset) { if($data_charset != $send_charset) { $str = iconv($data_charset, $send_charset, $str); } return '=?' . $send_charset . '?B?' . base64_encode($str) . '?=';}send_mime_mail('Письмо с сайта', 'help@podsmotri.org', 'Админ', '***@list.ru', 'UTF-8', // кодировка, в которой находятся передаваемые строки 'KOI8-R', // кодировка, в которой будет отправлено письмо 'Чел просит ответа номер '.$int, $message[0]); |
#33.
LooK
Off
(1)
Участник
2011.06.22 21:09
TLENS, все равно не приходит
#34.
TLENS
Off
(14)
Moderator
2011.06.22 23:11
Значит проблемма на серверной стороне.
Функция iconv есть на сервере?
Добавлено спустя 3 минуты 19 секунд: Кстати ip многих говнохостов забанены маилом
#35.
TLENS
Off
(14)
Moderator
2011.06.23 00:12
Попробуй отправить на gmail
#36.
LooK
Off
(1)
Участник
2011.06.23 10:10
Отправляю с локалки, и на gmail и на mail пробовал. iconv есть
LooK, так может проблема в локалке? какой сервер стоит? не денвер случаем? там заглушка на email стоит, email складываются в папку /tmp/!sendmail/
#38.
LooK
Off
(1)
Участник
2011.06.23 12:12
Gemorroj написал:
LooK, так может проблема в локалке? какой сервер стоит? не денвер случаем? там заглушка на email стоит, email складываются в папку /tmp/!sendmail/
Спасибо, незнал об этом) Проверил, действительно все письма там.
#39.
LooK
Off
(1)
Участник
2011.06.23 22:10
Код:
rename('../files/'.$scan,'../files/'.$filename.'.mp3') |
Не пашет почему-то, пробовал даже не с переменной, а любое имя - результат тот же.
Переменные точно содержат нужные значения.
Отредактировано LooK (2011.06.23 22:10)
бля, что значит не пашет??? текст ошибки??
#41.
LooK
Off
(1)
Участник
2011.06.23 23:11
Gemorroj написал:
бля, что значит не пашет??? текст ошибки??
false возвращает
#42.
TLENS
Off
(14)
Moderator
2011.06.23 23:11
Доступ на запись есть?
Отредактировано TLENS (2011.06.23 23:11)
#43.
LooK
Off
(1)
Участник
2011.06.23 23:11
TLENS написал:
Доступ на запись есть?
денвер
#44.
TLENS
Off
(14)
Moderator
2011.06.23 23:11
/usr/local/apache/logs/error.log
Посмотри че там
LooK,
Код:
print_r(error_get_last()); |
#46.
LooK
Off
(1)
Участник
2011.06.24 09:09
Gemorroj написал:LooK,
Код:
print_r(error_get_last()); |
Спс, помогло
как сделать в сеа,чтобы вместо первьюшек для тем,выводило скрины которые я закинул,то есть,первью делает не у всех тем,только у половины,поэтому я убрал вывод его вообще,и хочу чтобы оно показывало вместо первью те скрины которые я закинул,только в уменьшенном размере))там где отмечено на рисунке должен быть скрин))
Вложения
скрин.PNG
93kb
{1440x900}
[
загрузок: 1091]
там же есть стандартная возможность скрины отображать, так и с темами.
ну их отображает,но это уже когда заходишь в инфо о файле,а я хочу чтоб сразу на странице где выводятся темы были показаны скрины ))вот типа как на скрине,только на скрине это картинки,и с темами хочу так же сделать))
Вложения
скрин2.PNG
165kb
{1440x900}
[
загрузок: 1090]
ну не помню) найди кусок кода который картинки отображает и замени на ручные скриншоты)
а там где темы у меня вообще картинок нету ))только ссылки "скачать" "скачать" и вот хочу чтобы над этими ссылками показывались скрины тем в размере например 80х60 ))
Добавлено спустя 3 минуты 49 секунд: Код:
// Скиншот |
$screen = $setup['spath'].substr($dir, strlen($setup['path'])) . '/' . $filename; |
if (is_file($screen.'.gif')) { |
echo '<hr noshade size="1" width="100%" class="hr"><strong>Скриншот:</strong><br><img style="margin: 1px;" src="'.$screen.'.gif" alt="screen">'; |
} elseif (is_file($screen.'.jpg')) { |
echo '<hr noshade size="1" width="100%" class="hr"><strong>Скриншот:</strong><br><img style="margin: 1px;" src="'.$screen.'.jpg" alt="screen">'; |
} |
|
$desc = $setup['opath'].substr($dir, strlen($setup['path'])).'/'.$filename.'.txt'; |
так выводит скрин в инфо о файле,а как в каталог всунуть этот код чтобы выводило скрин,я хз((
#52.
TLENS
Off
(14)
Moderator
2011.06.26 05:05
Каким образом передать в конструктор класса переменные.
Например
$object = new My_class($var1, $var2);
Как их получить в в конструкторе?
эм, так же как и в обычном методе.
public function __construct ($var1, $var2)
{
}
#54.
TLENS
Off
(14)
Moderator
2011.06.26 09:09
спс. А то не знал с какой стороны подойти
#55.
TLENS
Off
(14)
Moderator
2011.06.26 19:07
Проблема через крон не работает запись со MySQL
Логи в файлы записывает. Скрипт работает.
Но если через крон то записи не появляются.
Неужели надо ставить удаленный доступ?
Или проблемма в другом?
Да кстати свои логи стоят туда пишу mysql_error()
То пусто chdir Настроен правильно
ну что за ошибка-то в mysql_error()
#57.
TLENS
Off
(14)
Moderator
2011.06.26 19:07
В том то и дело что не пишет ничего.
А По каком адресу в debian лежат ошибки базы?
Мож туда заглянуть
#59.
TLENS
Off
(14)
Moderator
2011.06.26 20:08
mysql не наше зато цени что нашел
[Mon Jun 20 14:12:40 2011] [error] [client 66.249.66.233] File does not exist: /.../www/vsemp3.com/rkzyzlngjovl.html
[Mon Jun 20 14:12:41 2011] [error] [client 66.249.66.233] File does not exist: /.../www/vsemp3.com/iolqxifmu.html
[Mon Jun 20 15:19:22 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/phpmyadmin
[Mon Jun 20 15:19:22 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/phpMyAdmin
[Mon Jun 20 15:19:23 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/db
[Mon Jun 20 15:19:23 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/web
[Mon Jun 20 15:19:26 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/PMA
[Mon Jun 20 15:19:26 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/admin
[Mon Jun 20 15:19:26 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/dbadmin
[Mon Jun 20 15:19:26 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/PMA2006
[Mon Jun 20 15:19:26 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/pma2006
[Mon Jun 20 15:19:27 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/sqlmanager
[Mon Jun 20 15:19:27 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/mysqlmanager
[Mon Jun 20 15:19:27 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/p
[Mon Jun 20 15:19:27 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/PMA2005
[Mon Jun 20 15:19:28 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/pma2005
[Mon Jun 20 15:19:28 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/phpmanager
[Mon Jun 20 15:19:29 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/php-myadmin
[Mon Jun 20 15:19:29 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/phpmy-admin
[Mon Jun 20 15:19:29 2011] [error] [client 81.192.48.236] File does not exist: /.../www/vsemp3.com/mysql
Наивный
ну такое почти на любом сайте можно в логах найти
#61.
TLENS
Off
(14)
Moderator
2011.06.26 21:09
Хех сделал тестову таблицу все норм.
Ладно разберемся а пока месть поставлю на wget
#62.
TLENS
Off
(14)
Moderator
2011.06.27 09:09
Есть какая то готовая функция на определение адреса сайта в сообщении?
Даже без http в начале когда то писал но она ужасная.
эм... может не надо таких функций? на форуме работают bb-коды, ссылки можно писать через них, а автоопределение специально отключено.
#64.
TLENS
Off
(14)
Moderator
2011.06.27 10:10
Да нет это я себе хочу в чат.
Просто на сайте когда то сделал чатик. То там ссылки за ссылками пошли
Добавлено спустя 2 минуты 56 секунд: Вот кусок кода писал еще в том году на него страшно смотреть.
Код:
lt;? $domain=file('/home/poise764/public_html/chat/domain.dat'); // Список популярных доменных зон $dom=''; $c=count($domain); for($i=0; $i<$c; $i++){$b=trim($domain[$i]); if(strlen($b)>1){ $dom.=$b.'|';}} $dom=substr($dom,0,-1); setcookie("name_chat", $name_chat, time() + 3600 * 24 * 365, '/', ''); $_SESSION['name_chat']=$name_chat; $message_chat=preg_replace('/(http:\/\/){0,1}[a-zA_Z0-9\-\.]{3,20}\.('.$dom.')+.*\s/si',' <font color="#ff0000">[Не рекламь хуй]</font> ',' '.$message_chat.' '); $name_chat=preg_replace('/(http:\/\/){0,1}[a-zA_Z0-9\-\.]{3,20}\.('.$dom.')+.*\s/i',' <font color="#ff0000">[хуй]</font> ',' '.$name_chat.' '); |
Отредактировано TLENS (2011.06.27 10:10)
Вопрос по MySQL, очень надеюсь на вашу помощь.
Нужно составить запрос, который будет вытаскивать данные из таблицы сообщений, количества комментариев, и если количество
комментариев будет больше нуля - вытаскивать комментарии этих сообщений,
а так же вытягивать из таблицы пользователей логин и аватар создателя сообщения и создателя комментария
С дальнейшей возможностью вывода их в цикле, пример реализации - стена вконтакте
Структура БД:
Таблица сообщений - mems
Поля:
id
id_user
text
likes
time
Таблица комментариев - mems_comments
id
id_mems
id_user
text
time
#66.
TLENS
Off
(14)
Moderator
2011.06.27 16:04
$q = mysql_query("SELECT * FROM `mems_comments` WHERE id_mems = 'Ид сообщения'");
$n = mysql_num_rows($q);
if ($n) {
echo 'выводим';
}
Отредактировано TLENS (2011.06.27 16:04)
TLENS, чувак, ты гений, но это не то, нужно сделать всё одним запросом к бд.
Отредактировано ByVlad (2011.06.27 16:04)
#68.
TLENS
Off
(14)
Moderator
2011.06.27 16:04
Код:
SELECT `users`.*, `mems`.*, `mems_comments`.*, (COUNT(1) - 1) AS `cnt` |
FROM `users`, `mems` |
LEFT JOIN `mems_comments` ON `mems`.`id` = `mems_comments`.`id_mems` |
WHERE `mems`.`id` = 1 |
AND `users`.`id` = `mems`.`id_user`; |
единственное что
.* нужно заменить на конкретные поля и задать им алиасы, а то они будут друг друга перекрывать.
Gemorroj, как всегда спасибо
.
Gemorroj, всё бы хорошо, только этот запрос берет только одну запись из таблицы mems, а нужно все удовлетворяющие условию.
Немного подкорректировал запрос:
SELECT `users`.`login` AS `us_login`, `users`.`avatar` AS `us_avatar`,
`mems`.*, `mems_comments`.`text` AS `mc_text`, `mems_comments`.`time` AS `mc_time`, (COUNT(1) - 1) AS `cnt`
FROM `users`, `mems`
LEFT JOIN `mems_comments` ON `mems`.`id` = `mems_comments`.`id_mems`
WHERE `mems`.`id_user` = " . $query['id'] . "
AND `users`.`id` = `mems`.`id_user`
Gemorroj, ага, оно, спасибо.
Блин,чет в топе не изменяет пр и тц у сайтов если показатели ростут,например если при реге сайта было пр 0,то если оно у сайта повышается,то картинка с данными не изменяется(( в каком файле это нужно прописать?)))скрипт полностью прикрепляю к посту)))
POFIGISST, ага щас все бросятся тебе топ переписывать.
я не просил переписывать,я просто спросил в каком файле "в каком файле это нужно прописать?)))"
Gemorroj, (COUNT(1) - 1) AS `cnt`
он должен подсчитать количество записей из таблицы mems_comments где `mems_comments`.`id_mems` = `mems`.`id`
но чет нифига не считает
и `users`.`login` AS `us_login`, `users`.`avatar` AS `us_avatar`
нужно ещё достать эти же данные, только `users`.`id` = `mems_comments`.`id_user`
Gemorroj, ^^ вопрос больше неактуален)
Теперь новый вопрос, в цикличном выводе через {foreach} в smarty
в каждом выводимом объекте идет {php}{/php} в него нужно передать {$row.id}
как это сделать?
ByVlad, начнем с того, что от {php}{/php} нужно бы отказаться. Иначе попахивает смешиванием логики и представления.
Gemorroj, смотри, мне нужно сделать вывод записей с комментариями как вконтакте, у меня других вариантов нет.
Запрос тот я поправил, но там получалось что если комментария нет, то и записи из таблицы mems в массиве тоже нет.
начнем с того, что нужно выложить свой код, еба. иначе что- то обсуждать бесполезно.
давай поправленный SQL запрос и smarty шаблон.
Код:
SELECT ( |
SELECT COUNT(1) FROM `mems_comments` WHERE `id_mems` = `mems`.`id` |
) AS `count`, |
`users`.`login` AS `us_login`, |
`users`.`avatar` AS `us_avatar`, |
`mems`.`text` AS `mems_text`, |
`mems`.`time` AS `mems_time`, |
`mems_comments`.`text` AS `mc_text`, |
`mems_comments`.`time` AS `mc_time`, |
`mems_comments`.`id` AS `mc_id` |
FROM `users`, `mems`, `mems_comments` |
WHERE `mems`.`id_user` = 1 |
AND `users`.`id` = `mems_comments`.`id_user` |
AND `mems_comments`.`id_mems` = `mems`.`id` |
GROUP BY `mems`.`id`, `mems_comments`.`id` DESC LIMIT 1 |
Код:
span style="color: #0000BB"><?php// шаблон {foreach item=row from=$mems} <table id="{$row.id}"> <tr> <td valign="top"><div class="ava"><a href="/{$querylogin}"><img src="{if !empty($query.avatar)}/files/avatar/s_{$query.avatar}.jpg{else}/template/web/ru/user_mid.gif{/if}" alt="" /></a></div></td> <td valign="top" width="100%"><div class="test"><a href="/{$query.login}"><b>{$query.login}</b></a> {if $user.id == $query.id}<div style="float:right;"> <span class="del"><a href="/mems_delete_{$row.id}.html" title="Удалить запись">удалить</a></span> {if $row.id_added == 0}<span class="del"><a href="/mems_edit_{$row.id}.html" title="Редактировать запись">изменить</a></span>{/if}{/if}<br/></div><br/>{$row.text}<br/><span class="time"><a href="/mems_view_{$row.id}.html">{$row.time|clock}</a></span></div><!-- Комментарии, их нужно в цикле вывести ещё, но как? -->{if $row.count > 0}<div class="com_post_br"></div>{if $row.cnt > 3}<div class="comms">3 последних комментария из <a href="/mems_view_{$mems.id}.html">{$row.cnt}</a></div>{/if}<div class="fontsize"><a href="/{$row.us_login}"><b>{$row.us_login}</b></a> {$row.mc_text}<br /><span class="time">{$row.mc_time|clock}</span> <span class="del"><a href="/mems_comment_delete_{$row.mc_id}">x</a></span></div><div class="hr_"></div>{/if}<!-- Конец комментариев --><div class="hr_"></div> <span class="nr"><a title="Добавить комментарий" href="/{$query.login}?act=add_comment&id={$row.id}#{$row.id}">прокомментировать</a></span> - <span class="nr"><a href="/{$query.login}?act=add_me&id={$row.id}#{$row.id}">добавить себе</a></span> -<span class="nr"><a href="/{$query.login}?act=like&id={$row.id}#{$row.id}">мне нравится </a></span> </td> </tr></table><div class="br_1"></div>{foreachelse}Нифига нету.{/foreach} |
{php}{/php} не вижу.
верни LEFT JOIN
Gemorroj, я думал сделать в {php}{/php} цикл вывода с комментариями, так бы получалось ~5 запросов в цикле, при кешировании норм, у меня получилось только с обычным JOIN.
Gemorroj, с {php}{/php}
Код:
{foreach item=row from=$mems} |
<table id="{$row.id}"> |
<tr> |
<td valign="top"><div class="ava"><a href="/{$querylogin}"><img src="{if !empty($query.avatar)}/files/avatar/s_{$query.avatar}.jpg{else}/template/web/ru/user_mid.gif{/if}" alt="" /> |
</a></div></td> |
<td valign="top" width="100%"><div class="test"><a href="/{$query.login}"><b>{$query.login}</b></a> {if $user.id == $query.id}<div style="float:right;"> <span class="del"><a href="/mems_delete_{$row.id}.html" title="Удалить запись">удалить</a></span> {if $row.id_added == 0}<span class="del"><a href="/mems_edit_{$row.id}.html" title="Редактировать запись">изменить</a></span>{/if}{/if}<br/></div><br/>{$row.text}<br/> |
<span class="time"><a href="/mems_view_{$row.id}.html">{$row.time|clock}</a></span></div> |
<!-- Комментарии --> |
{if $row.count > 0} |
{php} $si = 0; {/php} |
<div class="com_post_br"></div> |
{if $row.cnt > 3} |
<div class="comms">3 последних комментария из <a href="/mems_view_{$mems.id}.html">{$row.cnt}</a></div> |
{/if} |
{php} |
global $isql,$tpl,$si; |
$query = $isql -> cycle("SELECT `users`.`avatar` AS `us_avatar`, `users`.`login` AS `us_login`, `mems_comments`.* |
FROM `mems_comments`,`users` |
WHERE `users`.`id` = `mems_comments`.`id_user` AND `mems_comments`.`id_mems` = '".$mems['id']."' |
ORDER BY `mems_comments`.`id` DESC LIMIT 3"); |
echo "SELECT `users`.`avatar` AS `us_avatar`, `users`.`login` AS `us_login`, `mems_comments`.* |
FROM `mems_comments`,`users` |
WHERE `users`.`id` = `mems_comments`.`id_user` AND `mems_comments`.`id_mems` = '".$si."' |
ORDER BY `mems_comments`.`id` DESC LIMIT 3"; |
$si++; |
print_r($tpl['tpl_vars']); |
echo '<div class="fontsize"> |
<a href="/{$row.us_login}"><b>{$row.us_login}</b></a> {$row.mc_text}<br /> |
<span class="time">{$row.mc_time|clock}</span> |
<span class="del"><a href="/mems_comment_delete_{$row.mc_id}">x</a></span> |
</div> |
<div class="hr_"></div>'; |
{/php} |
{/if} |
<!-- Конец комментариев --> |
<div class="hr_"></div> <span class="nr"><a title="Добавить комментарий" href="/admin/comm681#681">прокомментировать</a></span> - <span class="nr"><a href="/admin/post/681">добавить себе</a></span> - <span class="nr"><a href="/admin/plus/681" onclick="get()">мне нравится </a></span> </td> |
</tr> |
</table><div class="br_1"></div> |
{foreachelse} |
|
{/foreach} |
Отредактировано ByVlad (2011.06.28 13:01)
^^ Все вопросы не актуальны
Нужно достать данные из таблицы mems где `id_user` равняется записям из таблицы follows, что-то такое написал, но естесна оно не работает)
Код:
SELECT `mems`.* FROM `mems` WHERE `mems`.`id_user` IN(SELECT `follows`.* FROM `follows` WHERE `follows`.`id_user` = 1) ORDER BY `mems`.`time` DESC |
Код:
SELECT `mems`.* |
FROM `mems` |
INNER JOIN `follows` ON `follows`.`id_user` = `mems`.`id` |
ORDER BY `mems`.`id` DESC |
Нужно узнать id_user из трех таблиц mems, mems_comments, mems_likes
и отсортировать их по количеству записей для определенного id_user
как-то так.
#89.
Вапамнет
Гость
2011.07.04 17:05
Привет. Как зделать чтоб в песне mр3 при скачеванию менялся альбом, название, исполнитель и т.д на адрес сайта ? Пример ссылки такой site.ru/load.php?file=(адрес песни. например)wapinet.ru/music.mp3. Какой код нужна вписать в файл load.php чтоб изминить альбом, название и т.д?
Вапамнет написал:
Привет. Как зделать чтоб в песне mр3 при скачеванию менялся альбом, название, исполнитель и т.д на адрес сайта ? Пример ссылки такой site.ru/load.php?file=(адрес песни. например)wapinet.ru/music.mp3. Какой код нужна вписать в файл load.php чтоб изминить альбом, название и т.д?
если у тебя сеа,то там есть возможность к всем мп3 устанавливать эти данные))
Помогите с мафией,у всех она норм работает,а у меня там пустая страница((
тест акк что это может быть?
#92.
TLENS
Off
(14)
Moderator
2011.07.10 09:09
\Но у меня не пустая
POFIGISST, достаточно просто проверить html код валидатором, чтобы понять что из себя представляет скрипт
TLENS написал:
\Но у меня не пустая
все говорят что у них все нормик,а у меня пусто(( вот скрин прикрепляю))
Добавлено спустя 2 минуты 42 секунды: Gemorroj написал:POFIGISST, достаточно просто проверить html код валидатором, чтобы понять что из себя представляет скрипт
Это я согласен Паш))но от паблика не стоит ожидать что выложат хороший скрипт без ошибок и багов на халяву))Поэтому спасибо кодерам которые выкладывают хоть какие то скрипты в паблик(и тебе тоже спасибо) )))
Вложения
маффия.PNG
52kb
{1440x900}
[
загрузок: 1013]
#95.
TLENS
Off
(14)
Moderator
2011.07.10 23:11
Сейс зайду по ftp к тебе гляну че там.\
Надеюсь пароль не поменял
Добавлено спустя 2 минуты 22 секунды: А у тебя этот сайт на другом сервере. Покажи файл maf.php
конкретно на той странице 500 ошибка. проверь синтаксис php кода.
Помогите с запросом. Есть таблица
id | name | categor
Все данные в разброс, нужно выводить из определённой категории и повторяющиеся имена только один раз
пример:
2 | иван | mebel
3 | иван | paleno
4 | саня | mebel
5 | иван | mebel
Нужно только
2 | иван | mebel
4 | саня | mebel
Плохо в SQL шарю, простое что-нибудь запросто, а потяжелее не мого, помогите, если не троудно.
Отредактировано DarkRiDDeR (2011.07.13 08:08)
О, точно! И так просто. А то я уже в подзапросы полез. Спасибо!
Gemorroj, А как сделать чтоб в таблице постом выше еще и считало,например сколько mebel,сколько poleno?
Как оптимизировать данный запрос?
А то выполняется пол минуты.
Код:
span style="color: #0000BB"><?php$q = mysql_query("SELECT * FROM `video` ORDER BY `id`");while($row = @mysql_fetch_array($q)) { mysql_query("UPDATE `video` SET `url_letit` = '" . (($arr[$row['id']]) ? $arr[$row['id']] : '') . "' WHERE id = '{$row['id']}'");} |
Добавлено спустя 1 минуту 1 секунду: В смысле можно ли его сделать одним запросом?
Как комментируются константы в классах?
например свойства так:
Код:
span style="color: #0000BB"><?php /** * Переменная с настройками. * @var array */ private static $_arr;?> |
как быть с константами?
Я буду лучше голоден, но между креслом и рулем и на дороге.
TLENS, что в массиве $arr?
Nu3oN,
http://pear.php.net/manual/ru/standards.naming.phpИмена констант всегда должны быть в верхнем регистре с подчеркиваниями для разделения слов. В качестве префикса в именах констант должно использоваться имя пакета/класса, в котором они используются. Например, все константы, которые используются в пакете DB::, начинаются с "DB_".
пример (почему-то с синтаксической ошибкой php, но суть уловить можно)
http://pear.php.net/manual/ru/standards.sample.phpКод:
span style="color: #0000BB"><?php/** * Methods return this if they succeed */define('NET_SAMPLE_OK', 1); |
Gemorroj написал:
что в массиве $arr?
Код:
span style="color: #0000BB"><?php$f = file('data_link.dat'); // ~70000 строк$arr = array();foreach ($f as $v) { preg_match('/id_(\d+)_-_/', $v, $b); if ($b[1]) $arr[$b[1]] = $v;}unset($f); |
В общем ссылки
Отредактировано TLENS (2011.07.14 14:02)
Паша а с каких айпишников идет спам?
Они разные?
я не смотрел IP, особого труда удалить сообщение и забанить пользователя мне пока не составляет.
Gemorroj =D
Добавлено спустя 4 минуты 46 секунд: А как на счет оптимизации, с ним можно что то сделать?
Отредактировано TLENS (2011.07.14 20:08)
Как насчет такого интелекта для вырезания ссылок?
Код:
lt;?$commit = preg_replace('/([\s"\'\(\{\|]{0,1})((https{0,1}:\/\/){0,1}(([a-z\-]){3,20}\.){1,5}[a-z]{2,6}[0-9a-z\/\?\.\-\~&;_=%:#\+]*)([\s"\'\)\}\|]{0,1})/usi', ' <font color="#f00">Ссылка вырезаная</font> ', $commit); |
Да попробуваль разные варианты да и множество текстов обработал вроде норм лишнего не хавает
xavier053, Как ты уже задолбал
Tlens, удалил)
Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться секс
Есть возможность в php выполнить несколько операций одновременно?
TLENS, нативно нет. можно извращаться всякими exec'ами.
А можешь помочь в этом вопросе? А то я с exec практически не работал. А точнее вообще не работал.
Вообщем нужно составить запрос сортировки пользователей по активности, что-то типа этого только нормальный:
SELECT * FROM `users` ORDER BY (SELECT COUNT(*) FROM `mems` WHERE `id_user` = что-то),(SELECT COUNT(*) FROM `mems_comments` WHERE `id_user` = что-то),(SELECT COUNT(*) FROM `mems_likes` WHERE `id_user` = чтото) DESC LIMIT 10
помогите пожалуйста)
Отредактировано ByVlad (2011.07.19 03:03)
Вообщем я наверное неверно объяснил, есть 4 таблицы:
mems:
структура:
id
id_user
и ещё ненужные поля
mems_comments:
структура:
id
id_user
id_mems
и ещё ненужные поля
mems_likes:
структура:
id
id_user
id_mems
и ещё ненужные поля.
Нужно составить ТОП-10 самых активных пользователей исходя из количества записей в этих таблицах с приоритетом таблиц mems,mems_comments,mems_likes.
Таблица пользователей:
users:
id
login
и ещё ненужные поля.
Код:
SELECT `users`.*, |
( |
(SELECT COUNT(1) FROM `mems` WHERE `id_user` = `users`.`id`) + |
(SELECT COUNT(1) FROM `mems_comments` WHERE `id_user` = `users`.`id`) + |
(SELECT COUNT(1) FROM `mems_likes` WHERE `id_user` = `users`.`id`) |
) AS `cnt` |
FROM `users` |
ORDER BY `cnt` DESC LIMIT 10 |
Gemorroj, ты гений, как всегда спасибо)
Добавлено спустя 6 минут 3 секунды: Gemorroj, а ещё отдельную статистику реально сделать тоесть AS `cnt_mems`, пробовал, не получилось...
Поставил зц мобивап себе,а там ошибка вот такая "Warning: Invalid argument supplied for foreach() in /home2/d4cc1zrx/public_html/index.php on line 62" и я как обычно х\з как её исправить,выкладываю код страницы
Код:
span style="color: #0000BB"><?php/** * @author [FaNiska] * @copyright 2009 * Загруз центр * Предложения, идеи, вопросы и об ошибках писать в icq 65-64-538 или на mobi-m-ru@ya.ru */include 'inc/db_connect.php';include 'inc/function.php';include 'inc/set.php';include 'inc/head.php';/*echo '<div class="post">Реклама:<br />';include 'link.php'; include 'link.php'; echo '<hr /></div>';*//// ВЫВОД Разделовif ($index == 1 && !isset($_GET['c'])){ mysql_query("DELETE FROM `cache` WHERE `time` < " . ($time - ($setup['cache_time']) * 60 * 10) . " LIMIT 50"); $category = mysql_query("SELECT * FROM `category` ORDER BY `por`;"); echo '<table border="2" width="100%">'; while ($cat = mysql_fetch_array($category)) { if ($cat['s_name'] == 'vrazdel') { echo '<tr class="vraz"><td colspan="2"><img src="ico/' . $cat['ico'] . '.gif" alt="+" width="16" height="16" /> ' . $cat['r_name'] . '</td></tr>'; } elseif ($cat['s_name'] == 'link') { $tid = explode('|', $cat['folder']); $link = mysql_fetch_array(mysql_query("SELECT * FROM `$tid[0]` WHERE `id`='$tid[1]';")); $count = explode('i', $link['p_i_f']); echo '<tr class="menu"><td><img src="ico/' . $cat['ico'] . '.gif" alt="+" width="16" height="16" /> <a href="?c=' . $tid[0] . '&id=' . $tid[1] . '">' . $cat['r_name'] . '</a></td><td> [' . $count['0'] . $count['1'] . ']</td></tr>'; } elseif ($cat['s_name'] == 'vlink') { echo '<tr class="vraz"><td colspan="2"><img src="ico/' . $cat['ico'] . '.gif" alt="+" width="16" height="16" /> <a href="' . $cat['folder'] . '">' . $cat['r_name'] . '</a></td></tr>'; } else { $count = explode('i', $cat['p_i_f']); $cat['s_name'] = str_replace('files/', '', $cat['s_name']); echo '<tr class="menu"><td><img src="ico/' . $cat['ico'] . '.gif" alt="+" width="16" height="16" /> <a href="?c=' . $cat['s_name'] . '">' . $cat['r_name'] . '</a></td><td> [' . $count['0'] . $count['1'] . ']</td></tr>'; } } echo '</table>'; echo '<hr />'; echo '<div class="navi"><a href="stat.php">Статистика ЗЦ</a> : <a href="set.php">Настройки</a></div>'; /// Удаление временных файлов из папки temp/ $arr_temp = glob('temp/*'); $i = 0; foreach ($arr_temp as $value) { @unlink($value); $i++; if ($i > 50) { break; } }}/// ВЫВОД Категорийelseif (isset($_GET['c'])){ if ($id != 0) { $head_cat = mysql_fetch_array(mysql_query("SELECT `s_name`, `sizetime` FROM `$table` WHERE `id`='$id';")); } if (!is_dir($head_cat['s_name'] . '/')) { exit('Выбранный раздел не существует'); } if ($head_cat['sizetime'] < ($time - 3600)) { $allfiles = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `' . $table . '` WHERE `folder` LIKE "' . $head_cat['s_name'] . '%" AND `type`=2;')); $allfiles = $allfiles['0']; $allnew = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `' . $table . '` WHERE `folder` LIKE "' . $head_cat['s_name'] . '%" AND `type`=2 AND `up_time`>' . $new_time . ';')); $allnew = '/+' . $allnew['0']; if ($id != 0) { mysql_query("UPDATE `$table` SET `p_i_f`='" . $allfiles . "i" . $allnew . "', `sizetime`='$time' WHERE `id`=$id LIMIT 1;"); } else { mysql_query("UPDATE `category` SET `p_i_f`='" . $allfiles . "i" . $allnew . "', `sizetime`='$time' WHERE `s_name` = 'files/$table' LIMIT 1;"); } } ////////// START - ПОСТРАНИЧНАЯ НАВИГАЦИЯ $k_post = mysql_fetch_array(mysql_query('SELECT COUNT(`id`) FROM `' . $table . '` WHERE `id_p`=' . $id . '')); $k_post = $k_post['0']; $k_page = k_page($k_post, $step); $page = page($k_page); $start = $step * $page - $step; ////////// END - ПОСТРАНИЧНАЯ НАВИГАЦИЯ $parametr = "$table|$id|$sort|$p|$step|$page|$prev_set|$prev_w|$prev_h|$d_w|$d_h"; if (isset($_GET['set'])) { include 'inc/set_inc.php'; } else { echo "<div class='navi'> » <a href=\"?c=$table&id=$list[id]&sort=$sort&p=$p&step=$step&page=$page&set\">Настройки</a> : <a href='search.php?c=$table&search'>Поиск</a><br /> » Самые: <a href='top.php?c=$table&id=$id'>скачиваемые</a> : <a href='new.php?c=$table&id=$id'>новые</a><br /> </div>"; } if (mysql_result(mysql_query("SELECT COUNT(*) FROM `cache` WHERE `parametr` = '$parametr' && `time` > " . ($time - ($setup['cache_time']) * 60) . ""), 0) == 0) { $s = mysql_query("SELECT * FROM `$table` WHERE `id_p`=$id ORDER BY `$sort` $por LIMIT $start, $step"); $content = '<table width="100%">'; while ($list = mysql_fetch_array($s)) { if ($list['type'] == 1) { $count = explode('i', $list['p_i_f']); $allfiles = $count['0']; $allnew = $count['1']; $list['r_name'] = str_replace('*', '', $list['r_name']); if ($list['gr_id'] > 0 && $list['gr_id'] < 6) { switch ($list['gr_id']) { // Стандартные иконки групп. Можете изменять тут. case '1': $ico = "<img src='ext/mo.gif' alt='+' width='16' height='16'/> "; break; case '2': $ico = "<img src='ext/jar.gif' alt='+' width='16' height='16'/> "; break; case '3': $ico = "<img src='ext/mp3.gif' alt='+' width='16' height='16'/> "; break; case '4': $ico = "<img src='ext/sis.gif' alt='+' width='16' height='16'/> "; break; case '5': $ico = "<img src='ext/3gp.gif' alt='+' width='16' height='16'/> "; break; } $content = $content . "<tr><td> $ico <a href='group.php?c=$table&id=$list[id]'>$list[r_name]</a></td><td>[$allfiles$allnew]</td></tr>"; } else { $content = $content . "<tr><td><img src='ico/$list[ico].gif' alt='+' /> <a href='index.php?c=$table&id=$list[id]'>$list[r_name]</a></td><td>[$allfiles$allnew]</td></tr>"; } } elseif (in_array($list['f_ras'], $arr_ext)) ////// ФИЛЬТР ПО РАСШИРЕНИЮ { $list['r_name'] = str_replace('*', '', $list['r_name']); if ($prev_set == 1 && isset($prev_h) && isset($prev_w)) { // Если предпросмотр включен if ($list['f_ras'] == 'jpg' || $list['f_ras'] == 'jpeg' || $list['f_ras'] == 'png' || $list['f_ras'] == 'gif') { $content = $content . "<tr class='block'><td colspan='2'> $list[r_name] <a class='info' href='file.php?c=$table&id=$list[id]'>подробности</a></td></tr><tr><td class='img' width='$prev_w'><img src='image.php?c=$table&id=$list[id]&W=$prev_w&H=$prev_h' alt='скачать " . $file_name . "'/> </td><td class='info'><a class='info' href='file.php?c=$table&id=$list[id]'>$list[r_name]</a> " . size_file($list['size']) . "<br />"; if (function_exists('getimagesize')) { $img_size = getimagesize($list['s_name']); $x = "($img_size[0]x$img_size[1])"; } else { $x = ''; } $content = $content . "<a class='info' href='load_img.php?c=$table&id=$list[id]'>Скачать оригинал $x</a><br /> Кол-во скачиваний: $list[count]<br />"; if (isset($d_w) && isset($d_h)) { $content = $content . '<a class=\'info\' href="image.php?c=' . $table . '&id=' . $list['id'] . '&act=d&W=' . $d_w . '&H=' . $d_h . '">Скачать ' . $d_w . 'x' . $d_h . '</a> </td></tr>'; } else $content = $content . "</td></tr>"; } elseif ($list['f_ras'] == '3gp' || $list['f_ras'] == 'mp4' || $list['f_ras'] == 'avi') // можете расширить сами если ваш хостинг поддерживает другие форматы { $content = $content . "<tr class='block'><td colspan='2'> $list[r_name] <a class='info' href='file.php?c=$table&id=$list[id]'>подробности</a></td></tr><tr><td class='img' width='$prev_w'><img src='ffmpeg.php?c=" . $table . "&id=" . $list['id'] . "&W=" . $prev_w . "&H=" . $prev_h . "&k=20' alt='" . $list['r_name'] . " " . $list['f_ras'] . "'/></td><td class='info'>Размер: " . size_file($list['size']) . "<br /><a class='info' href='load.php?c=$table&id=$list[id]'>Скачать $list[f_ras]</a><br /> Кол-во скачиваний: $list[count]</td></tr>"; } else { $screen = eregi_replace($list['f_ras'] . '$', '', $list['s_name']); $arr_sc = glob($screen . '*'); foreach ($arr_sc as $value) { if (eregi('\.gif$|\.png$|\.jpeg$|\.jpg$', $value)) { $img = "<img src=\"screen.php?file={$value}\" alt=\"\" />"; break; } else { $img = ''; } } if (!isset($img) || empty($img)) { $img = "<img src='ext/$list[f_ras].gif' alt='+' width='16' height='16'/>"; } $content = $content . "<tr class='block'><td colspan='2'> $list[r_name] <a class='info' href='file.php?c=$table&id=$list[id]'>подробности</a></td></tr><tr><td class='img' width='$prev_w'>$img</td><td class='info'> Размер: " . size_file($list['size']) . "<br /> Скачиваний: $list[count]<br /> <a class='info' href='load.php?c=$table&id=$list[id]'>скачать $list[f_ras]</a></td></tr>"; } } else { $content = $content . "<tr><td><img src='ext/$list[f_ras].gif' alt='+' width='16' height='16'/> <a href='file.php?c=$table&id=$list[id]'>$list[r_name]</a></td><td>" . size_file($list['size']) . "</td></tr>"; } } } $content = $content . '</table>'; echo $content; include_once 'inc/str.php'; mysql_query("REPLACE INTO `cache` (`parametr`, `content`, `str`, `time`, `count`) VALUES ('$parametr', '" . mysql_real_escape_string($content) . "', '" . mysql_real_escape_string($str) . "', '$time', '1')"); } else { $cache = mysql_fetch_array(mysql_query("SELECT * FROM `cache` WHERE `parametr`='$parametr' LIMIT 1")); echo $cache['content'] . $cache['str']; }}echo '<div class="navi"><a href="http://mobiwap.su">wap знакомства на WapLover.Net</a><br />';echo '<b><a href="readme.php">Купить скрипт загруз центра</a></b></div><div>';include 'inc/foot.php';?> |
валидатор показал что нет ошибок((
POFIGISST написал:
валидатор показал что нет ошибок((
тут не в синтаксисе проблема.
Пустая переменная $arr_temp
Добавлено спустя 1 минуту 6 секунд: т.е. $arr_temp = glob('temp/*');
не вернул нифига.
сейчас дам исправления
а что в ней должно находиться? или она вообще не должна существовать?))
Код:
span style="color: #0000BB"><?php $arr_temp = glob('temp/*'); $i = 0; foreach ($arr_temp as $value) { @unlink($value); $i++; if ($i > 50) { break; } } |
замени
Код:
span style="color: #0000BB"><?php $arr_temp = glob('temp/*'); $i = 0; if (is_array($arr_temp)) { foreach ($arr_temp as $value) { @unlink($value); $i++; if ($i > 50) { break; } } } |
Отредактировано TLENS (2011.07.26 23:11)
А хотя можно было просто вставить собаку перед foreach для заглушки эта ошибка не страшная просто нет файлов в папке temp
Добавлено спустя 8 минут 56 секунд: POFIGISST написал:
а что в ней должно находиться
Глупый вопрос.
заходишь например на php.su кликаешь по ссылке функции по алфавиту и ищешь функцю glob, и смотриш что она должна вернуть
Странно почему в ОПП переменная description не работает.
Код:
span style="color: #0000BB"><?phpclass Themes { public $title; public $nav; public $description = 1; public $content; public function __destruct () { global $_SET; $this->parse(); header("Content-type: text/html; charset=utf-8"); var_dump($this); //highlight_string($r); echo $r; } } |
результат
Код:
object(Themes)#2 (4) { |
["description"]=> |
string(0) "" |
} |
["description"]=>string(0) "" вот почему?
В то время как
Код:
lt;?class Test { public $description = 1;}$test = new Test;var_dump($test); |
Все норм.
Отредактировано TLENS (2011.08.03 22:10)
здесь какой-то маразм, а не ООП.
начнем с того, что вот так "global $_SET;" никогда писать нельзя.
и результат - как ты его получил? может ты сам же description и обнулил.
Не понял на счет global, Нужно было сразу в конструкторе принять нужные параметры с set/
Кстати да этот кла вовсе не клас просто совокупность функций. Писал его когда только начинал учить ООП.
Сейчас то уже понял для чего надо ООП.
Но все же я публике тоже ввел в переменную данные то нет их.
Отредактировано TLENS (2011.08.03 22:10)
Ты был прав додумался пробить поиском description когда то тестил класс и стоит строчка $Themes->description = '';
Почему я о ней забыл. спс. уберу ту срань с форума. Надо бы и с сервера ее убрать.
Народ как сделать в Mysql сортировку по русским буквам? С английским всё норм, а с русским проблы. Кодировка UTF-8
DarkRiDDeR, подозреваю, что нихрена не utf-8. Потому как при корректной работе с кодировками, никаких проблем не возникает.
Да при создании таблицы задал DEFAULT CHARSET utf8, всю запись вёл тоже с utf-8. Выводится всё норм, а сортировка что-то никак.
соединение с бд должно быть еще настроено на работу с utf-8
Кажись понял. Я не настраивал, что utf, и mysql при записи считал, что это latin1(по умолчанию), а записывалось utf. Поэтому при выводе всё норм, но при сортироке, mysql сортирует utf, как lаtin. Но как теперь от этого избавиться: данные, которые уже записаны, нужны?
Нет, это уже пробовал. Выходит: MySQL перекодирует, что в UTF, из latin1 в UTF. И получается воопще муть.
DarkRiDDeR, твои проблемы) перводи бд в UTF-8
Решил сделать так: сниму дамп в lаtin1 и запихну его, как utf8. Кстати, есть скрипт, который дамп снимает? Рhрmуаdmin не подходит.
Фу-у... Рушил проблему. Хороший скрипт Sypex Dumper v.2.0.6 B (дампы делает). В нём снял дамп в latin1, а потом запихнул, как UTF8. Всё!!! Работает!!!
почему phpmyadmin не подходит? лучшее что есть на php для работы с mysql.
Sypex Dumper v.2.0.6 в 4 раза быстрее, если верить разработчику. phpmyadmin на хосте стоит, я сначала через него хотел дамп снять, но там только он в UTF8 даёт. И опять выходит: что хранится в UTF, перекодировается из latin в utf, как-то так. Главное проблему решил
ну какая разница, отдаст оно тебе страницу, за 0.4 или 0.1 сек? возможностей-то у phpmyadmin не в 4, а в 1000 раз больше.
Я не говорю, что он хуже, просто у него кракобязи на дампе были
помогите сделать приват в чате только с 50 постов,идет вот такая
Код:
echo "<select name=\"prvt\">"; |
echo "<option value=\"0\">Всем</option>"; |
echo "<option value=\"1\">Приватно</option>"; |
echo "</select><br/>"; |
кнопка переключатель,хочу чтоб из базы users['posts'] брало сколько у человека постов,и если меньше 50 постов,то срабатывала функция if else ,то есть,если постов 50 или больше,то в кнопке появляется "Приватно" а если же постов нету,то "Приватно" просто исчезает,и можно говорить только "всем" вот как это сделать?((
POFIGISST очень просто.
Код:
span style="color: #0000BB"><?php$posts = 49; // в эту переменную вставь с базы количество постов юзера.$limit = 50; // Лимитif ($posts >= $limit) { echo "<select name=\"prvt\">"; echo "<option value=\"0\">Всем</option>"; echo "<option value=\"1\">Приватно</option>"; echo "</select><br/>";}// А также чтобы не было дырки вставь такое же возле приема поста.$posts = 49; // в эту переменную вставь с базы количество постов юзера.$limit = 50; // Лимитif ($posts >= $limit) { // разрешаем} else { // не разрешаем} |
спасиб Дим,а "А также чтобы не было дырки вставь такое же возле приема поста." это где прием поста идет?((
а я *** дай файл на который ссылается форма
Отредактировано TLENS (2011.08.11 00:12)
вот вся страница,теперь оно определяет сколько постов у того юзера которому я пишу,и если у него нету 50 постов,то я не могу ему в приват ответить,а он мне может если у меня больше 50 постов(
Код:
lt;?require'config.php';$user['avr'] = 0;$align='left';$title='Сказать';head();aut();if (!ctype_digit($_GET['rm'])){header('Location: index?'.SID);die;}if (!ctype_digit($_GET['nk'])){header('Location: index?'.SID);die;}$rm = intval($_GET['rm']);$nk = intval($_GET['nk']);who_add($rm,'room'); // Занисываем Кто онлайн...$db->sql_query ("Select rm from rooms where rm='".$rm."';");if (mysql_affected_rows() == 0){echo "Такой комнаты не существует!";foot();exit;}$select = @$db->sql_query ("Select * from users where id='".intval($nk)."'");if (mysql_affected_rows() == 0){echo "Юзер не найден. Возможно ник удалён.<br/>";echo gb.'<a href="room?rm='.$rm.'">В чат </a>'.div;foot();exit;}$inf = $db->sql_fetchrow ($select);if (ignor(user_inf($inf['id']),$user['id'])==1){echo 'Пользователь <b>'.$inf['user'].'</b> отправил вас в игнор!<br />';echo gb.'<a href="room?rm='.$rm.'">В чат </a>'.div;foot();exit;}$usid = $inf["id"];$nick = $inf["user"];$usname = $inf["name"];$birth = $inf["birth"];$sex = $inf["sex"];$city = $inf["city"];$mail = $inf["mail"];$site = $inf["site"];$infa = $inf["infa"];$icq = $inf["icq"];$credits = $inf["credits"];$gposts = $inf["gposts"];$status = $inf["status"];$date = $inf["date"];$op = $inf["op"];$onl = $inf["onl"];$mob = $inf["mob"];$us_ip = $inf["user_ip"];$us_soft = $inf["user_soft"];$img = $inf["img"];$nastroi = $inf["nastroi"];$visit = $inf["visit"];$room = $inf["room"];$byeotv = $inf["byeotv"];$number = $inf["number"];$level = $inf["level"];$fr = $inf["friends"];$mysmile = $inf["mysmile"];$votefoto = $inf["votefoto"];$ign = $inf["ignor"];$bee = $inf["site"];$myavatar = $inf["myavatar"];$version = $inf["version"];$postmag = $inf["postmag"];$alltraf = $inf["alltraf"];$postsf = $inf["postsf"];$idpass = $inf["pass"];$rating = $inf["rating"];$clan = $inf["clan"];$myblogs = $inf["myblogs"];$monets = $inf["money"];$presentset = $inf["presentset"];if ($credits>=0 && $credits<100) $victstatus="Ученик";if ($credits>=100 && $credits<500) $victstatus="Студент";if ($credits>=500 && $credits<1000) $victstatus="Бакалавр";if ($credits>=1000 && $credits<2000) $victstatus="Магистр";if ($credits>=2000 && $credits<5000) $victstatus="Кандидат в доктора";if ($credits>=5000 && $credits<7000) $victstatus="Доктор наук";if ($credits>=7000) $victstatus="Учитель НеЗнайки =)";$levelselect = @$db->sql_query ("Select * from levels where level='".$level."'");$levels = @$db->sql_fetchrow($levelselect);$levname = $levels["name"];echo "Сообщение для <b>".$nick."</b><br/>";if ($ver!='wml')echo '<form action="tell?rm='.$rm.'&act=add&nk='.$nk.'&'.SID.'" method="post">';if ($ver=='wml')echo '<br/><input name="msg'.$ref.'" maxlength="512" title="Text"/><br/>';else echo '<br/><input type="text" name="msg" maxlength="512" title="Text"/><br/>';$posts = $inf["posts"]; // в эту переменную вставь с базы количество постов юзера.$limit = 50; // Лимит if ($posts >= $limit) { echo "<select name=\"prvt\">"; echo "<option value=\"0\">Всем</option>"; echo "<option value=\"1\">Приватно</option>"; echo "</select><br/>";} // А также чтобы не было дырки вставь такое же возле приема поста. $posts = $inf["posts"]; // в эту переменную вставь с базы количество постов юзера.$limit = 50; // Лимит if ($posts >= $limit) { // разрешаем} else { // не разрешаем}$posts = $inf["posts"];if ($user['dd']!=0){if ($user['level']>=4){echo '<select name="dd"><option value="0" selected="selected">Шрифт</option><option value="1">Наклонный</option>';if ($user['level']>=5) echo '<option value="2">Подчёркнутый</option>';if ($user['level']>=6) echo '<option value="3">Накл. и подч.</option>';if ($user['level']>=6) echo '<option value="4">Жирный</option>';if ($user['level']>=7) echo '<option value="5">Жирн. и подч.</option>';if ($user['level']>=7) echo '<option value="6">Огромный</option>';echo '</select><br />';}}if ($user['emo']!=0){echo '<select name="emo"><option value="0" selected="selected">Эмоции</option><option value="1">Радостно</option><option value="2">Печально</option><option value="3">Удивленно</option><option value="4">Ласково</option><option value="5">Смущенно</option><option value="6">Кокетливо</option><option value="7">Обиженно</option><option value="8">Настойчиво</option><option value="9">Шепотом</option><option value="10">Задумчиво</option><option value="11">Злобно</option></select><br />';}if ($user['color']!=0){echo '<select name="color"><option value="0" selected="selected">Цвет</option><option value="1">Красный</option><option value="2">Синий</option><option value="3">Сереневый</option><option value="4">Зеленый</option></select><br />';}if ($ver=='wml'){echo '<anchor title="go">Сказать<go href="tell?rm='.$rm.'&act=add&nk='.$nk.'&'.SID.'" method="post">';echo '<postfield name="msg" value="$msg'.$ref.'"/><postfield name="dd" value="$dd"/><postfield name="emo" value="$emo"/><postfield name="color" value="$color"/><postfield name="prvt" value="$prvt"/></go></anchor><br />';}else{echo '<input type="submit" class="ibutton" value="Сказать"/></form><br />';}echo '<br />';$b_ip = $db->sql_fetchrow($db->sql_query ("Select * from bannip;"));$db->sql_query ("Select * from bannlist WHERE (ip = '".$inf[user_ip]."')and(soft = '".$inf[user_soft]."') LIMIT 1;");if ((mysql_affected_rows()!=0)||($inf[bann]>$time)||(substr_count($ip, $b_ip[ip])!=0)){echo "<font color=\"red\"><b>Пользователь в бане!</b></font><br />";}$k_g=$db->sql_fetchfield($db->sql_query("select count(*) as num from group_users where user_id = '".$inf['id']."' and access != '1'"),0);if($k_g!=0){echo '<dl></dl>';$r = $db->sql_query ("Select * from group_users where user_id = '".$inf['id']."' and access != '1' order by id LIMIT 100");while($a = @$db->sql_fetchrow($r)){$g = @$db->sql_fetchrow($db->sql_query ("Select * from groups where id = '".$a['gid']."'"));$lider = @$db->sql_fetchrow($db->sql_query ("Select * from groups where id = '".$g['id']."'"));echo 'В клане: <a href="/groups/group'.$g['id'].'">'.$g['name'].'</a><br>';if ($lider['lider_id']==$inf['id']) echo ' (<b>Лидер</b>)';echo '<br />';}}$sit = $_SERVER['HTTP_HOST'];if($inf['myavatar']!='')echo '<img src="http://'.$sit.'/'.$inf['myavatar'].'"><br>';$k_a = $db->sql_fetchfield($db->sql_query("select count(*) as num from foto_albom where user_id = '".$inf[id]."'"),0);if ($k_a!=0)echo links.' <a href="'.H.'album'.$inf[id].'">Альбомы ('.$k_a.')</a>'.div;$aud = $db->sql_fetchfield($db->sql_query("select count(*) as num from audio where user_id = '".$inf[id]."'"),0);if ($aud!=0)echo links.'f <a href="'.H.'audio'.$inf[id].'">Личный звук</a>'.div;echo "<u>Ник</u>: $inf[user]";if($onl+300>time()){echo" <u><img src='/img/online/on.gif'/></u><br/>";}else{echo" <u><img src='/img/online/off.gif'/></u></br>";}echo ' <u>Имя</u>: '.$inf[name].'<br/>';echo ' <u>Статус</u>: <b>'.$inf[status].'</b><br/>';if(($inf[level]>3)) echo " <u>Должность</u>: <b>$levname</b><br/>";if ($inf[sex]==1)echo " <u>Пол</u>: М<br/>";else if ($inf[sex]==0)echo " <u>Пол</u>: Ж<br/>";if($inf[day]!=0||$inf[month]!=0||$inf[year]!=0)echo " <u>Дата рождения</u>: $inf[day]-$inf[month]-$inf[year]<br/>";echo " <u>Постов</u>: $posts (+ ".$inf['dayp'].")<br>";echo " <u>Монеток</u>: $inf[rur]<br/>";if ($inf[para]>=1){if ($inf[sex]==0){echo ' <u><font color="black">Замужем за </font></u>: '.nik($inf[para]).' <br />'; }else{echo ' <u><font color="black">Женат на </font></u>: '.nik($inf[para]).' <br />'; }}$mail=explode('|',$inf['mail']);$mobtel=explode('|',$inf['mobtel']);$hometel=explode('|',$inf['hometel']);$icq=explode('|',$inf['icq']);if ($inf[site]!='' || $mail[0]!='' || $mobtel[0]!='' || $hometel[0]!='' || $icq[0]!=''){echo '<dl></dl>';if (($mail[0]!='') && (($mail[1]==0)||(friends($inf['id'],$user['id'])==1)))echo " <u>Email</u>: <a href=\"mail?to=$mail[0]\">$mail[0]</a><br/>";if (($mobtel[0]!='') && (($mobtel[1]==0)||(friends($inf['id'],$user['id'])==1)))echo " <u>Моб. телефон</u>: $mobtel[0]<br/>";if (($hometel[0]!='') && (($hometel[1]==0)||(friends($inf['id'],$user['id'])==1)))echo " <u>Дом. телефон</u>: $hometel[0]<br/>";if (($icq[0]!='') && (($icq[1]==0)||(friends($inf['id'],$user['id'])==1)))echo "<u>ICQ</u>: $icq[0]<br/>";if ($inf[site]!='')echo " <u>Вап-сайт</u>: <a href=\"http://$inf[site]\">http://$inf[site]</a><br/>";}echo " <u>О себе</u>: $infa<br/>";echo " <u>Дата реги</u>: $date<br/>";echo " <u>День рождения</u>: $inf[day]-$inf[month]-$inf[year]<br/>";echo " <u>Город</u>: $inf[city]<br/>";echo " <u>ID</u>: $inf[id]<br/>";echo '<br />';$k_st=$db->sql_fetchfield($db->sql_query("select count(*) as num from stena where user_id = '".$inf['id']."'"),0);$v0=$db->sql_fetchfield($db->sql_query("select count(*) as num from vote_us where user_id = '".$inf['id']."'"),0);echo links.' <a href="'.H.'stena'.$inf['id'].'">Стена '.$inf['user'].'</a> ('.$k_st.')'.div;$k_g = $db->sql_fetchfield($db->sql_query("select count(*) as num from gifts where gift_id = '".$inf['id']."'"),0);echo links.' <a href="gifts'.$inf['id'].'">Подарки '.$inf['user'].'</a>('.$k_g.')'.div;$usf = $db->sql_fetchfield($db->sql_query ("select count(*) as num from friends where user_id ='".$inf[id]."' and yes = '1';"),0);echo "<u><a href=\"my/friends?mod=friends&nk=$inf[id]\">Друзья ".$inf['user']."</a></u><br/>";if (friends($inf[id],$user['id'])==0)echo links.' <a href="my/friends?mod=add&act=add&nick='.$inf[id].'">В друзья</a><br><br>'.div;else echo links.' <a href="my/friends?del='.friends($inf[id],$user[id],'id').'">Из друзей</a><br><br>'.div;echo links.' <a href="my/privat?mod=add&to='.$inf[id].'">Написать ему(ей) письмо</a>'.div;if($user[level]>=7){echo '<br /><b><a href="admin/users?mod=view&nick='.$inf[id].'">Апдейт юзера</a></b><br/><br />'; }if($user["level"]>5){if(($inf["level"]<7)||($user["level"]>6)){echo $div5;echo "<b>IP:</b> ".$us_ip." (".opsos($us_ip).")<br/>";echo "<b>Soft:</b> ".$us_soft."<br/>";if ($inf[ver]==wml) echo "<b>Версия сайта:</b> WML<br/>";else echo "<b>Версия сайта:</b> xHTML<br/>";echo $div5;}}/*echo "<a href=\"forum/?$ses&nk=$usid&mod=temus\">Все темы пользователя на форуме</a><br/>";echo "<a href=\"forum/?$ses&nk=$usid&mod=postus\">Все сообщения пользователя на форуме</a><br/>";*/echo gb.'<a href="room?rm='.$rm.'">В чат </a>'.div;foot();?> |
Ты уверен что такой столбец существует "posts"?
Что в столбце qposts?
Отредактировано TLENS (2011.08.14 08:08)
в столбце gposts пусто,а в столбце posts посты записаны, идет таблица users столбец posts в ней))
Ты не тот файл мне дал. дай тот куда отправляются данные
Отредактировано TLENS (2011.08.11 01:01)
Код:
lt;?require'config.php';aut();if (!ctype_digit($_GET['rm'])){header('Location: index');die;}$rm = check(intval($_GET['rm']));if (check(intval($_GET['del']))==1){if ($user['level']>=7){mysql_query("DELETE FROM `message` WHERE `rm` = '".$rm."'");}}who_add($rm,'room'); // Занисываем Кто онлайн...$rooms = mysql_fetch_array(mysql_query("SELECT * FROM `rooms` WHERE `rm` = '$rm'"));if (mysql_affected_rows() == 0){$align='center';$title='Ошибка!';head();echo 'Такой комнаты не существует!<br />';echo gbinroom.'<a href="enter">Прихожая</a>'.div;foot();}if ($rooms['intim']==1){if(!isset($_POST['inps']) && isset($_SESSION['inps']))$inps = check(intval($_SESSION['inps']));else $inps = check(intval($_POST['inps']));$_SESSION['inps'] = $inps;}if(empty($inps)) $inps = 0;if ($user['level']<$rooms['level']){$align='center';$title='Ошибка!';head();echo 'Извините, но в эту комнату Вам доступ запрешен!<br />';echo gbinroom.'<a href="enter">Прихожая</a>'.div;foot();}if (($rooms['sartir']!=1) && ($user['kik']>$time)){$align='center';$title='Вы выпнуты!';head();echo '<b>'.user($user['whokik']).'</b> выпнул вас из чата на <b>'.kikt($user['kik']).'</b> <br />Причина: <b>'.$user['whykik'].'</b><br />';$rooms = mysql_query("SELECT * FROM `rooms` WHERE sartir = '1' ORDER BY `pos` ASC");if(mysql_num_rows($rooms)!=0)echo 'Вам разрешен доступ только в<br />';while($room = mysql_fetch_array($rooms)){if ($room['level']<=$user['level'])echo '<a href="room?rm='.$room['rm'].'">'.$room['name'].'</a><br />';}echo '<br />';echo gbinroom.'<a href="enter">Прихожая</a>'.div;foot();}if ((check($_GET['sartir']==sartir))&&($rooms['sartir']==1)){$align='left';$title=$rooms['name'];head();echo '<b>Внимание!</b><br/>';echo 'Сейчас вы попадете в '.$rooms['name'].'<br/>Здесь вы можете делать все, что угодно (кроме рекламы и флуда).<br/>И за весь происходящий здесь беспредел администрация чата никакой ответственности не несет.<br/>Людям со слабыми нервами и тонкой душевной организацией заходить в '.$rooms['name'].' настоятельно не рекомендуется.<br/>';echo gbinroom.'<a href="room?rm='.$rm.'">Войти</a>'.div;echo gbinroom.'<a href="enter">Прихожая</a>'.div;foot();}if ((check($_GET['strip']==strip))&&($rooms['strip']==1)){$align='left';$title=$rooms['name'];head();echo '<center><a><img src="strip/xen/58.JPG" alt=""></a></center>';echo 'стриптиз команды <br/><br/>!хентай (1рубль)<br/>!мужик (1рубль)<br/>!баба (1рубль)<br/>!бомжую (бесплатно)<br/><br/>';echo 'дурь <br/><br/>!пива (1 рубль)<br/>!водки (2 рубля)<br/>!косяк (5 рублей)<br/>!лекарство (1 рубль)<br/>';echo gbinroom.'<a href="room?rm='.$rm.'">до +18 </a>после не входить</a>'.div;echo gbinroom.'<a href="enter">Прихожая</a>'.div;foot();}if ((check($_GET['zags']==zags))&&($rooms['zags']==1)){$zag= mysql_query ("Select * from zags WHERE `status` ='1' LIMIT 1 ");$zags = mysql_fetch_array ($zag);$align='left';$title=' '.$rooms['name'].'';head();if($zags[status]==1){require'sys/calendar.php';echo ' '.date("H:i", $time).' ';echo '<center><bgsound src="zags/logo.mid"loop="1"><a><img src="zags/zags.jpeg" alt=""></a></center>';echo 'Сейчас состоится священное таинство бракосочетания<br/>';echo links.'<a><img src="man.gif" alt=""></a> жених '.nik($zags[genix]).' '.div;echo links.'<a><img src="woman.gif" alt=""></a> невеста '.nik($zags[nevesta]).' '.div;echo ' свидетель '.nik($zags[svid]).' <br /> ';echo ' свидетельница '.nik($zags[svidet]).' <br /> ';echo 'дата свадьбы: '.$zags[d].'-'.$zags[m].'-'.$zags[g].' <br />';echo 'время: '.$zags[cm].':'.$zags[min].' <br />';echo 'ведущий: '.nik($zags[ved]).' <br /><br/>';echo gbinroom.'<a href="room?rm='.$rm.'">Войти</a>'.div;echo gbinroom.'<a href="enter">Прихожая</a>'.div;}else{echo '<b>Cейчас пока сюда нельзя. о начале проведения церемонии вам сообщат</b><br/>';echo gbinroom.'<a href="enter">Прихожая</a>'.div;}foot();}if (($rooms['intim']==1)&&((check($_GET['intim']==intim))||(empty($inps))||(strlen2($inps)<4)||($inps==0))){$align='left';$title=$rooms['name'];head();if ($ver!='wml')echo '<form action="room?rm='.$rm.'" method="post">';echo '* Ключ(min: 4):<br /><input name="inps" maxlength="30" title="Название"/><br/>';if ($ver=='wml'){echo '<br /><anchor title="go">Войти<go href="room?rm='.$rm.'" method="post"><br />';echo '<postfield name="inps" value="$inps"/></go></anchor><br />';}else{echo '<br /><input type="submit" class="ibutton" value="Войти"/></form><br /><br />';}echo '<b>*</b> Ключ должен быть длиннее 4 символов (латинских) и не должен состоять из одних 0<br />';echo gbinroom.'<a href="enter">Прихожая</a>'.div;foot();}$bs=explode('|',$user['binds']);$align='left';$title=$rooms['topic'].'-'.date("H:i", $time);head();if ($user['softk']!=1){if ($rooms['intim']!=1)echo '[<a href="who_room?rm='.$rm.'" accesskey="'.$bs[2].'">Кто в комнате?</a>]';echo '[<a href="who?rm='.$rm.'" accesskey="'.$bs[3].'">Кто где?</a>]';echo '[<a href="http://x4atix.ru/my/index.php">Личный кабинет</a>]';if ($user['level']>=4&&$rooms['intim']!=1)echo '[<a href="topic?rm='.$rm.'" accesskey="'.$bs[5].'">Топ</a>]<br />';}echo gbinroom.'<a href="tell?rm='.$rm.'" accesskey="'.$bs[0].'">Сказать ['.$bs[0].']</a><br>';if ($user['polevv']!=2&&$user['polevv']!=0){if ($ver!='wml')echo '<form action="tell?rm='.$rm.'&act=add" method="post">';if ($ver=='wml')echo '<input name="msg'.$ref.'" maxlength="512" title="Text"/><br/>';else echo '<input name="msg" maxlength="512" title="Text"/><br/>';if ($user['dd']!=0){if ($user['level']>=4){echo '<select name="dd"><option value="0" selected="selected">Шрифт</option><option value="1">Наклонный</option>';if ($user['level']>=5) echo '<option value="2">Подчёркнутый</option>';if ($user['level']>=6) echo '<option value="3">Накл. и подч.</option>';if ($user['level']>=6) echo '<option value="4">Жирный</option>';if ($user['level']>=7) echo '<option value="5">Жирн. и подч.</option>';if ($user['level']>=7) echo '<option value="6">Огромный</option>';echo '</select><br />';}}if ($user['emo']!=0){echo '<select name="emo"><option value="0" selected="selected">Эмоции</option><option value="1">Радостно</option><option value="2">Печально</option><option value="3">Удивленно</option><option value="4">Ласково</option><option value="5">Смущенно</option><option value="6">Кокетливо</option><option value="7">Обиженно</option><option value="8">Настойчиво</option><option value="9">Шепотом</option><option value="10">Задумчиво</option><option value="11">Злобно</option></select><br />';}if ($user['color']!=0){echo '<select name="color"><option value="0" selected="selected">Цвет</option><option value="1">Красный</option><option value="2">Синий</option><option value="3">Сереневый</option><option value="4">Зеленый</option></select><br />';}echo '<input type="submit" class="ibutton" value="Сказать"/></form><br />';}echo '<a href="room?rm='.$rm.'&obn=obn" accesskey="'.$bs[1].'">Обновить ['.$bs[1].']</a> '.div;if (check($_GET['obn'])==obn){header ('Location: room?rm='.$rm.''); exit;}if (empty($user['max'])) $user['max']=10;$max = $user['max'];$k_post=mysql_result(mysql_query("select COUNT(*) from message WHERE `rm` = '".$rm."' and `inps` = '".$inps."';"),0);$k_page=k_page($k_post,$max);$page=page($k_page);$start=$max*$page-$max;if ($k_post == 0)echo 'Здесь сообщений пока нет :(<br />';if (isset($_GET['err']) && $_GET['err'] == 't')echo '<b>Промежуток между сообщениями должен быть больше '.$rooms['flyd'].' сек.</b><br />';if (isset($_GET['delete'])){if ($user['level']>=5){mysql_query("DELETE FROM `message` WHERE `id` = '".$_GET['delete']."'");echo 'Сообщение удалено<br />';}else{echo 'Сообщение не удалено<br />';}}if ($rooms['umnik']!=0) require H.'bots/umnik1.php';if ($rooms['shut']!=0) require H.'bots/shut.php';if ($rooms['znatok']!=0) require H.'bots/znatok.php';if ($rooms['anek']!=0) require H.'bots/anek.php';if ($rooms['tupica']!=0) require H.'bots/umnikmat1.php';if ($rooms['tupica']!=0) require H.'bots/tupica.php';$mess = @mysql_query( @"SELECT * from `message` WHERE `rm` = '".$rm."' and `inps` = '".$inps."' order by id DESC limit $start, $max;" );while($msg = @mysql_fetch_array($mess)){$text = $msg['msg'];if ($msg['color']>0) $text = color_msg($text);if ($msg['bb']>0)$text = bb_msg($text);if ($msg['emo']>0)$text = emo_msg($text);if (($rooms['tupica']==0) && ($rooms['sartir']==0))if ($rooms['antim']>0)$text = antim($text);if ($rooms['antir']>0)$text = antir($text);if ($msg['komu']!=0) {if ($user['id']==$msg['komu']) $komu = '<span style="color: #FF0000;">'.user($msg['komu']).'</span>,';else $komu = user($msg['komu']).',';}else{$komu = '';}if ($msg['privat']==0){if ($msg['user_id']!=0)echo nik($msg['user_id'],''.H.'inside?rm='.$rm.'&nk='.$msg['user_id'].'').date("(H:i", $msg['time']).')';else echo '<img src="'.H.'img/bot.gif" alt="" /><font color="#000000">'.$msg['user'].'</font>'.date("(H:i", $msg['time']).')';if ($user['level']>=5)echo '<small><a href="room?rm='.$rm.'&delete='.$msg['id'].'">[X]</a></small>';echo '>'.$komu.text($text).'<br />';}else if ($msg['privat']==$user['id']||$msg['user_id']==$user['id']){if ($msg['user_id']!=0)echo nik($msg['user_id'],''.H.'inside?rm='.$rm.'&nk='.$msg['user_id'].'').date("(H:i", $msg['time']).')';else echo '<img src="'.H.'img/bot.gif" alt="" /><font color="#ffff00">'.$msg['user'].'</font>'.date("(H:i", $msg['time']).')';echo '<b>[P!]</b>';if ($user['level']>=5)echo '<small><a href="room?rm='.$rm.'&delete='.$msg['id'].'">[X]</a></small>';echo '>'.$komu.text($text).'<br />';} else if (($msg['privat']!=$user['id']||$msg['user_id']!=$user['id']) && $user['level']>=$set['privat'] && $set['privat']!=0){ // Чтение привата супер админами...if ($msg['user_id']!=0)echo nik($msg['user_id'],''.H.'inside?rm='.$rm.'&nk='.$msg['user_id'].'').date("(H:i", $msg['time']).')';else echo '<img src="'.H.'img/bot.gif" alt="" /><font color="#ffff00">'.$msg['user'].'</font>'.date("(H:i", $msg['time']).')';echo '<b>[!!!]</b>';if ($user['level']>=5)echo '<small><a href="room?rm='.$rm.'&delete='.$msg['id'].'">[X]</a></small>';echo '>'.$komu.text($text).'<br />';}}if ($user['polevv']!=1&&$user['polevv']!=0){echo gbinroom.'Сказать:'.div;if ($ver!='wml')echo '<form action="tell?rm='.$rm.'&act=add" method="post">';if ($ver=='wml')echo '<input name="msg'.$ref.'" maxlength="512" title="Text"/><br/>';else echo '<input name="msg" maxlength="512" title="Text"/><br/>';if ($user['dd']!=0){if ($user['level']>=4){echo '<select name="dd"><option value="0" selected="selected">Шрифт</option><option value="1">Наклонный</option>';if ($user['level']>=5) echo '<option value="2">Подчёркнутый</option>';if ($user['level']>=6) echo '<option value="3">Накл. и подч.</option>';if ($user['level']>=6) echo '<option value="4">Жирный</option>';if ($user['level']>=7) echo '<option value="5">Жирн. и подч.</option>';if ($user['level']>=7) echo '<option value="6">Огромный</option>';echo '</select><br />';}}if ($user['emo']!=0){echo '<select name="emo"><option value="0" selected="selected">Эмоции</option><option value="1">Радостно</option><option value="2">Печально</option><option value="3">Удивленно</option><option value="4">Ласково</option><option value="5">Смущенно</option><option value="6">Кокетливо</option><option value="7">Обиженно</option><option value="8">Настойчиво</option><option value="9">Шепотом</option><option value="10">Задумчиво</option><option value="11">Злобно</option></select><br />';}if ($user['color']!=0){echo '<select name="color"><option value="0" selected="selected">Цвет</option><option value="1">Красный</option><option value="2">Синий</option><option value="3">Сереневый</option><option value="4">Зеленый</option></select><br />';}if ($ver=='wml'){echo '<anchor title="go">Сказать<go href="tell?rm='.$rm.'&act=add" method="post">';echo '<postfield name="msg" value="$msg'.$ref.'"/><postfield name="dd" value="$dd"/><postfield name="emo" value="$emo"/><postfield name="color" value="$color"/></go></anchor>';echo '<br/>';}else{echo '<input type="submit" class="ibutton" value="Сказать"/></form><br />';}}echo gbinroom;if(check($_GET['histiri'])==histiri){str(H.'room?rm='.$rm.'&histiri=histiri&',$k_page,$page);}else{echo '<a href="room?rm='.$rm.'&histiri=histiri" accesskey="'.$bs[6].'">История ['.$bs[6].']</a>';}echo div;if ($user['softk']!=0){if ($ver=='wml'){if ($rooms['intim']!=1)echo '<do type="options" name="who_room" label="Кто в комнате?"><go href="who_room?rm='.$rm.'"/></do>';echo '<do type="options" name="who" label="Кто где?"><go href="who?rm='.$rm.'"/></do><do type="options" name="smiles" label="Смайлы"><go href="smiles/index?rm='.$rm.'"/></do>';if ($user['level']>=4&&$rooms['intim']!=1)echo '<do type="options" name="topic" label="Сменить Топик"><go href="topic?rm='.$rm.'"/></do>';if ($user['level']>=7)echo '<do type="options" name="topic" label="Очистить комнату"><go href="room?rm='.$rm.'&del=1"/></do>';echo '<br />';}else{if ($rooms['intim']!=1)echo '[<a href="who_room?rm='.$rm.'" accesskey="'.$bs[2].'">Кто в комнате?['.$bs[2].']</a>]';echo '[<a href="who?rm='.$rm.'" accesskey="'.$bs[3].'">Кто где?['.$bs[3].']</a>][<a href="smiles/index?rm='.$rm.'" accesskey="'.$bs[4].'">Смайлы['.$bs[4].']</a>]';if ($user['level']>=4&&$rooms['intim']!=1)echo '[<a href="topic?rm='.$rm.'" accesskey="'.$bs[5].'">Сменить Топик['.$bs[5].']</a>]<br />';if ($user['level']>=7)echo '[<a href="room?rm='.$rm.'&del=1">Очистить комнату</a>]<br />';}}if ($rooms['intim']==1)echo gbinroom.'<a href="enter?intim">Выйти</a>'.div;echo gbinroom.'<a href="enter" accesskey="'.$bs[7].'">Прихожая ['.$bs[7].']</a>'.div;foot();?> |
вот файл комнат,в него данные которые юзер пишет отправляются))
И это не он коточь там поидее реврайт стоит. дай мне файл на который ссылается tell и что в config.php?
Вот файл телл,он ссылается на переменную rm
Код:
lt;?require'config.php';$user['avr'] = 0;$align='left';$title='Сказать';aut();head();$act = check($_GET['act']);$rm = intval($_GET['rm']);if (empty($rm)) header ('Location: enter');$rooms = mysql_fetch_array(mysql_query("SELECT * FROM `rooms` WHERE `rm` = '$rm'"));if ($rooms['intim']==1){if(!isset($_POST['inps']) && isset($_SESSION['inps']))$inps = check(intval($_SESSION['inps']));else $inps = check(intval($_POST['inps']));$_SESSION['inps'] = $inps;}if(empty($inps)) $inps = 0;if (($rooms['sartir']!=1) && ($user['kik']>$time)){echo '<b>'.user($user['whokik']).'</b> выпнул вас из чата на <b>'.kikt($user['kik']).'</b> <br />Причина: <b>'.$user['whykik'].'</b><br />';$rooms = mysql_query("SELECT * FROM `rooms` WHERE sartir = '1' ORDER BY `pos` ASC");if(mysql_num_rows($rooms)!=0)echo 'Вам разрешен доступ только в<br />';while($room = mysql_fetch_array($rooms)){if ($room['level']<=$user['level'])echo '<a href="room?rm='.$room['rm'].'">'.$room['name'].'</a><br />';}echo '<br />';echo gbinroom.'<a href="enter">Прихожая</a>'.div;foot();}if (empty($act)){if ($ver!='wml')echo '<form action="tell?rm='.$rm.'&act=add" method="post">';if ($ver=='wml')echo '<br/><input name="msg'.$ref.'" maxlength="512" title="Text"/><br/>';else echo '<br/><input name="msg" maxlength="512" title="Text"/><br/>';if ($user['dd']!=0){if ($user['level']>=4){echo '<select name="dd"><option value="0" selected="selected">Шрифт</option><option value="1">Наклонный</option>';if ($user['level']>=5) echo '<option value="2">Подчёркнутый</option>';if ($user['level']>=6) echo '<option value="3">Накл. и подч.</option>';if ($user['level']>=6) echo '<option value="4">Жирный</option>';if ($user['level']>=7) echo '<option value="5">Жирн. и подч.</option>';if ($user['level']>=7) echo '<option value="6">Огромный</option>';echo '</select><br />';}}if ($user['emo']!=0){echo '<select name="emo"><option value="0" selected="selected">Эмоции</option><option value="1">Радостно</option><option value="2">Печально</option><option value="3">Удивленно</option><option value="4">Ласково</option><option value="5">Смущенно</option><option value="6">Кокетливо</option><option value="7">Обиженно</option><option value="8">Настойчиво</option><option value="9">Шепотом</option><option value="10">Задумчиво</option><option value="11">Злобно</option></select><br />';}if ($user['color']!=0){echo '<select name="color"><option value="0" selected="selected">Цвет</option><option value="1">Красный</option><option value="2">Синий</option><option value="3">Сереневый</option><option value="4">Зеленый</option></select><br />';}if ($ver=='wml'){echo '<br /><anchor title="go">Сказать<go href="tell?rm='.$rm.'&act=add" method="post">';echo '<postfield name="msg" value="$msg'.$ref.'"/><postfield name="dd" value="$dd"/><postfield name="emo" value="$emo"/><postfield name="color" value="$color"/></go></anchor>';echo '<br/><br />';}else{echo '<br /><input type="submit" class="ibutton" value="Сказать"/></form><br /><br />';}}else{function latrus($textw) {return str_replace( array('Ё','Ё','Ж','Ж','Ч','Ч','Щ','Щ','Щ','Ш','Ш','Э','Э','Ю', 'Ю','Я', 'Я','ч','ш','щ','э','ю','я','ё','ж','A','Б','В','Г', 'Д','E','З','И','Й ','К','Л','М','Н','О','П','Р','С','Т','У', 'Ф','Х','Ц','Ы','а','б','в', 'г','д','е','з','и','й','к','л', 'м','н','о','п','р','с','т','у','ф','х ','ц','ы','Ъ','ъ','Ь', 'ь'), array('YO','Yo','ZH','Zh','CH','Ch','SHC','SHc','Shc','SH', 'Sh','YE','Ye','YU','Yu','YA','Ya','ch','sh','shc','ye','yu', 'ya','yo ','zh','A','B','V','G','D','E','Z','I','Y','K','L', 'M','N','O','P','R' ,'S','T','U','F','H','C','X','a','b','v', 'g','d','e','z','i','y','k',' l','m','n','o','p','r','s','t', 'u','f','h','c','x','','','',''),$textw); }if ($setss[pivo]==1 || $setss[pivo]==2 || $setss[vodka]==1 || $setss[vodka]==2 ){$strr=check($_POST['msg']);$str =latrus($strr); }if ($setss[kosak]==1 ){$strr=check($_POST['msg']);$str =latrus($strr); }function vodka ($t){ $c = strlen($t); for($i=0;$i<$c;$i++) { $t[$i] = (is_int($i/2)) ? strtoupper($t[$i]) : $t[$i]; $ret[] = $t[$i]; } return implode('',$ret); } function pivo ($t){ $c = strlen($t); for($i=0;$i<$c;$i++) { $t[$i] = (is_int($i/3)) ? strtoupper($t[$i]) : $t[$i]; $ret[] = $t[$i]; } return implode('',$ret); } if ($setss[pivo]==1 || $setss[pivo]==2 ){$msg =translit(pivo($str));}if ($setss[vodka]==1 || $setss[vodka]==2 ){$msg =translit(vodka($str));}if ($setss[kosak]==1 ){$msg =vodka($str);}if ($setss[pivo]+$setss[vodka]+$setss[kosak]==0){$msg =check($_POST['msg']);}$dd = check($_POST['dd']);$emo = check($_POST['emo']);$color = check($_POST['color']);$prvt = check($_POST['prvt']);if(isset($_GET['nk'])) $nk = intval($_GET['nk']);else $nk = 0;if($prvt!=0){if(isset($_POST['prvt']) && isset($_GET['nk'])) $privat = intval($_GET['nk']);}else $privat = 0;if (strlen2($msg)<2){header ('Location: room?rm='.$rm.''); exit;}$msg = iconv('utf-8', 'windows-1251', $msg);$msg = substr($msg,0,512);$msg = iconv('windows-1251', 'utf-8', $msg);if ($user['translit']==1)$msg = translit($msg);$mess=mysql_result(mysql_query("select COUNT(*) from message WHERE `user_id` = '$user[id]' and `time`>'".($time - $rooms['flyd'])."';"),0);if ($mess > 0){ header ('Location: room?rm='.$rm.'&err=t'); exit;}if ($rooms['inkog']!=0){mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,emo,bb,color,komu,privat) VALUES ('Инкогнито','0','$time','$msg','$rm','$emo','$dd','$color','$nk','$privat')");}else{mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,emo,bb,color,komu,privat,inps) VALUES ('$user[user]','$user[id]','$time','$msg','$rm','$emo','$dd','$color','$nk','$privat','$inps')");}posts_add();if ($rooms['umnik']!=0) require H.'bots/umnik3.php';if ($rooms['tupica']!=0) require H.'bots/umnikmat2.php';if ($rooms['tupica']!=0) require H.'bots/tupica2.php';if ($rooms['flyder']!=0) require H.'bots/flyder.php';if ($rooms['strip']!=0){if ($msg=='!пива'||$msg=='!пиВа'){if ($rooms['striper']!=0){if ($user['rur']>=1){mysql_query ("Update users set rur='".($user['rur']-1)."' where id='".$user["id"]."'");mysql_query ("Update setus set pivo='1',vodka='0',timer='".(time()+600)."' where user_id='".$user["id"]."'");mysql_query ("Update setus set potr='".($setss[potr]+1)."' where user_id='".$user["id"]."'");$mes = '[yellow]держи пивка[/yellow] ';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");$mes="<a><img src=\"/strip/bar/pivo.jpeg\" alt=\"\" /></a>";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]')");}else{$mes = '[yellow]У вас недостаточно рубликов![/yellow] надо то всего один.... слюнки глотай!';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");}}else{$mes = "Извините, но в этой комнате я не работаю...";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm')");}}if ($msg=='!водки'||$msg=='!воДки'){if ($rooms['striper']!=0){if ($user['rur']>=2){mysql_query ("Update users set rur='".($user['rur']-2)."' where id='".$user["id"]."'");mysql_query ("Update setus set vodka='1',timer='".(time()+1200)."',pivo='0' where user_id='".$user["id"]."'");mysql_query ("Update setus set potr='".($setss[potr]+2)."' where user_id='".$user["id"]."'");$mes = '[yellow]хватай стакан крепче![/yellow] ';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");$mes="<a><img src=\"/strip/bar/vodka.jpeg\" alt=\"\" /></a>";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]')");}else{$mes = '[yellow]У вас недостаточно рубликов![/yellow] надо то всего один.... слюнки глотай!';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");}}else{$mes = "Извините, но в этой комнате я не работаю...";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm')");}}if ($msg=='!косяк' || $msg=='!коСяК' || $msg=='!kOsYaK'){if ($rooms['striper']!=0){if ($user['rur']>=15){mysql_query ("Update users set rur='".($user['rur']-15)."' where id='".$user["id"]."'");mysql_query ("Update setus set kosak='1',pivo='0',vodka='0',timkos='".(time()+1800)."' where user_id='".$user["id"]."'");mysql_query ("Update setus set potr='".($setss[potr]+5)."' where user_id='".$user["id"]."'");$mes = '[yellow]пыхай...[/yellow] ';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");$mes="<a><img src=\"/strip/bar/kosak.jpeg\" alt=\"\" /></a>";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]')");}else{$mes = '[yellow]У вас недостаточно рубликов![/yellow] надо то всего один.... слюнки глотай!';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");}}else{$mes = "Извините, но в этой комнате я не работаю...";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm')");}}if ($msg=='! LeKaRsTvO' || $msg=='! лЕкаРстВо' || $msg=='! ЛеКаРсТвО'){if ($rooms['striper']!=0){if ($user['rur']>=1){mysql_query ("Update users set rur='".($user['rur']-10)."' where id='".$user["id"]."'");mysql_query ("Update setus set kosak='0',pivo='0',vodka='0',timer='0',timkos='0' where user_id='".$user["id"]."'");mysql_query ("Update setus set potr='".($setss[potr]+10)."' where user_id='".$user["id"]."'");$mes = '[yellow]ща мы тебя вылечим - 1 рубль[/yellow] ';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");$mes="<a><img src=\"/strip/bar/tabletka.jpeg\" alt=\"\" /></a>";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]')");}else{$mes = '[yellow]У вас недостаточно рубликов![/yellow] надо то всего десять.... торчи дальше!';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");}}else{$mes = "Извините, но в этой комнате я не работаю...";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm')");}}if ($msg=='!хентай' || $msg=='!хЕнтАй' || $msg=='!хеНтАй' || $msg=='!хeNtAy'){if ($rooms['striper']!=0){if ($user['rur']>=1){mysql_query ("Update users set rur='".($user['rur']-1)."' where id='".$user["id"]."'");mysql_query ("Update users set rurmag='".($user['rurmag']+1)."' where id='".$user["id"]."'");$mes = '[yellow]минус рублик гг[/yellow] ';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");$rand=rand(1,200);$mes="<a><img src=\"/strip/xen/".$rand.".JPG\" alt=\"\" /></a>";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]')");}else{$mes = '[yellow]У вас недостаточно рубликов![/yellow] надо то всего один.... в щелку подсматривай за другими или сбегай в банк';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");}}else{$mes = "Извините, но в этой комнате я не работаю...";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm')");}}if ($msg=='!мужик' || $msg=='!муЗхиК' || $msg=='!мУзХиК' || $msg=='!mUzHiK'){if ($rooms['striper']!=0){if ($user['rur']>=1){mysql_query ("Update users set rur='".($user['rur']-1)."' where id='".$user["id"]."'");mysql_query ("Update users set rurmag='".($user['rurmag']+1)."' where id='".$user["id"]."'");$mes = '[yellow]минус рублик гг[/yellow] ';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");$rand=rand(1,1001);$mes="<a><img src=\"/gifts/3/".$rand.".jpg\" alt=\"\" /></a>";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]')");}else{$mes = '[yellow]У вас недостаточно рубликов![/yellow] надо то всего один.... в щелку подсматривай за другими или сбегай в банк';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");}}else{$mes = "Извините, но в этой комнате я не работаю...";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm')");}}if ($msg=='!бомжую' || $msg=='!боМзхУю' || $msg=='!бОмЗхУйУ' || $msg=='!bOmZhUyU'){if ($rooms['striper']!=0){$mes = '[yellow]Нравится? гг[/yellow] ';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");$rand=rand(1,1381);$mes="<a><img src=\"/gifts/2/".$rand.".jpg\" alt=\"\" /></a>";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]')");}else{$mes = "Извините, но в этой комнате я не работаю...";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm')");}}if ($msg=='!баба' || $msg=='!баБа' || $msg=='!бАбА' || $msg=='!bAbA'){if ($rooms['striper']!=0){if ($user['rur']>=1){mysql_query ("Update users set rur='".($user['rur']-1)."' where id='".$user["id"]."'");mysql_query ("Update users set rurmag='".($user['rurmag']+1)."' where id='".$user["id"]."'");$mes = '[yellow]минус рублик гг[/yellow] ';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");$rand=rand(1,208);$mes="<a><img src=\"/strip/baba/".$rand.".jpg\" alt=\"\" /></a>";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]')");}else{$mes = '[yellow]У вас недостаточно рубликов![/yellow] надо то всего один.... в щелку подсматривай за другими или сбегай в банк';mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm','$user[id]','$user[id]')");}}else{$mes = "Извините, но в этой комнате я не работаю...";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_striper','0','".($time+1)."','".$mes."','$rm')");}}}if ($rooms['zags']!=0){if ($rooms['svaisch']!=0){$zag= mysql_query ("Select * from zags WHERE `status` ='1' LIMIT 1 ");$zags = mysql_fetch_array ($zag);if($zags[status]==1){$zag2= mysql_query ("Select * from users WHERE `id` ='".$zags[genix]."' LIMIT 1 ");$zags2 = mysql_fetch_array ($zag2);$zag3= mysql_query ("Select * from users WHERE `id` ='".$zags[nevesta]."' LIMIT 1 ");$zags3 = mysql_fetch_array ($zag3);$zag4= mysql_query ("Select * from users WHERE `id` ='".$zags[svid]."' LIMIT 1 ");$zags4 = mysql_fetch_array ($zag4);$zag5= mysql_query ("Select * from users WHERE `id` ='".$zags[svidet]."' LIMIT 1 ");$zags5 = mysql_fetch_array ($zag5);$zag1= mysql_query ("Select * from users WHERE `id` ='".$zags[ved]."' LIMIT 1 ");$zags1 = mysql_fetch_array ($zag1);if($user['id']==1 || $user[level]==9 || $zags[ved]==$user[id]){if ($msg=='!начать'||$msg=='!nachat'){$mes = "Мы собрались сдесь чтобы скрепить брачными узами два любящих сердца $zags2[user] и $zags3[user] . Прошу свидетелей засвидетельствовать что это святое действие не по принуждению ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('".$zags1[user]."','0','".($time+1)."','".$mes."','$rm')");$mes = "свидетельствуеш ли ты $zags4[user] что $zags2[user] по доброй воли женится сегодня на $zags3[user]" ;mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('".$zags1[user]."','0','".($time+1)."','".$mes."','$rm')");$mes = "набери команду !да или !da ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('".$zags1[user]."','0','".($time+1)."','".$mes."','$rm','$zags[svid]','$zags[svid]')");if (mysql_query('UPDATE `zags` SET `nach` = "1" WHERE `id` ="'.$zags[id].'" LIMIT 1 '));}}if($zags[nach2]==0){if($zags[nach]==1){if($user['id']==1 || $user[level]==9 || $zags[svid]==$user[id] ){if ($msg=='!да' || $msg=='!da'){$mes = "свидетельствуеш ли ты $zags5[user] что $zags3[user] по доброй воли выходит замуж сегодня за $zags2[user]" ;mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('".$zags1[user]."','0','".($time+1)."','".$mes."','$rm')");$mes = "набери команду !да или !da ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('".$zags1[user]."','0','".($time+1)."','".$mes."','$rm','$zags[svidet]','$zags[svidet]')");if (mysql_query('UPDATE `zags` SET `nach2` = "1" WHERE `id` ="'.$zags[id].'" LIMIT 1 '));}}}}if($zags[nach3]==0){if($zags[nach2]==1){if($user['id']==1 || $user[level]==9 || $zags[svidet]==$user[id] ){if ($msg=='!да' || $msg=='!da'){$mes = "и так начнем церемонию" ;mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('".$zags1[user]."','0','".($time+1)."','".$mes."','$rm')");$mes = "[yellow]Обручается раб Божий $zags2[user] рабе Божией $zags3[user] во имя Отца и Сына и Святаго Духа, ныне и присно и во веки веков. Аминь.[/yellow]";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_svaisch','0','".($time+1)."','".$mes."','$rm' )");$mes = " $zags2[user] [yellow]Имеешь ли произволение благое и непринужденное и крепкую мысль взять себе в жены [/yellow] $zags3[user] ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_svaisch','0','".($time+1)."','".$mes."','$rm' )");$mes = "набери команду !имею или !imeu ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('".$zags1[user]."','0','".($time+1)."','".$mes."','$rm','$zags[genix]','$zags[genix]')");if (mysql_query('UPDATE `zags` SET `nach3` = "1" WHERE `id` ="'.$zags[id].'" LIMIT 1 '));}}}}if($zags[nach4]==0){if($zags[nach3]==1){if($user['id']==1 || $user[level]==9 || $zags[genix]==$user[id] ){if ($msg=='!имею' || $msg=='!imeu'){$mes = "$zags3[user] [yellow] Имеешь ли произволение благое и непринужденное, и твердую мысль, взяти себе в мужа сего [/yellow] $zags2[user] ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_svaisch','0','".($time+1)."','".$mes."','$rm' )");$mes = "набери команду !имею или !imeu ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('".$zags1[user]."','0','".($time+1)."','".$mes."','$rm','$zags[nevesta]','$zags[nevesta]')");if (mysql_query('UPDATE `zags` SET `nach4` = "1" WHERE `id` ="'.$zags[id].'" LIMIT 1 '));}}}}if($zags[nach5]==0){if($zags[nach4]==1){if($user['id']==1 || $user[level]==9 || $zags[nevesta]==$user[id] ){if ($msg=='!имею' || $msg=='!imeu'){$mes = "$zags3[user] и $zags2[user] [yellow] в знак искренности своих намерений, дайте друг другу клятвы вечной любви и согласия! [/yellow]";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_svaisch','0','".($time+1)."','".$mes."','$rm' )");$mes = "[yellow]Клянешся ли ты раб божий $zags2[user] в радости и в горе любить и оберегать рабу божью[/yellow] $zags3[user] ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_svaisch','0','".($time+1)."','".$mes."','$rm')");$mes = "набери команду !клянусь или !klenus ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('".$zags1[user]."','0','".($time+1)."','".$mes."','$rm','$zags[genix]','$zags[genix]')");if (mysql_query('UPDATE `zags` SET `nach5` = "1" WHERE `id` ="'.$zags[id].'" LIMIT 1 '));}}}}if($zags[nach6]==0){if($zags[nach5]==1){if($user['id']==1 || $user[level]==9 || $zags[genix]==$user[id] ){if ($msg=='!клянусь' || $msg=='!klenus'){$mes = "[yellow]Клянешся ли ты раба божья $zags3[user] в радости и в горе любить и оберегать раба божьего[/yellow] $zags2[user] ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_svaisch','0','".($time+1)."','".$mes."','$rm')");$mes = "набери команду !клянусь или !klenus ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm,komu,privat) VALUES ('".$zags1[user]."','0','".($time+1)."','".$mes."','$rm','$zags[nevesta]','$zags[nevesta]')");if (mysql_query('UPDATE `zags` SET `nach6` = "1" WHERE `id` ="'.$zags[id].'" LIMIT 1 '));}}}}if($zags[nach6]==1){if($user['id']==1 || $user[level]==9 || $zags[nevesta]==$user[id] ){if ($msg=='!клянусь' || $msg=='!klenus'){$mes = "[yellow]И десница раб Твоих благословится! Жених и невеста, обменяйтесь кольцами в ознаменование благодатной помощи в сохранении супружеской любви, немеркнущей благодаря Божией милости! [/yellow] ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_svaisch','0','".($time+1)."','".$mes."','$rm')");$mes = "$zags3[user] и $zags2[user] [green]объявляю вас мужем и женой! Присуствующие, можете поздравить новобрачных! [/green] ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_svaisch','0','".($time+1)."','".$mes."','$rm')");mysql_query ("INSERT INTO zags2 (genix,nevesta,time) VALUES ('".$zags[genix]."','".$zags[nevesta]."','".$time."')");if (mysql_query('UPDATE `users` SET `para` ="'.$zags[nevesta].'" WHERE `id` ="'.$zags[genix].'" LIMIT 1 '));if (mysql_query('UPDATE `users` SET `para` ="'.$zags[genix].'" WHERE `id` ="'.$zags[nevesta].'" LIMIT 1 '));mysql_query("DELETE FROM `zags` WHERE `id`='".$zags[id]."' LIMIT 1");}}}}else{$mes = "нет открытых церемоний ";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_svaisch','0','".($time+1)."','".$mes."','$rm')");}}else{$mes = "извините но в этой комнате я не работаю";mysql_query ("INSERT INTO message (user,user_id,time,msg,rm) VALUES ('$user_svaisch','0','".($time+1)."','".$mes."','$rm')");}}header ('Location: room?rm='.$rm.'');exit;}echo gb.'<a href="room?rm='.$rm.'">В чат </a>'.div;foot();?> |
Добавлено спустя 1 минуту 50 секунд: в конфиг вродь ток подключение к базе идет,и паро мелких настроек)) ну вот его тоже выкладываю))
Код:
lt;?// НАСТРОЙКИ СОЕДИНЕНИЯ С БДdefine('DB_host','localhost'); // Хостdefine('DB_user','114464'); // Пользователь БДdefine('DB_pass','114464'); // Парольdefine('DB_db','114464'); // БД// ПРОЧИЕ НАСТРОЙКИ///////////// ЭТО НЕ ТРОГАЕМ!/////////|||/require_once'sys/start.php'; //include_once 'sys/sys.php'; ///////////////////////////////// Настройки групп$set['p_add_gr'] = 1; // Посты для создания группы$set['s_gr_logo'] = 50; // Вес лого$set['w_logo_gr'] = 200;// Высота лого (отображение)$set['h_logo_gr'] = 100;// Ширина лого (отображение)// Настройки обменника файлов$set['path'] = 'files';// папка с файлами$set['fo_size'] = 10; // макс размер в мб$set['fo_day_new'] = 2; // сколько файл считается новым$set['prev_size'] = '80*80'; // размер превьюшек$set['marker'] = 1;// включен - 1, нет - 0$set['text_marker'] = 'Gggg';// текст маркера$set['rur_1mb'] = 1; // + рублей за 1мб загружаемых файлов$set['top_num'] = 20; // Топ ... Юзеров и файлов$set['eval_change'] = 1; // не меняемrequire_once H."sys/bann.php";?> |
Корочь давай архив с чатом а то мы так будем месяц искать
А что если просто так
Код:
echo '<select name=\"prvt\"> |
<option value=\"0\">Всем</option>'; |
if($user['posts']>'50') |
{ |
echo '<option value=\"1\">Приватно</option>'; |
} |
|
echo '</select><br/>'; |
прписать,ну только ошибку в этом коде исправить((
Добавлено спустя 1 минуту 18 секунд: В Этой теме он ))
подскажите как сделать при нажатии на ссылку занос число в базу? например ссылка "Слить" нажимаешь на нее и в базу в определенное поле записывается значение "1" ,как такое сделать?)
Подскажите, делает ли что-то с кодировкой функция strtr() и strtolower(), т.к. у меня глюки с кодировкой начинались и на хосте.
Отредактировано tipsun (2011.08.14 14:02)
да. эти функции некорректно работают с мультибайтовыми кодировками.
используй mbstring.
Мой мозг никак не высрет функцию антимата.
Можно простым str_ireplace(); то, что есть в архиве, но будет проходить м-а.т
tipsun, мат всегда будет проходить. Я бы вообще не заморачивался такими глупостями.
подскажите как всунуть таблу из базы в переменную,идет табла foto_add,и там поле adres,что типа такого должно быть $zzz = foto_add['adres'];,только это не правильно(
Отредактировано POFIGISST (2011.08.16 04:04)
Код:
span style="color: #0000BB"><?php$q = mysql_query("SELECT ...");$foto_add = mysql_fetch_array($q);echo $foto_add['adres']; |
TLENS написал:Код:
span style="color: #0000BB"><?php$q = mysql_query("SELECT ...");$foto_add = mysql_fetch_array($q);echo $foto_add['adres']; |
Спасибо большое Дим))
как можно 3 переменных прикрепить? примерно вот так
Код:
echo '<img src="http://'.$sit.''.$foto_add['adres'].''.jpg"><br>'; |
тут 2 переменных,и незнаю как их скрепить в одной строке((
и еще вопрос,какая у меня вот тут
Код:
span style="color: #0000BB"><?phprequire'config.php';$q = mysql_query("SELECT ...");$foto_add = mysql_fetch_array($q);echo $foto_add['adres'];//$sit = $_SERVER['HTTP_HOST'];echo '<img src="http://test4.ru'.$foto_add['adres'].'.jpg"><br>'; ?> |
ошибка?((
Отредактировано POFIGISST (2011.08.16 04:04)
Код:
span style="color: #0000BB"><?php$a1 = 1;$a2 = 2;$a3 = 3;echo '[' . $a1 . $a2 . $a3 .']'; |
[123]
Добавлено спустя 1 минуту 12 секунд: но можно и таким образом как это делал ты $a1 . '' . $a2
ну вот у мя такой говнокод вышел
Код:
span style="color: #0000BB"><?phprequire'config.php';$q = mysql_query("SELECT ...");$a2 = mysql_fetch_array($q);$sit = $_SERVER['HTTP_HOST'];echo '<img src ="http://[' . $sit . $a2 .'].jpg"><br>';?> |
SELECT ... замени на нормальный запрос
Добавлено спустя 1 минуту 10 секунд: и $a2 это массив уверен у тебя пишет array
$q = mysql_query("SELECT * FROM foto_add");
на такой заменить?))прост с базами у мя ваще беда((
Добавлено спустя 1 минуту 16 секунд: ты прав насчет массива,пишет вот так "<img src ="http://[test4.ruArray].jpg"><br>" (((
бля я как тебе написал? $a2['adres']
вставь var_dump($a2);
Добавлено спустя 1 минуту 1 секунду: лан я спать
массив уже убрал,теперь так
Код:
<img src ="http://[test4.ru/files/album/album_2_3].jpg"><br> |
если убрать [ скобочки,то картинка норм будет появляться))
TLENS написал:
бля я как тебе написал? $a2['adres']
вставь var_dump($a2);
Добавлено спустя 1 минуту 1 секунду:
лан я спать
приятных тебе))
вот такой код
Код:
echo '<img src ="http://' . $sit . $foto_add['adres'] .'.jpg"><br>'; |
все норм выводит))спасибо еще раз))
Добавлено спустя 1 минуту 20 секунд: TLENS написал:
ну так в чем проблема?
ну так я же думал,что если уберу их,то ошибка синтаксиса будет((
новый вызов mysql_fetch_array покажет следующий столбец. ну вообщем спрашивай если что не понятно. да и не забывай читать инфу о функциях
TLENS написал:
новый вызов mysql_fetch_array покажет следующий столбец. ну вообщем спрашивай если что не понятно. да и не забывай читать инфу о функциях
а если мне нужен именно не следующий столбец,а 5 или 10 например?
не столбец, а строку.
у тега img атрибут alt обязательный.
Gemorroj написал:
не столбец, а строку.
у тега img атрибут alt обязательный.
а ну да
а с альтом это вот так
Код:
echo '<img src ="http://' . $sit . $foto_add['adres'] .'.jpg"><alt="фото"/><br/>'; |
?)
POFIGISST написал:а с альтом это вот так
Код:
echo '<img src ="http://' . $sit . $foto_add['adres'] .'.jpg"><alt="фото"/><br/>'; |
?)
ГГ
Код:
echo '<img src ="http://' . $sit . $foto_add['adres'] .'.jpg alt="фото" /><br/>'; |
Подскажите)))вот у мя идет такой код
Код:
lt;?require'../config.php';$align='left';$title='Подарки';aut();head();who_add(0,'enter');$mod = check($_GET['mod']);if(!isset($_GET['nk']) && isset($_SESSION['nk']))$nk = check($_SESSION['nk']);else {$nk = check($_GET['nk']);$_SESSION['nk']=$_GET['nk'];}switch($mod){default:echo 'Подароки <b>'.user_inf($nk,'user').'</b><br/><br />';if (empty($user['max'])) $user['max']=10;$max = $user['max'];$k_post=mysql_result(mysql_query("select count(*) as num from gifts where gift_id = '".$nk."'"),0);$k_page=k_page($k_post,$max);$page=page($k_page);$start=$max*$page-$max;$r = mysql_query ("Select * from gifts where gift_id = '".$nk."' order by time desc LIMIT $start, $max");if ($k_post == 0)echo 'Подарков пока нет...<br />';$post_k=$start+1;while($a = @mysql_fetch_array($r)){if ($a[publ]!=0){if ($user[id]==$nk||$user[id]==$a[user_id])echo '<a href="'.H.'gifts'.$nk.'_'.$a[id].'"><img src="'.H.'gifts/'.$a['gift'].'" title="Личный подарок!"/></a> ';else echo '<img src="'.H.'img/gl.gif"/> ';}else{echo '<a href="'.H.'gifts'.$nk.'_'.$a[id].'"><img src="'.H.'gifts/'.$a['gift'].'" title="Информация о подарке"/></a> ';}}if ($k_page>1){echo '<dl><dt></dt></dl>';str(''.H.'gifts'.$nk.'?',$k_page,$page);echo '<br /><dl><dt></dt></dl>';}echo '<br /><a href="gifts/index?mod=add&nk='.$nk.'">Сделать подарок</a><br />';break;case 'read':$gift = check(intval($_GET['gift']));$a = @mysql_fetch_array(mysql_query ("Select * from gifts where gift_id = '".$nk."' and id = '".$gift."'"));echo '<img src="'.H.'gifts/'.$a['gift'].'"/><br />';if ($a[anonim]==0)$gu = nik($a[user_id]); else $gu = 'Аноним';if ($a[publ]==0)$publ = ''; else $publ = ' </b>(<u title="Подарок виден только вам!">Лично</u>)<b>';echo '<u>Подарил:</u> <b>'.$gu.$publ.'</b> ('.times($a['time']).')<br />';echo '<u>Комментарий:</u><br />'.$a['kom'].'<br />';if($user[id]==$nk || $user[level]>=5)echo '<br /><a href="'.H.'gifts'.$nk.'_'.$a[id].'?del">Удалить</a><br />';if (isset($_GET['del'])){if($user[id]==$nk || $user[level]>=5){mysql_query("DELETE FROM gifts where gift_id = '".$nk."' and id = '".$gift."'");}header ('Location: '.H.'gifts'.$nk.'?'.SID);}break;case 'add':if (!user($nk)){echo 'Такого пользователя не существует!'; exit; }echo 'Подарок для <b>'.user_inf($nk,'user').'</b><br/>';require_once(H."sys/func/count_dir.php");$downdir_array = array();$dir = opendir (".");while ($file = readdir ($dir)) {if (is_dir($file)) {if($file=="."||$file=="..") continue;$downdir_array[]=$file;}}closedir ($dir);sort($downdir_array);$total = count($downdir_array);for ($i = 0; $i < $total; $i++){echo '<img src="../img/dir.gif" alt=""/> <a href="?mod=addi&path='.$downdir_array[$i].'&'.SID.'">Подарки по '.$downdir_array[$i].' рублей</a> ('.count_dir($downdir_array[$i]).')<br/>';}break;case 'addi':$path = check(intval($_GET['path']));$d=opendir("$path");if(isset($_GET['list']))$list = check(intval($_GET['list']));else $list = check(intval($_POST['list']));if(!$list) $list = "1";$n = "1";while(($k=readdir($d))!==false){if ($k=='.'||$k=='..'||$k=="index.php"||$k==".htaccess"||$k==".Thumbs.db") continue;$n++;}closedir($d);$num=($n/$user['max']);if ($num!==(int)$num){$foo = (int) $num;$fo = ($foo + 1);}else{$fo=$num;}if ($list == "") {$c="0";}else{$c=($user['max']*($list-1));}$d=opendir("$path");$la = "-1";echo 'Подарок для <b>'.user_inf($nk,'user').'</b><br/>';echo 'Стоймость подарка: <b>'.$path.'</b> рублей<dl></dl>';while(($e=readdir($d))){if ($e=='.'||$e=='..'||$e=="index"||$e==".htaccess"||$e==".Thumbs.db") continue;$la = $la + 1;if($la>$c-1 and $la<$c+$user['max']){$laa = $la + 1; // Номер файлаecho "<a href=\"index?mod=gift&path=$path&gift=$e\"><img src=\"$path/$e\" alt=\"$e1\"/></a> ";}}for ($i=0; $i<=$fo; $i++)if ($list == "$path") {$c=0;}else{$c=($user['max']*($list-1));}$lis = $list + 1;$lis1 = $list - 1;echo '<br/>';if ($lis1 < 1){echo "<<пред.";}else{echo "<a href=\"index?list=$lis1&mod=".$mod."&path=$path\"><<пред. </a>";}if ($lis == $i){echo "| след.>><br/>";}else{echo "| <a href=\"index?list=$lis&mod=".$mod."&path=$path\">след.>></a><br/>";}if ($ver!='wml') echo "<form method=\"POST\" action=\"index?mod=".$mod."&path=$path\" name=\"auth\">";echo "Перейти к:<br/>";echo "<input name=\"list\" format=\"*N\" size=\"3\"/><br/>";echo "странице<br/>";if ($ver=='wml'){echo "<anchor title=\"go\">Пошёл<go href=\"index?mod=".$mod."&path=$path\" method=\"post\">";echo "<postfield name=\"list\" value=\"$(list)\"/>";echo "</go></anchor>";echo "<br/>";}else{echo "<input type=\"submit\" class=\"ibutton\" value=\"Пошёл\" name=\"enter\"><br/>";}$alls = $i - 1;echo "<br/>";echo "Подарков:<b> $n</b><br/>Страницa:<b> $list/$alls</b><br/>";closedir($d);break;case 'gift':$path = check(intval($_GET['path']));$gift = check($_GET['gift']);if ($user['rur']<$path)$err = 'У вас нет <b>'.$path.'</b> рублей!';if (empty($err)){$act = check($_GET['act']);if (empty($act)){echo '<b>Подарок:</b><br /><img src="'.$path.'/'.$gift.'"/><br />';if ($ver!='wml')echo '<form action="index?mod='.$mod.'&act=add&&path='.$path.'&gift='.$gift.'&'.SID.'" method="post">';echo 'Комментарий:<br /><input name="kom" title="Комментарий"/><br/>';echo '<input type="checkbox" name="anonim" value="1"/> Анонимный<br/>';echo '<input type="checkbox" name="publ" value="1"/> Личный<br/>';if ($ver=='wml'){echo '<br /><anchor title="go">Сделать подарок<go href="index?mod='.$mod.'&act=add&&path='.$path.'&gift='.$gift.'&'.SID.'" method="post"><br />';echo '<postfield name="kom" value="$kom"/><postfield name="anonim" value="$anonim"/><postfield name="publ" value="$publ"/></go></anchor><br /><br />';}else{echo '<br /><input type="submit" class="ibutton" value="Сделать подарок" class="cp"><br />';}}else{$kom = check($_POST['kom']);$anonim = check(intval($_POST['anonim']));$publ = check(intval($_POST['publ']));if ($user['translit']==1)$kom = translit($kom);mysql_query("INSERT INTO `gifts` (user_id,gift_id,time,kom,gift,anonim,publ) values('$user[id]','".user_inf($nk)."','$time','$kom','".$path."/".$gift."','$anonim','$publ')");$rurm = $user['rur']-$path;mysql_query('UPDATE `users` SET `rur` = "'.$rurm.'" WHERE `id` = "'.$user['id'].'"');echo 'Подарок отправлен пользователю <b>'.user_inf($nk,'user').'</b>!<br />';if ($anonim==1)$podaril = 'Аноним';else $podaril = $user['user'];if (user_inf($nk,'fr_notify')==1){if ($user['sex']==1)$sex = 'сделал'; else $sex = 'сделала';$ids = mysql_fetch_array(mysql_query("SELECT * FROM `gifts` WHERE `kom` = '".$kom."'"));$idi=$ids['id'];$msg = 'Пользователь [b]'.$podaril.'[/b] '.$sex.' Вам [url=/gifts'.$nk.'_'.$idi.']подарок[/url].';mysql_query ("INSERT INTO privat (user,user_id,to_user,to_id,time,msg) VALUES ('$user_system','0','".user($nk)."','".user_inf($nk)."','$time','$msg')");$subject = $_SERVER['HTTP_HOST'];$msgmail = ''.$podaril.' '.$sex.' Вам подарок.\r Просмотреть Ваши подарки можно на странице:\r http://'.$_SERVER['HTTP_HOST'].'/gifts'.$nk.' \r\r С уважением,Администрация '.$_SERVER['HTTP_HOST'].'\r\r\r_ _ _ _ _Вы можете поменять настройки e-mail оповещений на странице:http://'.$_SERVER['HTTP_HOST'].'/my/setting?mod=notify';$adds = "From: <admin@".$_SERVER['HTTP_HOST'].">";$adds .= "X-sender: <admin@".$_SERVER['HTTP_HOST'].">";$adds .= "Content-Type: text/plain; charset=utf-8";$mail=explode('|',user_inf($to,'mail'));mail($mail[0],$subject,$msgmail,$adds);}}}else echo $err;break;}echo '<br />';echo gb.'<a href="/gifts'.$nk.'">Подарки</a>'.div;echo gb.'<a href="'.H.$nk.'">В анкету</a>'.div;echo gb.'<a href="'.H.'enter">Прихожая</a>'.div;foot();?> |
Это идет вывод подарков,значение сколько картинок выводить на страницу,берется из базы, табла users поле max ,смысл в том что в это поле заносятся настройки сколько сообщений выводить в комнатах,хочу изменить,чтоб значение бралось не из базы,а просто так сразу выводило по 5 подарков на страницу,полностью без базы,только как это сделать,не совсем понимаю((
Добавлено спустя 1 минуту 53 секунды: я как раз там и смотрел синтаксис его)))
Добавлено спустя 3 минуты : TLENS написал:POFIGISST написал:а с альтом это вот так
Код:
echo '<img src ="http://' . $sit . $foto_add['adres'] .'.jpg"><alt="фото"/><br/>'; |
?)
ГГ
Код:
echo '<img src ="http://' . $sit . $foto_add['adres'] .'.jpg alt="фото" /><br/>'; |
спасибо))вопрос не по теме ,а как ты сделал такой шрифт,которым у тя подпись,ну это "Мое творчество.
the-best-xxx.ru
podsmotri.org
И еще пару покамест не стоящих внимания."
Не понял вопроса. [ size=8][/size ]
Отредактировано TLENS (2011.08.16 22:10)
TLENS написал:
Не понял вопроса.
какого из всех?а то я много задал((сорри((
Вроде так
Код:
span style="color: #0000BB"><?php//$max = $user['max'];$max = 5;/*а вообще ноги растут с /sys/user.php файла, может и в нем поменять, может не только тут этот параметр используется*/// Запрос в базе данных по юзеруif ($us && $pass) {$req = $db->sql_query("SELECT * FROM `users` WHERE `id` = '".check(intval($us))."' LIMIT 1");if ($db->sql_numrows($req)) {$user = $db->sql_fetchrow($req);//можно и так:$user['max'] = 5;if (md5($pass) === $user['pass']) { // =D}else {// Если пароль не совпадает, уничтожаем переменные сессии и чистим кукиunset ($_SESSION['id']);unset ($_SESSION['ps']);setcookie('id', '');setcookie('ps', '');$user = false;}?> |
Отредактировано tipsun (2011.08.16 23:11)
Офигеть
работает ,спасибо,пассы и так в мд5 в базе храняться
что это за ошибка при заливке базы?
Вложения
tot.png
5kb
{807x235}
[
загрузок: 883]
ну, там же написано. записываешь данные в колонку, которой не существует.
Голова уже лопается... необходимо при создании объекта класса, передавать неопределенное колличество аргументов!
Например:
Код:
span style="color: #0000BB"><?phpfunction getClass($name, $args=array()){ $a = new $name(/* Сюда надо как то вставить аргументы из массива $args */); return $a;} |
потом
Код:
span style="color: #0000BB"><?php$a = getClass('class_one', array(1, 2, 3, 4));$b = getClass('class_two', array('a', 'b', 'c')); |
Как это можно реализовать? __autoload даже не предлагать гг
Пробовал еще так:
Код:
span style="color: #0000BB"><?php$a = new $name();call_user_func_array(array($a, '__construct'), $args); |
Но тогда фигня выходит... Обьекты дублируются:
array(0) { }
array(4) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) }
array(0) { }
array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" }
это хорошо если аргументы не указаны в конструкторе! а если указаны...
Должно быть как минимум два, и я введу эти два аргумента, а мне будет выдавать ошибку, и скрипт будет спокойно работать дальше!
Я буду лучше голоден, но между креслом и рулем и на дороге.
Все! разобрался!
Мне интересно почему так получается, если в функции создать класс, то выдаст ошибку, если же в этой же функции подключить файл (через include / require) то все нормально?
Я буду лучше голоден, но между креслом и рулем и на дороге.
не понял.. как ты создаешь класс? через eval чтоли? и как проблему с неопределенным числом аргументов решил?
Nu3oNВозможно проблема из за не глобальных переменных
Отредактировано TLENS (2011.08.23 20:08)
Gemorroj написал:
не понял.. как ты создаешь класс? через eval чтоли? и как проблему с неопределенным числом аргументов решил?
Код:
span style="color: #0000BB"><?phpfunction getClass($name, $args=array()){ require($name . '.class.php'); require('PassingArguments.class.php'); result new PassingArguments($args);}И сам файл PassingArguments:eval(' class PassingArguments extends '.$name.' { function __construct($args) { call_user_func_array(\'parent::__construct\', $args); } }');?> |
Добавлено спустя 2 минуты 31 секунду: Можно еще так:
Код:
span style="color: #0000BB"><?php$reflection = new ReflectionClass('NameClass');$object = $reflection -> newInctanceArgs(array(/* аргументы */));?> |
Но не у всех есть такая библа
Я буду лучше голоден, но между креслом и рулем и на дороге.
Как решить проблему?
Когда файл отдается php скриптом (fread) встречается проблема пока отдается файл то не загружает остальные страницы пока полностью не отдастся файл.
Nu3oN, я тоже переодически сталкиваюсь с такой проблемой с аргументами, пока нормальных решений не знаю. что eval, что Reflection - говно..
Добавлено спустя 1 минуту 20 секунд: TLENS, подробнее код. по-моему, это уже обсуждали, возможно, загружен канал
Gemorroj написал:
Nu3oN, я тоже переодически сталкиваюсь с такой проблемой с аргументами, пока нормальных решений не знаю. что eval, что Reflection - говно..
Лучших вариантов на ближайшее время не вижу (= точнее вообще никаких не наблюдаю гг
Я буду лучше голоден, но между креслом и рулем и на дороге.
В общем очередной раз переписываю свою cms, и вот решил изменить полностью структуру MVC...
В прошлый раз я писал все иначе, все делилось просто: "/папка/контроллер/переменные" без права на выбор!
Теперь решил все сделать как должно быть! и мне необходимо из URL получить путь к контроллеру, класс контроллера и выводимый метод, с учетом того-что папок может быть очень много! решил это реализовать так:
Код:
span style="color: #0000BB"><?php $_GET['do'] = '/dir/dir/dir/class/method/'; // Образец (папок может быть хоть сколько) $arrDefault = array('path' => 'home', 'class' => 'welcome', 'method' => 'index', 'vars' => 'null'); $arrPath = array_filter(explode('/', $_GET['do']), 'trim'); $intPath = count($arrPath); $i=0; $get = array('str'=>'', 'dir'=>'', 'class'=>''); foreach ($arrPath as $key) { $get['str'] = (empty($get['dir']) ? null : $get['dir']) . $key; if (is_dir(PS_EXTRA_CONTROLLERS . $get['str']. '/')) { $get['dir'] = $get['str'] . '/'; } else { if (is_file(PS_EXTRA_CONTROLLERS . $get['str'] . '.php')) { $get['class'] = $arrPath[$i]; } } ++$i; } $arrDefault['path'] = empty($get['dir']) ? $arrDefault['path'] : $get['dir']; $arrDefault['class'] = empty($get['class']) ? $arrDefault['class'] : $get['class'];?> |
Насколько это гуманно?
Я буду лучше голоден, но между креслом и рулем и на дороге.
ну да, 2 вариант - маппинг. т.е. разработчик сам прописывает в диспетчере все возможные запросы, и в бутстрапе просто ищутся соответствия с заранее определенными правилами.
Это короче надо искать другие варианты соединения?
Код:
Внимание: |
curl_setopt_array(): CURLOPT_FOLLOWLOCATION |
не может быть активирована, когда safe_mode включен |
или open_basedir установлен в |
/usr/home/tipsun/htdocs/cinema/index.php |
Отредактировано tipsun (2011.08.28 06:06)
Хотя можно и другим способом эту переадресацию поймать:
get_headers('url', 1);.
Да и вообще
file_get_contents(); обойтись. Думал как получше замаскироваться, чтоб граб долго работал.
- - - -
Эта переадресация 1 раз встечается (в месяц: /2011-08/).
Отредактировано tipsun (2011.08.28 22:10)
tipsun, скорее всего там не совсем корректно переадресация сделана. в соответствии с протоколом HTTP 1.1, путь всегда должен быть абсолютным. т.е. не /index.php, а http://wapinet.ru/index.php
curl работает только со 2 вариантом. в 90% случаев, проблема именно в этом.
Спс.
Я там смотрел, полный адрес идет, ну во всяком случае в Chrome в загловках. (этот Chrome не поймешь, он сам разметку исправляет, лишние теги убирает, добавляет итп)
Отредактировано tipsun (2011.09.01 13:01)
смотри в фаербаге или драгонфлае
Ок, спс.
Я там по-другому сделал. Переадресация встречается 1 раз.
Эту переадресацию ловлю при помощи get_headers().
Далее цикл по находжению ссылок, в котором попутно идет запись нужной инфы в базу.
Подключаюсь при помощи cURL.
Что плохо, более подробная инфа лежит в ссылке (как бы подробнее), и надо получается каждый раз на ссылку заходить за более подробной инфой. Но зато 1 раз.
Можно после сканирования сделать, я думаю.
Это еще предстоит написать.
Ну короче вот сие бот-недоразумение...
Код:
span style="color: #0000BB"><?php////////////Автор: TiPsun// ICQ : 34142776//////////require_once 'db.php';function scanerBot($url=null) { GLOBAL $db; GLOBAL $n; $agent = 'Nokia6070/2.0 (04.00) Profile/MIDP-2.0 Configuration/CLDC-1.1'; $net = curl_init(); curl_setopt_array($net, array( CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $agent, CURLOPT_AUTOREFERER => 1)); $out = curl_exec($net); curl_close($net); $html = mb_convert_encoding($out, 'utf-8', 'windows-1251'); preg_match_all('/movie\/(\d+)\/.{2}([^\<]+)/', $html, $matches); $date = baseName($url); $db->beginTransaction(); foreach ($matches[1] as $key => $value) { $query = $db->prepare("INSERT INTO `films` SET `id`=?, `date`=?, `name`=?;"); $query->execute(array($value, $date, $matches[2][$key])); } $db->commit(); $n += 1; if (preg_match('/(http:\/\/m\.kinopoisk\.ru\/premier\/\d{4}-\d{2}\/).{2}→/', $html, $match)) { scanerBot($match[1]); } else { exit('Отсканировано '.$n.' страниц!'); } }//////////$url = 'http://m.kinopoisk.ru/premier/';$url = get_headers($url, 1);$n = 0;scanerBot($url['Location']);//////////?> |
Можно и свою дату ставить. Год-Месяц и подключиться...
Ну чем для каждого такую работу выполнять, лучше наверно все у себя сохранить.
Отредактировано tipsun (2011.09.01 16:04)
baseName - исправь на basename, php хоть и регистронезависим в названиях функций, но есть посылки для изменения такого поведения к более жесткому наименованию функций, т.е. регистрозависимому.
а так норм. для таких скриптов - главное чтобы они просто выполняли свою задачу.
=0 неужели, наконец норм, Ура!
Отредактировано tipsun (2011.09.02 18:06)
Можно ли хранить конфиденциальные данные в сессиях?
В чем дело при отдаче файла отдается нормально до 99.9% и когда уже в браузере остается 0 сек. идет задержка где то пол минуты. И потом только пишет загружено. Вот код отдачи файлов.
Код:
span style="color: #0000BB"><?phperror_reporting(0);ini_set('zlib.output_compression', 'Off');ini_set('output_handler', '');ini_set('max_execution_time', 999);set_time_limit(999);require './sistem/sistem.class.php';$_SET = new Start;$down = true;require './sistem/informator.class.php';$query = $_SERVER['QUERY_STRING'];$id = @explode('/', $_SERVER['REQUEST_URI']);if (substr($id[2], 0, 3) == 'id_') { preg_match('/id_(\d+)/', $id[2], $id); $id = (int)$id[1];} else { $id =(int) $id[2];}$q = mysql_query("SELECT * FROM `video` WHERE `id` = {$id}");if (mysql_num_rows($q)) { $row = mysql_fetch_array($q); $url = $row['url_file'];}if (substr($_SERVER['REQUEST_URI'], -3) == 'flv') { $url = preg_replace('/\.[^\.]+$/', '', $url) . '.flv';}$url = @parse_url($url);$fp = @fsockopen($url['host'], 80, $errno, $errstr, 10);if (!$fp) { exit('Warning. Server problem');}foreach($_SERVER as $k=> $v) { $http=substr($k, 0, 5); if($http == 'HTTP_') { $h=substr($k, 5); if($h == 'HOST') $headers .= 'Host: ' . $url['host'] . "\r\n"; elseif($h == 'REFERER') $headers .= 'Referer: http://' . $url['host'] . "\r\n"; else $headers .= $h.': '.$v."\r\n"; }}fputs ($fp, "GET " . $url['path'] . " HTTP/1.0\r\n" . $headers . "\r\n");$headers = array();while (!feof($fp)) { $b = trim(fgets($fp)); if(!$b) break; if(substr($b, 0, 5) == 'HTTP/') { $headers['HTTP'] = $b; }else { $buf=explode(': ', $b); $headers[$buf[0]] = $buf[1]; }}$name = 'the-best-xxx_ru-' . basename($url['path']); //header($headers['HTTP']); header('Connection: Close'); header('Content-Transfer-Encoding: binary'); header('Content-Disposition: attachment; filename="' . $name . '"'); header('Content-Type: ' . $headers['Content-Type']);if($headers['Content-Range']) header('Content-Range: ' . $headers['Content-Range']);if($headers['Content-Length']) header('Content-Length: ' . $headers['Content-Length']);if($headers['Accept-Ranges']) header('Accept-Ranges: ' . $headers['Accept-Ranges']);while (!feof($fp)) { echo fread($fp, 1024); //usleep(1000); flush();} |
#212.
Игорь482
Гость
2011.09.08 19:07
Подскажите пожалуйста, сайт стоит на сервере но после обновления ПО Текст: функция toGDImage
выдает ошибку /ffmpeg.so:
undefined symbol:
img_convert...
Зарание спасибо
TLENS, это антивирус скорее всего) посмотри загрузку проца что жрет ресурсы.
Добавлено спустя 38 секунд: Игорь482, код приведи плз.
Gemorroj написал:
это антивирус скорее всего) посмотри загрузку проца что жрет ресурсы.
Антивирь даже отключил тоже самое, да и на процессах ничего заметного не происходит загрузчик жрет.
Но вот выполнил copy на денвере то он без задержки скопировал.
Я запутался. Если даже проблема в юзер-агенте то почему на других сайтах норм а с моего задержка пробовал оперу и хром.
Может проблема в скрипте?
Отредактировано TLENS (2011.09.08 21:09)
Что то с загрузчиком. Пробовал с мобильного 300 кб качает и все. сейчас буду раздуплять
ну, я не вижу проблем в скрипте..(
Изза чего может быть 300 кб?
возможно, дело в Content-Encoding. Удаленный сервер его передает, а ты нет.
Поставил то же самое. Сейчас напишу код похож и буду ему давать заголовки прослежу как он отвечает
Паша ответь мне плис что это такое, Какие есть предположения?
Код:
span style="color: #0000BB"><?php //--- Выдача файла --// public function readfile () { //fpassthru($this->fp); $starttime = microtime(1); $fp = fopen('info.txt', 'a'); while (!feof($this->fp)) { $len = strlen(fread($this->fp, 1024)); $stt = microtime(1); fputs($fp, $len . ' - ' . ($stt - $starttime) . "\n"); $starttime = $stt; } } |
Дак вот в файле info.txt ряд ожидаемых строчек.
Но последние:
1024 - 5.00679016113E-6
1024 - 0.001140832901
1024 - 2.00271606445E-5
1024 - 1.09672546387E-5
348 - 60.0000932217
0 - 14.9743289948
Это слишком!
---------------------
С другими хостами например с твого норм только с одним сайтом такая трабла.
Предположение бан по маске.
Так как с других серверов норм.
Но почему файлы дает фиг его знает.
Отредактировано TLENS (2011.09.09 22:10)
я чето не догоняю.
$fp = fopen('info.txt', 'a'); // открыли только для записи
while (!feof($this->fp)) { // тут проверка на конец файла, но модификатор "a" как раз помещает указатель на конец файла, так что внутрь while мы не должны попасть
Ты не понял Есть $fp а есть $this->fp который открыт выше
в $this->fp открыт вайл со стороннего хоста.
Отредактировано TLENS (2011.09.09 22:10)
а епт)
дай весь код. запущу на своей фряхе.
Я его запускал на других работает как надо. скорее ip
Код:
span style="color: #0000BB"><?phperror_reporting(0);ini_set('zlib.output_compression', 'Off');ini_set('output_handler', '');ini_set('max_execution_time', 999);//var_dump($GLOBALS["HTTP_SERVER_VARS"]);class Parser { public $host; public $path; public $name; public $url; public $header; public $fp; public $err; public $accept_headers; public function __construct($url, $name = '') { if (!$name) { $this->name = basename($url); } else { $this->name = $name; } $url = parse_url($url); $this->host = $url['host']; $this->path = $url['path']; $this->accept_headers = $this->get_accept_headers(); } //--------- Подготовка принятых заголовков для передачи ------// private function get_accept_headers () { foreach($_SERVER as $k => $v) { $http = substr($k, 0, 5); if($http == 'HTTP_') { $h = substr($k, 5); if($h == 'HOST') $headers .= 'Host: ' . $this->host . "\r\n"; elseif($h == 'REFERER') $headers .= 'Referer: http://' . $this->host . "\r\n"; else $headers .= $h . ': ' . $v . "\r\n"; } } return $headers; } //----- Соеденение и передача заголовков ------// public function connect () { $this->fp = @fsockopen($this->host, 80, $errno, $errstr, 10); if (!$this->fp) { $this->err = '<h1>' . $errno . '</h1>' . "\n" . '<p>' . $errstr . '</p>'; return false; } else { fputs ($this->fp, "GET " . $this->path . " HTTP/1.0\r\n" . $this->accept_headers . "\r\n"); return true; } } //----------- Получаю заголовки -------// public function get_headers () { $headers = array(); while (!feof($this->fp)) { $b = trim(fgets($this->fp)); if(!$b) break; if(substr($b ,0, 5) == 'HTTP/') { $headers['HTTP'] = $b; } else { $buf = explode(': ', $b); $headers[$buf[0]] = $buf[1]; } } return $headers; } //--- Выдача файла --// public function readfile () { //fpassthru($this->fp); $starttime = microtime(1); $fp = fopen('info.txt', 'a'); while (!feof($this->fp)) { $f = fread($this->fp, 1024); $len = strlen($f); $stt = microtime(1); fputs($fp, $len . ' - ' . ($stt - $starttime) . "\n"); if ($len < 1024) { fputs($fp, $f . "\n\n\n"); } $starttime = $stt; } }}set_time_limit(999);$file = new Parser ('http://ds.sasisa.ru/fc/upload_files/1199739600/wap_sasisa_ru_homevideo_tanya_xxx.3gp');if (!$file->connect()) exit($file->err);$headers = $file->get_headers();//var_dump($headers); exit;//header($headers['HTTP']);//header('Keep-Alive: timeout=10, max=60');//header('Connection: Keep-Alive, close');//header ("Cache-Control: None");//header('Content-Encoding: binary');//header('Content-Disposition: attachment; filename="' . $file->name . '"');//if($headers['Content-Range']) //header('Content-Range: ' . $headers['Content-Range']); //if($headers['Accept-Ranges']) //header('Accept-Ranges: ' . $headers['Accept-Ranges']); //header('Content-Length: ' . $headers['Content-Length']); //header('Content-Type: ' . $headers['Content-Type']);$file->readfile(); |
Добавлено спустя 4 минуты 54 секунды: Ну что там?
последние строчки:
1024 - 1,5020370483398E-5
1024 - 1,5020370483398E-5
348 - 60,271856069565
а дальше пидарасня какая-то. такое ощущение, что сам файл пишется. щас код повнимательнее посмотрю.
А та не парся то я решил глянуть что там 83 строка
Добавлено спустя 6 минут 41 секунду: Я конечно люблю загадки но не до такой степени.
Выполнил
Код:
span style="color: #0000BB"><?php$starttime = microtime(1);copy('http://ds.sasisa.ru/fc/upload_files/1199739600/wap_sasisa_ru_homevideo_tanya_xxx.3gp', 'test.file');echo round(microtime(1) - $starttime, 4); |
Результат 0.6344
Все таки проблема в коде.
Паша вся надежда на тебя. Сейчас попробую отправляемые заголовки перевести в нижний регистр. Но мало верится что поможет я уже не знаю что делать.
Подожди дак у тебя тоже вис, это статы с твоего сервера?
1024 - 1,5020370483398E-5
1024 - 1,5020370483398E-5
348 - 60,271856069565
)
вобщем так)
Добавлено спустя 20 секунд: Код:
span style="color: #0000BB"><?php//error_reporting(0);ini_set('zlib.output_compression', 'Off');ini_set('output_handler', '');ini_set('max_execution_time', 999);//var_dump($GLOBALS["HTTP_SERVER_VARS"]); class Parser{ public $host; public $path; public $name; public $url; public $header; public $fp; public $err; public $accept_headers; public function __construct($url, $name = '') { if (!$name) { $this->name = basename($url); } else { $this->name = $name; } $url = parse_url($url); $this->host = $url['host']; $this->path = $url['path']; $this->accept_headers = $this->get_accept_headers(); } public function __destruct() { is_resource($this->fp) ? fclose($this->fp) : null; } /** * Подготовка принятых заголовков для передачи * * @return string */ private function get_accept_headers () { $headers = ''; foreach ($_SERVER as $k => $v) { $http = substr($k, 0, 5); if ($http == 'HTTP_') { $h = substr($k, 5); if ($h == 'HOST') { $headers .= 'Host: ' . $this->host . "\r\n"; } else if ($h == 'REFERER') { $headers .= 'Referer: http://' . $this->host . "\r\n"; } else if ($h == 'CONNECTION') { $headers .= "Connection: close\r\n"; } else if ($h == 'ACCEPT_ENCODING' || $h == 'TE') { // пропускаем } else { $headers .= str_replace('_', '-', ucwords(strtolower($h))) . ': ' . $v . "\r\n"; } } } return $headers; } /** * Соеденение и передача заголовков * * @return bool */ public function connect () { $this->fp = @fsockopen($this->host, 80, $errno, $errstr, 10); if (!$this->fp) { $this->err = '<h1>' . $errno . '</h1>' . "\n" . '<p>' . $errstr . '</p>'; return false; } else { fputs ($this->fp, "GET " . $this->path . " HTTP/1.0\r\n" . $this->accept_headers . "\r\n"); return true; } } /** * Получаю заголовки * * @return array */ public function get_headers () { $headers = array(); while (($b = fgets($this->fp)) !== false) { $b = trim($b); if ($b === '') break; if (substr($b, 0, 5) == 'HTTP/') { $headers['HTTP'] = $b; } else { $buf = explode(': ', $b); $headers[$buf[0]] = $buf[1]; } } return $headers; } /** * Запись файла */ public function readfile () { $starttime = microtime(1); $fp = fopen('info.txt', 'a'); fputs($fp, $this->accept_headers . "\n\n\n\n"); while (($f = fgets($this->fp)) !== false) { $len = strlen($f); $stt = microtime(1); fputs($fp, $len . ' - ' . ($stt - $starttime) . "\n"); $starttime = $stt; } }}set_time_limit(999);$file = new Parser ('http://ds.sasisa.ru/fc/upload_files/1199739600/wap_sasisa_ru_homevideo_tanya_xxx.3gp');if (!$file->connect()) exit($file->err);$headers = $file->get_headers();//var_dump($headers); exit; //header($headers['HTTP']);//header('Keep-Alive: timeout=10, max=60');//header('Connection: Keep-Alive, close');//header ("Cache-Control: None");//header('Content-Encoding: binary');//header('Content-Disposition: attachment; filename="' . $file->name . '"'); //if($headers['Content-Range']) //header('Content-Range: ' . $headers['Content-Range']); //if($headers['Accept-Ranges']) //header('Accept-Ranges: ' . $headers['Accept-Ranges']); //header('Content-Length: ' . $headers['Content-Length']); //header('Content-Type: ' . $headers['Content-Type']); $file->readfile(); |
Конкретно проблема в 60 задержке - в заголовке Connection: Keep-Alive
Там еще была ошибка в работе с feof
Я твой должник. Я до сих пор толком не понял для чего Keep-Alive сейчас почитаю, А что на счет EOF?
ну там получалось что 1 раз считывал лишнюю строчку.
ну там еще и сзаголовками была проблема, они же в php типа как ACCEPT_CHARSET, а передавать нужно Accept-Charsert. Как минимум _ заменить на - надо.
А блин куда я смотрел. Но тоже кстати собирался рыть в get_accept_headers ().
Моя бабушка всегда мне говорила если долго мучится что нибудь получится.
Меня очень запутало то что с Твоего сайта не было проблем.
Спасибо огромное еще раз!
вапинет отдает такое: Keep-Alive: timeout=5, max=100
т.е. задержка 5 сек, а не 60 сек, как на сасисе.
Помогите плиз написать функцию,которая будет блокировать смайлы в чате в одном посте,вернее чтоб лимит был,например чтоб в одном посте показывало только 2 смайла,а остальные чтоб не выводило,а то есть умники которые в одном посте ставят по 20 смайлов,и страниц х.з. сколько грузиться,к посту прикрепляю файл отвечающий за это(( сам пробовал,но нифига не вышло,только ошибок кучу сделал((
TLENS написал:
Это ты писал скрипт?
нет,файл был написан Шахтером,а мод личных смайлов на заказ писали((
Добавлено спустя 8 минут 41 секунду: примерно таким
Код:
define('MAX_SMILES',2); // Максимальное количество смайлов |
|
$cache_sml; |
$cache_pat; |
$n = 0; |
|
function sml_replace_callback($match) |
{ |
global $cache_sml,$n; |
|
if($n == MAX_SMILES) |
return ''; |
|
$n++; |
|
return $cache_sml[$match[1]]; |
} |
|
function smiles($msg) |
{ |
global $cache_pat,$cache_sml,$user,$n; |
|
if(empty($cache_sml) or empty($cache_pat)) |
{ |
$file = file_get_contents(H.'smiles/smiles.txt'); |
preg_match_all('%(.+) (.+)%',$file,$arr); |
|
$cache_pat = array_map('sml_mk_pat',$arr[2]); |
$arr[1] = array_map('sml_mk_img',$arr[1]); |
$cache_sml = array_combine($arr[2],$arr[1]); |
} |
кодом можно сделать наверное,но не соображу как это замутить((
Сейчас напишу дополнение.
Ток скажи честно сколько заплатил за него.
TLENS написал:
Сейчас напишу дополнение.
Ток скажи честно сколько заплатил за него.
честно я не платил за него,писал тот чел что и тотал написал,ну код тотала ты видел,мы с ним договорились,что я привожу к нему на сайт 10 человек,а он мне за это пишет этот мод,без денег у нас был договор
Код:
lt;?$count_smiles = 3;/** * Замена по ограничению * @return (string) * By TLENS 26.09.2011 */function my_replace($var1, $var2, $str, $count = 0){ if ($count <= 0) { return str_replace($var1, $var2, $str); } $arr = explode($var1, $str); $c = sizeof($arr); if ($c <= $count) { return str_replace($var1, $var2, $str); } $result = (string)''; for ($i = 0; $i<$c; $i++) { if ($i < $count) { $result .= $arr[$i] . $var2; } else { $result .= $arr[$i] . ((($i + 1) < $c) ? $var1 : ''); } } return $result;}//-------------------------------------//function smiles($msg){ global $db, $set,$user, $count_smiles; $f_smiles=file(H."smiles/smiles.txt"); for ($i=0;$i<count($f_smiles);$i++) { $str_sm=explode(' ',trim($f_smiles[$i])); $str_sm2=''; for ($z=1;$z<count($str_sm);$z++) { if ($z>1){$str_sm2.=' ';} $str_sm2.=$str_sm[$z]; } $str_sm2=explode(',',$str_sm2); for ($i2=0;$i2<count($str_sm2);$i2++) { $str_sm2[$i2]=stripcslashes(htmlspecialchars($str_sm2[$i2])); $msg=str_replace("$str_sm2[$i2]", "<img src=\"/smiles/$str_sm[0].gif\" alt=\"\" />", $msg); } } $q=mysql_query("SELECT * FROM `user_smiles_spis`"); //Личные смайлы while($post = mysql_fetch_array($q)){ $msg = str_replace($post['sim'], '<a><img src="/smiles/usersmiles/'.$post['name'].'.gif" alt="'.$post['name'].'"/></a>', $msg); } if ($user['level']>3){ $f_smiles=file(H."smiles/smiles_mod.txt"); for ($i=0;$i<count($f_smiles);$i++) { $str_sm=explode(' ',trim($f_smiles[$i])); $str_sm2=''; for ($z=1;$z<count($str_sm);$z++) { if ($z>1){$str_sm2.=' ';} $str_sm2.=$str_sm[$z]; } $str_sm2=explode(',',$str_sm2); for ($i2=0;$i2<count($str_sm2);$i2++) { $str_sm2[$i2]=stripcslashes(htmlspecialchars($str_sm2[$i2])); $msg=my_replace("$str_sm2[$i2]", "<img src=\"/smiles/$str_sm[0].gif\" alt=\"\" />", $msg, $count_smiles); } }} return $msg;}function links_preg1($arr){return '<a href="'.$arr[1].'">'.$arr[2].'</a>';}function links_preg2($arr){return $arr[1].'<a href="'.$arr[2].'">'.$arr[2].'</a>'.$arr[4];}function links($msg){$msg=preg_replace_callback('~\[url=([^ \r\n\t`\'"]+)\](.*?)\[/url\]~iu', 'links_preg1', $msg);$msg=preg_replace_callback('~(^|\s)([a-z]+://([^ \r\n\t`\'"]+))(\s|$)~iu', 'links_preg2', $msg);return $msg;}$versiya = '4.0';function bbcodehightlight($arr){$arr[0]=html_entity_decode($arr[0], ENT_QUOTES, 'UTF-8');$arr[0]=preg_replace('#<img src="(.*?)" alt="(.*?)" />#sui', '\\2', $arr[0]);return '<div class="" style="overflow:scroll;clip:auto;max-width:480px;">'.preg_replace('#<code>(.*?)</code>#si', '\\1' ,highlight_string($arr[0],1)).'</div>'."\n";}function BBcode($msg){$msg=preg_replace('#\[b\](.*?)\[/b\]#si', '<span style="font-weight: bold;">\1</span>', $msg);$msg=preg_replace('#\[i\](.*?)\[/i\]#si', '<span style="font-style: italic;">\1</span>', $msg);$msg=preg_replace('#\[u\](.*?)\[/u\]#si', '<span style="text-decoration: underline;">\1</span>', $msg);$msg=preg_replace('#\[b\](.*?)\[/b\]#si', '<span style="font-weight: bold;">\1</span>', $msg);$msg=preg_replace('#\[i\](.*?)\[/i\]#si', '<span style="font-style: italic;">\1</span>', $msg);$msg=preg_replace('#\[q\](.*?)\[/q\]#si', '<span style="text-decoration: underline;">\1</span>', $msg);$msg=preg_replace('#\[del\](.*?)\[/del\]#si', '<del>\1</del>', $msg);$msg=preg_replace('#\[small\](.*?)\[/small\]#si', '<span style="font-size: small;">\1</span>', $msg);$msg=preg_replace('#\[big\](.*?)\[/big\]#si', '<span style="font-size: large;">\1</span>', $msg);$msg=preg_replace('#\[blink\](.*?)\[/blink\]#si', '<blink>\1</blink>', $msg);$msg=preg_replace('#\[red\](.*?)\[/red\]#si', '<span style="color:#FF0000;">\1</span>', $msg);$msg=preg_replace('#\[green\](.*?)\[/green\]#si', '<span style="color:#00FF00;">\1</span>', $msg);$msg=preg_replace('#\[blue\](.*?)\[/blue\]#si', '<span style="color:#0000FF;">\1</span>', $msg);$msg=preg_replace('#\[yellow\](.*?)\[/yellow\]#si', '<span style="color:#ffff22;">\1</span>', $msg);$msg=preg_replace('#\[fea\](.*?)\[/fea\]#si', '<span style="color:#FF00FF;">\1</span>', $msg);return $msg;}define('vb12', true);function br($msg,$br='<br />'){$msg=eregi_replace("((<br( ?/?)>)|\n|\r)+",$br, $msg);return $msg;}function page2($page2){$page2=str_replace('</body>','<div align="center"><small><a href="http://masteram.us">© -=ШАХТЕР=-</a></small></div></body>',$page2);$page2=str_replace('</card>','<div align="center"><small><a href="http://masteram.us">© -=ШАХТЕР=-</a></small></div></card>',$page2);return $page2;}if ((eregi('^/enter\.php',$_SERVER['SCRIPT_NAME']))||(eregi('^/index\.php',$_SERVER['SCRIPT_NAME']))){ob_start(page2);define('set2.0', true);}else if ((eregi('^'.dirname($_SERVER['PHP_SELF']).'/enter\.php',$_SERVER['SCRIPT_NAME']))||(eregi('^'.dirname($_SERVER['PHP_SELF']).'/index\.php',$_SERVER['SCRIPT_NAME']))){ob_start(page2);}function esc($text,$br=NULL){if ($br!=NULL)for ($i=0;$i<=31;$i++)$text=str_replace(chr($i), NULL, $text);else{for ($i=0;$i<10;$i++)$text=str_replace(chr($i), NULL, $text);for ($i=11;$i<20;$i++)$text=str_replace(chr($i), NULL, $text);for ($i=21;$i<=31;$i++)$text=str_replace(chr($i), NULL, $text);}return $text;}function text($str,$br=true,$html=true,$smiles=true,$links=true,$bbcode=true){if ($html==true)if ($smiles==true)$str=smiles($str);if ($links==true)$str=links($str);if ($bbcode==true)$str=bbcode($str);if ($br==true){$str=br($str);$str=esc($str);}else{$str=esc($str);}return $str;}function color_msg($text){global $db, $set,$user, $msg;if ($msg['color']==1)$text = '[red]'.$msg['msg'].'[/red]';elseif ($msg['color']==2)$text = '[blue]'.$msg['msg'].'[/blue]';elseif ($msg['color']==3)$text = '[fea]'.$msg['msg'].'[/fea]';elseif ($msg['color']==4)$text = '[green]'.$msg['msg'].'[/green]';return $text;}function bb_msg($text){global $db, $set,$user, $msg;if ($msg['bb']==1)$text = '[i]'.$text.'[/i]';elseif ($msg['bb']==2)$text = '[u]'.$text.'[/u]';elseif ($msg['bb']==3)$text = '[i][u]'.$text.'[/u][/i]';elseif ($msg['bb']==4)$text = '[b]'.$text.'[/b]';elseif ($msg['bb']==5)$text = '[i][b]'.$text.'[/b][/i]';elseif ($msg['bb']==6)$text = '[big]'.$text.'[/big]';return $text;}function emo_msg($text){global $db, $set,$user, $msg;if ($msg['emo']==1) $text = '[Радостно] '.$text;elseif ($msg['emo']==2) $text = '[Печально] '.$text;elseif ($msg['emo']==3) $text = '[Удивленно] '.$text;elseif ($msg['emo']==4) $text = '[Ласково] '.$text;elseif ($msg['emo']==5) $text = '[Смущенно] '.$text;elseif ($msg['emo']==6) $text = '[Кокетливо] '.$text;elseif ($msg['emo']==7) $text = '[Обиженно] '.$text;elseif ($msg['emo']==8) $text = '[Настойчиво] '.$text;elseif ($msg['emo']==9) $text = '[Шепотом] '.$text;elseif ($msg['emo']==10) $text = '[Задумчиво] '.$text;elseif ($msg['emo']==11) $text = '[Злобно] '.$text;return $text;}function antir($msg){global $db, $set,$user;$msg = str_replace("((http://))((([a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z;]{2,3}))|(([0-9]{1,3}\.){3}([0-9]{1,3})))((/|\?)[a-z0-9~#%&'_\+=:;\?\.-]*)*)", "".$set['antir']."", $msg);$msg=str_replace(".wab.","".$set['antir']."",$msg);$msg=str_replace(".com","".$set['antir']."",$msg);$msg=str_replace(".net","".$set['antir']."",$msg);$msg=str_replace(".org","".$set['antir']."",$msg);$msg=str_replace(".kz","".$set['antir']."",$msg);$msg=str_replace(".ua","".$set['antir']."",$msg);$msg=str_replace(".ru","".$set['antir']."",$msg);$msg=str_replace(",ru","".$set['antir']."",$msg);$msg=str_replace("-ru","".$set['antir']."",$msg);$msg=str_replace("-ru","".$set['antir']."",$msg);$msg=str_replace("_ru","".$set['antir']."",$msg);$msg=str_replace("-net","".$set['antir']."",$msg);$msg=str_replace(",net","".$set['antir']."",$msg);$msg=str_replace("-su","".$set['antir']."",$msg);$msg=str_replace("_su","".$set['antir']."",$msg);$msg=str_replace(".su","".$set['antir']."",$msg);$msg=str_replace(",su","".$set['antir']."",$msg);$msg=str_replace("-mobi","".$set['antir']."",$msg);$msg=str_replace("_mobi","".$set['antir']."",$msg);$msg=str_replace(".mobi","".$set['antir']."",$msg);$msg=str_replace(",mobi","".$set['antir']."",$msg);$msg=str_replace("-info","".$set['antir']."",$msg);$msg=str_replace("_info","".$set['antir']."",$msg);$msg=str_replace(".info","".$set['antir']."",$msg);$msg=str_replace(",info","".$set['antir']."",$msg);$msg=str_replace("-com","".$set['antir']."",$msg);$msg=str_replace("_com","".$set['antir']."",$msg);$msg=str_replace(".com","".$set['antir']."",$msg);$msg=str_replace(",com","".$set['antir']."",$msg);$msg=str_replace("-msk","".$set['antir']."",$msg);$msg=str_replace("_msk","".$set['antir']."",$msg);$msg=str_replace(".msk","".$set['antir']."",$msg);$msg=str_replace(",msk","".$set['antir']."",$msg);$msg=str_replace("-tk","".$set['antir']."",$msg);$msg=str_replace("_tk","".$set['antir']."",$msg);$msg=str_replace(".tk","".$set['antir']."",$msg);$msg=str_replace(",tk","".$set['antir']."",$msg);$msg=str_replace(".in","".$set['antir']."",$msg);$msg=str_replace("-cn","".$set['antir']."",$msg);$msg=str_replace("_cn","".$set['antir']."",$msg);$msg=str_replace(".cn","".$set['antir']."",$msg);$msg=str_replace(",cn","".$set['antir']."",$msg);$msg=str_replace("-biz","".$set['antir']."",$msg);$msg=str_replace("_biz","".$set['antir']."",$msg);$msg=str_replace(".biz","".$set['antir']."",$msg);$msg=str_replace(",biz","".$set['antir']."",$msg);$msg=str_replace("-h2m","".$set['antir']."",$msg);$msg=str_replace("_h2m","".$set['antir']."",$msg);$msg=str_replace(".h2m","".$set['antir']."",$msg);$msg=str_replace(",h2m","".$set['antir']."",$msg);$msg=str_replace("-wen","".$set['antir']."",$msg);$msg=str_replace("_wen","".$set['antir']."",$msg);$msg=str_replace(".wen","".$set['antir']."",$msg);$msg=str_replace(",wen","".$set['antir']."",$msg);$msg=str_replace("-ua","".$set['antir']."",$msg);$msg=str_replace("_ua","".$set['antir']."",$msg);$msg=str_replace(".ua","".$set['antir']."",$msg);$msg=str_replace(",ua","".$set['antir']."",$msg);return $msg;}function antim($text){$text=strtr($text,array('сука'=>'***','блядь'=>'***','блядь'=>'***','хуй'=>'***','пизда'=>'***','сучка'=>'***','пидор'=>'***','пидар'=>'***','пидор'=>'***','пидрила'=>'***','чмо'=>'***','ебать'=>'***','бля'=>'***'));return $text;}function url_replace($m) {if( !isset($m[3]) ) {return '<a href="' . $m[1] . '">' . $m[2] . '</a>';} else {return '<a href="' . $m[3] . '">' . $m[3] . '</a>';}}function img_replace($m) {if( !isset($m[3]) ) {return '<img src="' . $m[1] . '" alt="' . $m[2] . '">';} else {return '<img src="' . $m[3] . '" alt="' . $m[3] . '">';}}//------------------ Функция вставки BB-кода --------------------//function bb2($text){$text = preg_replace_callback('~\\[link=(http://.+?)\\](.+?)\\[/link\\]|(http://(www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&_=/%-:#]*)~', 'url_replace', $text);$text = preg_replace_callback('~\\[imgs=(.+?)\\](.+?)\\[/imgs\\]|((www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&_=/%-:#]*)~', 'img_replace', $text);return $text;}?> |
Код ужасный. Даж я такого в детстве не писал. Думал подправить потом плюнул
Добавлено спустя 57 секунд: вверху настройка количества
Отредактировано TLENS (2011.09.26 21:09)
TLENSс этим кодом весь чат не работает,просто белая страница(((
не показывает((или я не правильно включаю,хотя вот error_reporting(-1); должно выводить ошибки((
Добавлено спустя 2 минуты 17 секунд: error_reporting (E_ALL); и так включить пытался((нифига(((
Попробуй поставить в самом начале ведь этот инклюдится куда то
error_reporting(E_ALL);
ini_set("display_errors", 1);
Добавлено спустя 1 минуту 2 секунды: В общем код дал рабочий. Ничего в нем не менял кроме одной функции она работает разбирайся сам. Включай мозги
Отредактировано TLENS (2011.09.26 21:09)
TLENSспасибо Дим,это с самим файлом хуйня какая-то,хотя раньше норм вродь работал((
Добавлено спустя 2 минуты 12 секунд: Gemorroj написал:
замени <? на
<?php
спасиб Паш,забываю это исправлять когда редачу файлы((
а если вот так
Код:
span style="color: #0000BB"><?phpdefine('MAX_SMILES',2); // Максимальное количество смайлов$cache_sml;$cache_pat;$n = 0;function sml_replace_callback($match){global $cache_sml,$n; if($n == MAX_SMILES)return '';$n++;return $cache_sml[$match[1]];}function smiles($msg){global $cache_pat,$cache_sml,$user,$n;if(empty($cache_sml) or empty($cache_pat)){$file = file_get_contents(H.'smiles/smiles.txt');preg_match_all('%(.+) (.+)%',$file,$arr);$cache_pat = array_map('sml_mk_pat',$arr[2]);$arr[1] = array_map('sml_mk_img',$arr[1]);$cache_sml = array_combine($arr[2],$arr[1]);}$q=mysql_query("SELECT * FROM `user_smiles_spis`"); //Личные смайлы while($post = mysql_fetch_array($q)){$msg = str_replace($post['sim'],'<a><img src= "/smiles/usersmiles/'.$pot['name'].'.gif" alt="'.$post['name'].'"/></a>',$msg);}$msg = preg_replace_callback($cache_pat,'sml_replace_callback',$msg);$n = 0;return $msg;}function sml_mk_pat($sml){return '%('.preg_quote($sml).')%';}function sml_mk_img($sml){return '<img src="/smiles/'.$sml.'.gif"/>';}function links_preg1($arr){return '<a href="'.$arr[1].'">'.$arr[2].'</a>';}function links_preg2($arr){return $arr[1].'<a href="'.$arr[2].'">'.$arr[2].'</a>'.$arr[4];}function links($msg){$msg=preg_replace_callback('~\[url=([^ \r\n\t`\'"]+)\](.*?)\[/url\]~iu', 'links_preg1', $msg);$msg=preg_replace_callback('~(^|\s)([a-z]+://([^ \r\n\t`\'"]+))(\s|$)~iu', 'links_preg2', $msg);return $msg;}$versiya = '4.0 Лицензионная';function bbcodehightlight($arr){$arr[0]=html_entity_decode($arr[0], ENT_QUOTES, 'UTF-8');$arr[0]=preg_replace('#<img src="(.*?)" alt="(.*?)" />#sui', '\\2', $arr[0]);return '<div class="" style="overflow:scroll;clip:auto;max-width:480px;">'.preg_replace('#<code>(.*?)</code>#si', '\\1' ,highlight_string($arr[0],1)).'</div>'."\n";}function BBcode($msg){$msg=preg_replace('#\[b\](.*?)\[/b\]#si', '<span style="font-weight: bold;">\1</span>', $msg);$msg=preg_replace('#\[i\](.*?)\[/i\]#si', '<span style="font-style: italic;">\1</span>', $msg);$msg=preg_replace('#\[u\](.*?)\[/u\]#si', '<span style="text-decoration: underline;">\1</span>', $msg);$msg=preg_replace('#\[b\](.*?)\[/b\]#si', '<span style="font-weight: bold;">\1</span>', $msg);$msg=preg_replace('#\[i\](.*?)\[/i\]#si', '<span style="font-style: italic;">\1</span>', $msg);$msg=preg_replace('#\[q\](.*?)\[/q\]#si', '<span style="text-decoration: underline;">\1</span>', $msg);$msg=preg_replace('#\[del\](.*?)\[/del\]#si', '<del>\1</del>', $msg);$msg=preg_replace('#\[small\](.*?)\[/small\]#si', '<span style="font-size: small;">\1</span>', $msg);$msg=preg_replace('#\[big\](.*?)\[/big\]#si', '<span style="font-size: large;">\1</span>', $msg);$msg=preg_replace('#\[blink\](.*?)\[/blink\]#si', '<blink>\1</blink>', $msg);$msg=preg_replace('#\[red\](.*?)\[/red\]#si', '<span style="color:#FF0000;">\1</span>', $msg);$msg=preg_replace('#\[green\](.*?)\[/green\]#si', '<span style="color:#00FF00;">\1</span>', $msg);$msg=preg_replace('#\[blue\](.*?)\[/blue\]#si', '<span style="color:#0000FF;">\1</span>', $msg);$msg=preg_replace('#\[yellow\](.*?)\[/yellow\]#si', '<span style="color:#ffff22;">\1</span>', $msg);$msg=preg_replace('#\[fea\](.*?)\[/fea\]#si', '<span style="color:#FF00FF;">\1</span>', $msg);return $msg;}define('vb3', true);function br($msg,$br='<br />'){$msg=eregi_replace("((<br( ?/?)>)|\n|\r)+",$br, $msg);return $msg;}function esc($text,$br=NULL){if ($br!=NULL)for ($i=0;$i<=31;$i++)$text=str_replace(chr($i), NULL, $text);else{for ($i=0;$i<10;$i++)$text=str_replace(chr($i), NULL, $text);for ($i=11;$i<20;$i++)$text=str_replace(chr($i), NULL, $text);for ($i=21;$i<=31;$i++)$text=str_replace(chr($i), NULL, $text);}return $text;}function text($str,$br=true,$html=true,$smiles=true,$links=true,$bbcode=true){if ($html==true)if ($smiles==true)$str=smiles($str);if ($links==true)$str=links($str);if ($bbcode==true)$str=bbcode($str);if ($br==true){$str=br($str);$str=esc($str);}else{$str=esc($str);}return $str;}function color_msg($text){global $db, $set,$user, $msg;if ($msg['color']==1)$text = '[red]'.$msg['msg'].'[/red]';elseif ($msg['color']==2)$text = '[blue]'.$msg['msg'].'[/blue]';elseif ($msg['color']==3)$text = '[fea]'.$msg['msg'].'[/fea]';elseif ($msg['color']==4)$text = '[green]'.$msg['msg'].'[/green]';return $text;}function bb_msg($text){global $db, $set,$user, $msg;if ($msg['bb']==1)$text = '[i]'.$text.'[/i]';elseif ($msg['bb']==2)$text = '[u]'.$text.'[/u]';elseif ($msg['bb']==3)$text = '[i][u]'.$text.'[/u][/i]';elseif ($msg['bb']==4)$text = '[b]'.$text.'[/b]';elseif ($msg['bb']==5)$text = '[i][b]'.$text.'[/b][/i]';elseif ($msg['bb']==6)$text = '[big]'.$text.'[/big]';return $text;}function emo_msg($text){global $db, $set,$user, $msg;if ($msg['emo']==1) $text = '[Радостно] '.$text;elseif ($msg['emo']==2) $text = '[Печально] '.$text;elseif ($msg['emo']==3) $text = '[Удивленно] '.$text;elseif ($msg['emo']==4) $text = '[Ласково] '.$text;elseif ($msg['emo']==5) $text = '[Смущенно] '.$text;elseif ($msg['emo']==6) $text = '[Кокетливо] '.$text;elseif ($msg['emo']==7) $text = '[Обиженно] '.$text;elseif ($msg['emo']==8) $text = '[Настойчиво] '.$text;elseif ($msg['emo']==9) $text = '[Шепотом] '.$text;elseif ($msg['emo']==10) $text = '[Задумчиво] '.$text;elseif ($msg['emo']==11) $text = '[Злобно] '.$text;return $text;}function antir($msg){global $db, $set,$user;$msg = str_replace("((http://))((([a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z;]{2,3}))|(([0-9]{1,3}\.){3}([0-9]{1,3})))((/|\?)[a-z0-9~#%&'_\+=:;\?\.-]*)*)", "".$set['antir']."", $msg);$msg=str_replace(".wab.","".$set['antir']."",$msg);$msg=str_replace(".com","".$set['antir']."",$msg);$msg=str_replace(".net","".$set['antir']."",$msg);$msg=str_replace(".org","".$set['antir']."",$msg);$msg=str_replace(".kz","".$set['antir']."",$msg);$msg=str_replace(".ua","".$set['antir']."",$msg);$msg=str_replace(".ru","".$set['antir']."",$msg);$msg=str_replace(",ru","".$set['antir']."",$msg);$msg=str_replace("-ru","".$set['antir']."",$msg);$msg=str_replace("-ru","".$set['antir']."",$msg);$msg=str_replace("_ru","".$set['antir']."",$msg);$msg=str_replace("-net","".$set['antir']."",$msg);$msg=str_replace(",net","".$set['antir']."",$msg);$msg=str_replace("-su","".$set['antir']."",$msg);$msg=str_replace("_su","".$set['antir']."",$msg);$msg=str_replace(".su","".$set['antir']."",$msg);$msg=str_replace(",su","".$set['antir']."",$msg);$msg=str_replace("-mobi","".$set['antir']."",$msg);$msg=str_replace("_mobi","".$set['antir']."",$msg);$msg=str_replace(".mobi","".$set['antir']."",$msg);$msg=str_replace(",mobi","".$set['antir']."",$msg);$msg=str_replace("-info","".$set['antir']."",$msg);$msg=str_replace("_info","".$set['antir']."",$msg);$msg=str_replace(".info","".$set['antir']."",$msg);$msg=str_replace(",info","".$set['antir']."",$msg);$msg=str_replace("-com","".$set['antir']."",$msg);$msg=str_replace("_com","".$set['antir']."",$msg);$msg=str_replace(".com","".$set['antir']."",$msg);$msg=str_replace(",com","".$set['antir']."",$msg);$msg=str_replace("-msk","".$set['antir']."",$msg);$msg=str_replace("_msk","".$set['antir']."",$msg);$msg=str_replace(".msk","".$set['antir']."",$msg);$msg=str_replace(",msk","".$set['antir']."",$msg);$msg=str_replace("-tk","".$set['antir']."",$msg);$msg=str_replace("_tk","".$set['antir']."",$msg);$msg=str_replace(".tk","".$set['antir']."",$msg);$msg=str_replace(",tk","".$set['antir']."",$msg);$msg=str_replace(".in","".$set['antir']."",$msg);$msg=str_replace("-cn","".$set['antir']."",$msg);$msg=str_replace("_cn","".$set['antir']."",$msg);$msg=str_replace(".cn","".$set['antir']."",$msg);$msg=str_replace(",cn","".$set['antir']."",$msg);$msg=str_replace("-biz","".$set['antir']."",$msg);$msg=str_replace("_biz","".$set['antir']."",$msg);$msg=str_replace(".biz","".$set['antir']."",$msg);$msg=str_replace(",biz","".$set['antir']."",$msg);$msg=str_replace("-h2m","".$set['antir']."",$msg);$msg=str_replace("_h2m","".$set['antir']."",$msg);$msg=str_replace(".h2m","".$set['antir']."",$msg);$msg=str_replace(",h2m","".$set['antir']."",$msg);$msg=str_replace("-wen","".$set['antir']."",$msg);$msg=str_replace("_wen","".$set['antir']."",$msg);$msg=str_replace(".wen","".$set['antir']."",$msg);$msg=str_replace(",wen","".$set['antir']."",$msg);$msg=str_replace("-ua","".$set['antir']."",$msg);$msg=str_replace("_ua","".$set['antir']."",$msg);$msg=str_replace(".ua","".$set['antir']."",$msg);$msg=str_replace(",ua","".$set['antir']."",$msg);return $msg;}function antim($text){$text=strtr($text,array('сука'=>'***','блядь'=>'***','блядь'=>'***','хуй'=>'***','пизда'=>'***','сучка'=>'***','пидор'=>'***','пидар'=>'***','пидор'=>'***','пидрила'=>'***','чмо'=>'***','ебать'=>'***','бля'=>'***'));return $text;}function url_replace($m) {if( !isset($m[3]) ) {return '<a href="' . $m[1] . '">' . $m[2] . '</a>';} else {return '<a href="' . $m[3] . '">' . $m[3] . '</a>';}}function img_replace($m) {if( !isset($m[3]) ) {return '<img src="' . $m[1] . '" alt="' . $m[2] . '">';} else {return '<img src="' . $m[3] . '" alt="' . $m[3] . '">';}}//------------------ Функция вставки BB-кода --------------------//function bb2($text){$text = preg_replace_callback('~\\[link=(http://.+?)\\](.+?)\\[/link\\]|(http://(www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&_=/%-:#]*)~', 'url_replace', $text);$text = preg_replace_callback('~\\[imgs=(.+?)\\](.+?)\\[/imgs\\]|((www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&_=/%-:#]*)~', 'img_replace', $text);return $text;}?> |
сделать? но так почему то не выводит лычный смайл,вернее показывает что должна быть картинка,но её нету,оно имя из базы не тянет,по исходному коду показывает вот так
<a><img src= "/smiles/usersmiles/.gif" alt="222"/>
имя не берет почему то((
Код:
function links_preg1($arr) |
{ |
return '<a href="'.$arr[1].'">'.$arr[2].'</a>'; |
} |
function links_preg2($arr) |
{ |
return $arr[1].'<a href="'.$arr[2].'">'.$arr[2].'</a>'.$arr[4]; |
} |
Это часть кода...
Жгёш пополной
Отредактировано WapStyle (2011.09.26 22:10)
WapStyle написал:Код:
function links_preg1($arr) |
{ |
return '<a href="'.$arr[1].'">'.$arr[2].'</a>'; |
} |
function links_preg2($arr) |
{ |
return $arr[1].'<a href="'.$arr[2].'">'.$arr[2].'</a>'.$arr[4]; |
} |
Это часть кода...
Жгёш пополной
чесн сказать,я сам даже такого не напишу((
Это был мой позор(((исправил все,теперь работает((правда говнокод остался((
Добавлено спустя 4 минуты 54 секунды: смайлы личные работают,и обычные тоже,обычных смайлов выводит только по 2 смайла в одном посте,а вот личных,скок напишешь,сток и выведет,хоть 100 штук в одном посте,теперь не знаю как ограничитель личных смайлов сделать((чтоб их тоже выводило только по два в одном посте(( в какой строке или в какой части это можно сделать подскажите((
Код:
span style="color: #0000BB"><?phpdefine('MAX_SMILES',2); // Максимальное количество смайлов$cache_sml;$cache_pat;$n = 0;function sml_replace_callback($match){global $cache_sml,$n; if($n == MAX_SMILES)return '';$n++;return $cache_sml[$match[1]];}function smiles($msg){global $cache_pat,$cache_sml,$user,$n;if(empty($cache_sml) or empty($cache_pat)){$file = file_get_contents(H.'smiles/smiles.txt');preg_match_all('%(.+) (.+)%',$file,$arr);$cache_pat = array_map('sml_mk_pat',$arr[2]);$arr[1] = array_map('sml_mk_img',$arr[1]);$cache_sml = array_combine($arr[2],$arr[1]);}$q=mysql_query("SELECT * FROM `user_smiles_spis`"); //Личные смайлы while($post = mysql_fetch_array($q)){$msg = str_replace($post['sim'],'<a><img src= "/smiles/usersmiles/'.$post['name'].'.gif" alt="'.$post['name'].'"/></a>',$msg);}$msg = preg_replace_callback($cache_pat,'sml_replace_callback',$msg);$n = 0;return $msg;}function sml_mk_pat($sml){return '%('.preg_quote($sml).')%';}function sml_mk_img($sml){return '<img src="/smiles/'.$sml.'.gif"/>';}function links_preg1($arr){return '<a href="'.$arr[1].'">'.$arr[2].'</a>';}function links_preg2($arr){return $arr[1].'<a href="'.$arr[2].'">'.$arr[2].'</a>'.$arr[4];}function links($msg){$msg=preg_replace_callback('~\[url=([^ \r\n\t`\'"]+)\](.*?)\[/url\]~iu', 'links_preg1', $msg);$msg=preg_replace_callback('~(^|\s)([a-z]+://([^ \r\n\t`\'"]+))(\s|$)~iu', 'links_preg2', $msg);return $msg;}$versiya = '4.0 Лицензионная';function bbcodehightlight($arr){$arr[0]=html_entity_decode($arr[0], ENT_QUOTES, 'UTF-8');$arr[0]=preg_replace('#<img src="(.*?)" alt="(.*?)" />#sui', '\\2', $arr[0]);return '<div class="" style="overflow:scroll;clip:auto;max-width:480px;">'.preg_replace('#<code>(.*?)</code>#si', '\\1' ,highlight_string($arr[0],1)).'</div>'."\n";} |
Блин,создаю таблицу в базе вот такую
Код:
`id` INT( 11 ) NULL DEFAULT NULL AUTO_INCREMENT , |
`name` INT( 20 ) NULL DEFAULT NULL AUTO_INCREMENT , |
`id_dir` INT( 50 ) NULL DEFAULT NULL , |
`sim` VARCHAR( 50 ) NULL DEFAULT NULL , |
`user` INT( 11 ) NULL DEFAULT NULL , |
PRIMARY KEY ( `id` ) |
) ENGINE = MYISAM ; |
и выдает ошибку "#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key "
это значить что в таблице может быть только одно поле с атрибутом AUTO_INCREMENT,а мне нужно два таких поля(( как это сделать? или лучше обойтись одним полем id ? в принципе значения в поле id и name ,будут одинаковые если поставить AUTO_INCREMENT (
тебе не нужно 2 автоинкремента. тут, на сколько я понял, нужна связь многие ко многим.
Gemorroj написал:
тебе не нужно 2 автоинкремента. тут, на сколько я понял, нужна связь многие ко многим.
наверное поле name нужно убрать,ведь значения в полях id и name будут одинаковые,и поле ид можно использовать в двух значениях сразу как имя(чтоб не повторялось имя файла при загрузке) и как ид ))
Отредактировано POFIGISST (2011.09.28 00:12)
POFIGISSTНу оно за частую так и делается.
как мне в этом
Код:
span style="color: #0000BB"><?phprequire'../../config.php';$align='left';$title='Личные смайлы';aut();head();who_add(0,'enter');echo '<div class="menu">';if(!isset($user)){ echo '<div class="err">Доступ закрыт</div>'; }if($_GET['act']=='dir'){if(isset($_POST['name']) && isset($_POST['pos'])){ $name = esc(stripcslashes(htmlspecialchars($_POST['name']))); $pos = intval($_POST['pos']); if(strlen2($name)>32){ $err='Слишком большое название директории'; }else if(strlen2($name)<3){ $err='Слишком короткое название директории'; }else if($pos<0){ $err='Неверный выбор положения директории'; }else{mysql_query("INSERT INTO `user_smiles_dir` (`name`, `pos`, `user`) values('$name', '$pos', '$user[id]')");mysql_query("OPTIMIZE TABLE `user_smiles_dir` where `user` = $user[id]");print'Директория <b>'.$name.'</b> добавлена';}}echo '<form method="post" action="add.php?act=dir">';echo 'Название:(3-32)<br/><input name="name" maxlength="32"/><br/>';echo 'Позиция:(от 1)<br/><input name="pos"/><br/>';echo '<input value="Добавить" type="submit"/></form>';echo '» <a href="index.php">Отмена</a><br/>';}else if($_GET['act']=='smile'){if(isset($_FILES['file']) && $_FILES['file']!=NULL && isset($_POST['name']) && isset($_POST['sim']) && isset($_POST['dir'])){ $name = esc(stripcslashes(htmlspecialchars($_POST['name']))); $dir_s = intval($_POST['dir']); $sim = htmlspecialchars($_POST['sim']);if($imgc=@imagecreatefromstring(file_get_contents($_FILES['file']['tmp_name']))){ $name = rus_to_lat(tolower($name));if($name==NULL){ $err = 'Название файла не заполнено'; }else if(strlen2($name)>10){ $err = 'Название слишком большое. max 10'; }else if(strlen2($name)<1){ $err = 'Название слишком маленькое. min 1'; }else{mysql_query("INSERT INTO `user_smiles_spis` (`name`, `id_dir`, `sim`, `user`) values ('".$name."', '$dir_s', '$sim', '$user[id]')");copy($_FILES['file']['tmp_name'], '../../smiles/usersmiles/'.$name.'.gif');chmod('../../smiles/usersmiles/'.$name.'.gif',0666);print"<b>Смайл загружен</b><br>";}}else{ print"Это не смайл"; }mysql_query("OPTIMIZE TABLE `smiles_spis`"); }echo 'Загружать только *.gif<br/>';echo '<form method="post" enctype="multipart/form-data" action="add.php?act=smile">';echo '<input type="file" name="file" accept="image/*,image/gif"/><br/>';echo '<b>Короткое название смайла:</b><br/><input name="name"><br/>';echo '<b>На что заменяем?:</b><br/><input name="sim"><br/>';echo '<b>Директория</b>:<br/><select name="dir">';$q = mysql_query("SELECT * FROM `user_smiles_dir` where `user` = $user[id]");while($dir = mysql_fetch_array($q)){ echo '<option value="'.$dir['id'].'">'.esc(stripcslashes(htmlspecialchars($dir['name']))).'</option>'; }echo '</select><br/>';echo '<input value="Загрузить" type="submit"/></form>';echo '» <a href="index.php">Отмена</a><br/>';}else{ echo '<div class="err">Неверный ввод</div>'; } echo '</div>';echo gb.'<a href="'.H.'my/index">Личный кабинет</a>'.div;echo gb.'<a href="'.H.'enter">Прихожая</a>'.div;foot();?> |
сделать,чтоб название файла который закидывают было не то которое юзер пишет,а чтоб файл сохранялся с именем ид,то есть если ид равен 5 например,то чтоб и файл автоматически менял название на 5.gif как такое сделать?
ID чего/кого? Юзера, смайла в дирректории по порядку?
tipsun написал:
ID чего/кого? Юзера, смайла в дирректории по порядку?
в таблице user_smiles_spis первое поле идет id там автоинкремент стоит,вот хочу чтоб по умолчанию картинкам присваивалось имя их ИДа,чтоб юзер сам не мог давать имя файлу который он закидывает((
а как можно сделать проверку данных которые юзер записывает в форму? то есть есть слова определенные в тхт файле,и над сделать проверку,чтоб если юзер в водит то слово которое в этом тхт файле , то чтоб писало ошибку((
Gemorroj написал:
ну при сабмите проверяй
напиши название функции которая делает такую проверку?
это примерно так, переменная которую юзер вводит,проверяется в тхт файле,и если есть совпадения,то ошибку выдает?
Gemorroj написал:
да
спасиб))
Посоветуйте как лучше перенести таблицы с сервера на сервер.
phpmyadmin переносит с потерями. А в ручную писать скрипт нет времени. Надо успеть до 0:00
Ну я бекаплю частями по 10000 - 500000 запросов.
При заливке через phpmyadmin разные ошибки, так заливаю через гменеджер-ий заливщик.
пару ошибок и 10 тыс. потерялась. Ну в общем перелил только что фотки 400тыс. то проц. 5 нет в базе
Отредактировано TLENS (2011.09.30 22:10)
блин. что за "разные ошибки"?
Да я сам фиг проссу.
То поврежденные архивы то нет никаких возвратов. А когда по одному то бывает проблема с кавычками они почему то пишутся не в специал.чаре
Добавлено спустя 8 минут 44 секунды: Вроде перезалил все, кавычки сменил на соль и в новой базе заменил назад.
Паша подскажи что делать.
Стоит nginx и set_time_limit включен но не работает.
Дает 504
читал в гугле решение только max_execution_time но для отдачи файлов ето не вариант надо именно set_time_limit/
Да и безопасный режим отключен
это в nginx надо ковырять время ожидания ответа.
конкретную директиву не помню.
Блин,написал сохранение писем,но где то ошибка в запросе,при нажатии на ссылку,в определенное поле в базу,должно заносить результат 1,но нифига не заносит его((
подскажите где в коде у мя ошибка?
вот код((
Код:
span style="color: #0000BB"><?phprequire'../config.php';$align='left';$title='Сообщения';head();aut();who_add(0,'enter');switch($mod){default:if (isset($_GET['delread'])){$db->sql_query("DELETE FROM `privat` where to_id = '".$user['id']."' and readin =1");header ('Location: privat?'.SID);}if (isset($_GET['save'])){$db->sql_query("INSERT INTO `saved` where to_id = '".$user['id']."'");header ('Location: privat?'.SID);}if (isset($_GET['delall'])){$db->sql_query("DELETE FROM `privat` where to_id = '".$user['id']."'");header ('Location: privat?'.SID);}echo '» <a href="privat?mod=in">Входящие</a>(<b>'.$db->sql_fetchfield($db->sql_query("select count(*) as num from privat where to_id = '".$user['id']."' and readin !=1"),0).'</b>/'.$db->sql_fetchfield($db->sql_query("select count(*) as num from privat where to_id = '".$user['id']."'"),0).')<br />';echo '» <a href="privat?mod=aut">Исходящие</a>(<b>'.$db->sql_fetchfield($db->sql_query("select count(*) as num from privat where user_id = '".$user['id']."' and readin !=1"),0).'</b>/'.$db->sql_fetchfield($db->sql_query("select count(*) as num from privat where user_id = '".$user['id']."'"),0).')<br />';echo '» <a href="privat?mod=saved">Сохраненные </a>(<b>'.$db->sql_fetchfield($db->sql_query("select count(*) as num from saved where user_id = '".$user['id']."'"),0).'</b>)<br /><br />';echo '» <a href="privat?mod=add">Написать</a><br />';echo '» <a href="privat?save">Сохранить все прочитанные</a><br />';echo '» <a href="privat?delread">Удалить все прочитанные</a><br />';echo '» <a href="privat?delall">Удалить все входящие</a><br />';echo '» <a href="friends">Ваши Друзья</a><br />';echo '» <a href="ignor">Черный список</a><br />';break;case add:if (empty($act)){if ($_GET['err']==1)echo '<b>Сообщение должно быть длиннее 5 символов!</b>';if ($_GET['err']==2)echo '<b>Такого пользователя не существует!</b><br />';if ($_GET['err']==3)echo '<b>Проверочный код введен неверно!</b>';if ($_GET['err']==4)echo '<b>Чтобы писать записки, нужно набрать '.$set['posts_pr'].' постов!</b>';if ($_GET['err']==5)echo '<b>Запрещено писать пользователям с х-статусом "Не беспокоить"<img src="'.H.'img/online/zaniat.png" alt="" /></b>';if ($_GET['err']==6)echo '<b>Вы не можете писать этому пользователю, т.к. находитесь в его черном списке.</b>';if ($_GET['err']==7)echo '<b>Этому пользователю писать могут только друзья.</b>';if ($_GET['err']==8)echo '<b>Полозователь запретил отправлять ему сообщения.</b>';if ($ver!='wml')echo '<form action="privat?mod='.$mod.'&act=act&'.SID.'" method="post">';$to = check($_GET['to']);if ($ver=='wml'){echo 'Кому (Ник/ID):<br /><input name="to'.$ref.'" maxlength="15" value="'.$to.'" title="komu"/><br/>';echo 'Сообщение:<br /><input name="msg'.$ref.'" maxlength="512" title="komu"/><br/>';$chislo=rand(1000,9999);$db->sql_query("DELETE FROM `chislo` WHERE `ip` = '".$ip."'");$db->sql_query("INSERT INTO `chislo` (chislo,ip) values('$chislo','".$ip."')");echo ' <b>'.$chislo.'</b><br/>Проверочный код:<br/><input type="text" name="code'.$ref.'" size="4" maxlength="4" title="code"/>';echo '<br /><anchor title="go">Написать<go href="privat?mod='.$mod.'&act=add&'.SID.'" method="post"><br />';echo '<postfield name="to" value="$to'.$ref.'"/><postfield name="msg" value="$msg'.$ref.'"/><postfield name="code" value="$code'.$ref.'"/></go></anchor><br />';}else{echo "Кому (Ник/ID):<br /><input name='to' maxlength='15' value='$to' title='komu'/><br/>\n";echo'Сообщение:<br /><textarea cols="'.$user['pole2'].'" rows="'.$user['pole1'].'" name="msg" ></textarea><br />';$chislo=rand(1000,9999);$db->sql_query("DELETE FROM `chislo` WHERE `ip` = '".$ip."'");$db->sql_query("INSERT INTO `chislo` (chislo,ip) values('$chislo','".$ip."')");echo ' <b>'.$chislo.'</b><br/>Проверочный код:<br/><input type="text" name="code" size="4" maxlength="4" title="code"/><br/>';echo '<input type="submit" class="ibutton" value="Написать"/></form><br /><br />';}}else{$to = check($_POST['to']);$msg = check($_POST['msg']);$_POST['code'] = check($_POST['code']);$msg = iconv('utf-8', 'windows-1251', $msg);$msg = substr($msg,0,512);$msg = iconv('windows-1251', 'utf-8', $msg);if ($user['translit']==1)$msg = translit($msg);if ($user['posts']<$set['posts_pr']){header ('Location: privat?mod='.$mod.'&err=4&'.SID); exit;}if (!user($to)){header ('Location: privat?mod='.$mod.'&err=2&'.SID); exit;}if (strlen2($msg)<5){header ('Location: privat?mod='.$mod.'&err=1&'.SID); exit;}if (user_inf($to,'xstatus')==2){header ('Location: privat?mod='.$mod.'&err=5&'.SID); exit;}if (ignor(user_inf($to),$user['id'])==1){header ('Location: privat?mod='.$mod.'&err=6&'.SID); exit;}if (user_inf($to,'pp_m_s')==2){header ('Location: privat?mod='.$mod.'&err=8&'.SID); exit;}if (user_inf($to,'pp_m_s')==1 && friends($to,$user['id'])!=1){header ('Location: privat?mod='.$mod.'&err=7&'.SID); exit;}$online = $db->sql_fetchrow($db->sql_query("SELECT * FROM `chislo` WHERE `ip` = '".$ip."'"));if($online['chislo'] != intval($_POST['code'])){header ('Location: privat?mod='.$mod.'&err=3&'.SID); exit;}if ($db->sql_query ("INSERT INTO privat (user,user_id,to_user,to_id,time,msg) VALUES ('$user[user]','$user[id]','".user($to)."','".user_inf($to)."','$time','$msg')")){if (user_inf($to,'pm_notify')==1){if ($user['sex']==1)$sex = 'оставил'; else $sex = 'оставила';$msgmail = "".$user['user']." ".$sex." Вам личное сообщение.\n Просмотреть Ваши новые личные сообщения можно на странице:\n http://".$_SERVER['HTTP_HOST']."/my/privat \n\n С уважением,Администрация ".$_SERVER['HTTP_HOST']."\n_ _ _ _ _\nВы можете поменять настройки e-mail оповещений на странице:http://".$_SERVER['HTTP_HOST']."/my/setting?mod=notify";$mail=explode('|',user_inf($to,'mail'));addmail($mail[0], $user['user'].' '.$sex.' Вам личное сообщение', $msgmail);}echo 'Сообщение для <b>'.user_inf($to,'user').'</b> отправлено!<br />';$db->sql_query("DELETE FROM `chislo` WHERE `ip` = '".$ip."'");if (user_inf($to,'onl')<($time-300)){if(user_inf($to,'avtootvet')!=""){echo 'Автоответчик: '.user_inf($to,'avtootvet').'<br/>';}}}}break;case in:if (isset($_GET['del'])){$db->sql_query("DELETE FROM `privat` WHERE `id` = '".intval($_GET['del'])."' and `to_id` = '$user[id]'");}if (isset($_GET['delall'])){$db->sql_query("DELETE FROM `privat` WHERE `user_id` = '".intval($_GET['delall'])."' and `to_id` = '$user[id]'");}if (isset($_GET['save'])){$db->sql_query("update privat set save = '1' where id = '".$a['id']."'");}if (empty($user['max_pr'])) $user['max_pr']=5;$max = $user['max_pr'];$k_post=$db->sql_fetchfield($db->sql_query("select count(*) as num from privat where to_id = '".$user['id']."'"),0);$k_page=k_page($k_post,$max);$page=page($k_page);$start=$max*$page-$max;$r = $db->sql_query ("Select * from privat where to_id = '".$user['id']."' order by time desc LIMIT $start, $max");$k = $db->sql_numrows($r);if ( $k == 0 ){echo 'Сообщений пока нет :(<br />';}$post_k=$start+1;while($a = @$db->sql_fetchrow($r)){if ($a['readin'] == 0){$db->sql_query ("Update privat set readin = '1' WHERE id ='".$a['id']."'");echo links.'<img src="'.H.'img/new.gif" alt="" /> ';}else echo links;if ($a['user_id']==0)echo '<b>'.nik($a['user']).'</b> ('.times($a['time']).')<br />'.div;else echo '<b>'.nik($a['user_id']).'</b> ('.times($a['time']).')<br />'.div;echo antir(text($a['msg']))."<br/>";echo '<dl><dt></dt></dl><a href="privat?mod=add&to='.user_inf($a['user']).'">Ответить</a>| <a href="privat?mod='.$mod.'&save='.$a['id'].'">Сохранить</a> | <a href="friends?mod=add&act=add&nick='.user_inf($a['user']).'">В друзья</a>|<a href="ignor?mod=add&act=add&nick='.user_inf($a['user']).'">В черный список</a>|<a href="privat?mod='.$mod.'&del='.$a['id'].'">Удалить</a>|<a href="privat?mod='.$mod.'&delall='.user_inf($a["user"]).'">Удалить всё от</a> '.user($a["user"]).'';echo "<hr />";}if ($k_page>1){echo "<dl><dt></dt></dl>";str('privat?mod=in&',$k_page,$page); // Вывод страницecho "<br /><dl><dt></dt></dl><br />";}break;case aut:if (empty($user['max_pr'])) $user['max_pr']=5;$max = $user['max_pr'];$k_post=$db->sql_fetchfield($db->sql_query("select count(*) as num from privat where user_id = '".$user['id']."'"),0);$k_page=k_page($k_post,$max);$page=page($k_page);$start=$max*$page-$max;$r = $db->sql_query ("Select * from privat where user_id = '".$user['id']."' order by time desc LIMIT $start, $max");$k = $db->sql_numrows($r);if ( $k == 0 ){echo 'Сообщений пока нет :(<br />';}$post_k=$start+1;while($a = @$db->sql_fetchrow($r)){if ($a['to_id']=='')echo user($a['to_user"']).'('.times($a['time']).')<br />';else echo '<b>'.nik($a['to_user']).'</b> ('.times($a['time']).')<br />';echo antir(text($a['msg']))."<br/>";echo '<dl><dt></dt></dl><a href="privat?mod=add&to='.user_inf($a['to_user']).'">Написать ещё</a>|<a href="friends?mod=add&user='.user_inf($a['to_user']).'">В друзья</a>|<a href="ignor?mod=add&act=add&nick='.$inf['id'].'">В черный список</a>';echo "<hr />";}if ($k_page>1){echo "<dl><dt></dt></dl>";str('privat?mod='.$mod.'&',$k_page,$page); // Вывод страницecho "<br /><dl><dt></dt></dl><br />";}break;case del:break;}if ($mod)echo gb.'<a href="'.H.'my/privat">Ваши письма</a>'.div;echo gb.'<a href="'.H.'my/index">Личный кабинет</a>'.div;echo gb.'<a href="'.H.'enter">Прихожая</a>'.div;foot();?> |
вот запрос в базу который отвечает за занос 1 в базу((
$db->sql_query("update privat set save = '1' where id = '".$a['id']."'");
после запроса сделай вывод ошибки. какой драйвер для работы с бд используется?
Gemorroj написал:
после запроса сделай вывод ошибки. какой драйвер для работы с бд используется?
ошибку не показывает,а просто обновляет страницу,ссылка на сохранение письма идет такая http://test4.ru/my/privat?mod=in&save=14
save=14 - это ид письма,которому нужно присвоить значение 1 в базе в определенную строку,а оно нифига не заносит(
Gemorroj написал:
ну пиши ошибку в лог
не умею((не знаю как делать
неужели так еще кто то пишет?
POFIGISST написал:
if ($_GET['err']==1)echo '<b>Сообщение должно быть длиннее 5 символов!</b>';
if ($_GET['err']==2)echo '<b>Такого пользователя не существует!</b><br />';
if ($_GET['err']==3)echo '<b>Проверочный код введен неверно!</b>';
if ($_GET['err']==4)echo '<b>Чтобы писать записки, нужно набрать '.$set['posts_pr'].' постов!</b>';
if ($_GET['err']==5)echo '<b>Запрещено писать пользователям с х-статусом "Не беспокоить"<img src="'.H.'img/online/zaniat.png" alt="" /></b>';
if ($_GET['err']==6)echo '<b>Вы не можете писать этому пользователю, т.к. находитесь в его черном списке.</b>';
if ($_GET['err']==7)echo '<b>Этому пользователю писать могут только друзья.</b>';
if ($_GET['err']==8)echo '<b>Полозователь запретил отправлять ему сообщения.</b>';
TLENS написал:неужели так еще кто то пишет?
POFIGISST написал:
if ($_GET['err']==1)echo '<b>Сообщение должно быть длиннее 5 символов!</b>';
if ($_GET['err']==2)echo '<b>Такого пользователя не существует!</b><br />';
if ($_GET['err']==3)echo '<b>Проверочный код введен неверно!</b>';
if ($_GET['err']==4)echo '<b>Чтобы писать записки, нужно набрать '.$set['posts_pr'].' постов!</b>';
if ($_GET['err']==5)echo '<b>Запрещено писать пользователям с х-статусом "Не беспокоить"<img src="'.H.'img/online/zaniat.png" alt="" /></b>';
if ($_GET['err']==6)echo '<b>Вы не можете писать этому пользователю, т.к. находитесь в его черном списке.</b>';
if ($_GET['err']==7)echo '<b>Этому пользователю писать могут только друзья.</b>';
if ($_GET['err']==8)echo '<b>Полозователь запретил отправлять ему сообщения.</b>';
вывод ошибок,а как ты предлогаешь написать?
Тот вариант тоже правильный но там в место if надо использовать elseif дабы предотвратить бессмысленные проверки.
А вообще по всем принципам кодинга, да и по производительности такой вариант будет правильней.
Код:
span style="color: #0000BB"><?phpif (isset($_GET['err'])) { switch($_GET['err']) case 1 : echo '<b>Сообщение должно быть длиннее 5 символов!</b>'; break; case 2 : echo '<b>Такого пользователя не существует!</b><br />'; break; case 3 : echo '<b>Проверочный код введен неверно!</b>'; break; case 4 : echo '<b>Чтобы писать записки, нужно набрать '.$set['posts_pr'].' постов!</b>'; break; case 5 : echo '<b>Запрещено писать пользователям с х-статусом "Не беспокоить"<img src="'.H.'img/online/zaniat.png" alt="" /></b>'; break; case 6 : echo '<b>Вы не можете писать этому пользователю, т.к. находитесь в его черном списке.</b>'; break; case 7 : echo '<b>Этому пользователю писать могут только друзья.</b>'; break; case 8 : echo '<b>Полозователь запретил отправлять ему сообщения.</b>'; break; }} |
Отредактировано TLENS (2011.10.06 15:03)
TLENS написал:Тот вариант тоже правильный но там в место if надо использовать elseif дабы предотвратить бессмысленные проверки.
А вообще по всем принципам кодинга, да и по производительности такой вариант будет правильней.
Код:
span style="color: #0000BB"><?phpif (isset($_GET['err'])) { switch($_GET['err']) case 1 : echo '<b>Сообщение должно быть длиннее 5 символов!</b>'; break; case 2 : echo '<b>Такого пользователя не существует!</b><br />'; break; case 3 : echo '<b>Проверочный код введен неверно!</b>'; break; case 4 : echo '<b>Чтобы писать записки, нужно набрать '.$set['posts_pr'].' постов!</b>'; break; case 5 : echo '<b>Запрещено писать пользователям с х-статусом "Не беспокоить"<img src="'.H.'img/online/zaniat.png" alt="" /></b>'; break; case 6 : echo '<b>Вы не можете писать этому пользователю, т.к. находитесь в его черном списке.</b>'; break; case 7 : echo '<b>Этому пользователю писать могут только друзья.</b>'; break; case 8 : echo '<b>Полозователь запретил отправлять ему сообщения.</b>'; break; }} |
спасибо,воспользуюсь,а насчет elseif ты прав,чтоб пустых проверок небыло так нужно писать(( ступил((
начал вставлять,была мелкая синтаксическая ошибка,её убрал,теперь выводит только титле вверху страницы((может я где-то ошибку сделал,даже скорее всего(( в какой строке эта ошибка?вот тот код которые вставлял(
Код:
case add: |
|
if (isset($_GET['err'])) { |
switch($_GET['err']) |
{ |
case 1 : |
echo '<b>Сообщение должно быть длиннее 5 символов!</b><br />'; |
break; |
case 2 : |
echo '<b>Такого пользователя не существует!</b><br />'; |
break; |
case 3 : |
echo '<b>Проверочный код введен неверно!</b>'; |
break; |
case 4 : |
echo '<b>Чтобы писать записки, нужно набрать '.$set['posts_pr'].' постов!</b>'; |
break; |
case 5 : |
echo '<b>Запрещено писать пользователям с х-статусом "Не беспокоить"<img src="'.H.'img/online/zaniat.png" alt="" /></b>'; |
break; |
case 6 : |
echo '<b>Вы не можете писать этому пользователю, т.к. находитесь в его черном списке.</b>'; |
break; |
case 7 : |
echo '<b>Этому пользователю писать могут только друзья.</b>'; |
break; |
case 8 : |
echo '<b>Полозователь запретил отправлять ему сообщения.</b>'; |
break; |
} |
|
if ($ver!='wml')echo '<form action="privat?mod='.$mod.'&act=act&'.SID.'" method="post">'; |
|
$to = check($_GET['to']); |
Отредактировано POFIGISST (2011.10.06 16:04)
Ты что не умеешь php валидаторами пользоватся?
http://wapinet.ru/syntax/
TLENS написал:
Ты что не умеешь php валидаторами пользоватся?
http://wapinet.ru/syntax/
я им и пользовался!!! ща я те скрин сделаю!!!! смотри Дим сам скрин(((
Вложения
скринн.PNG
75kb
{1440x900}
[
загрузок: 976]
Отредактировано POFIGISST (2011.10.06 17:05)
ну так мало ли, у тебя в функциях что. ты же их не валидируешь
Нет фгурной скобы.
Я пропустил и ты с ними напортачил.
POFIGISST написал:
if (isset($_GET['err'])) {
switch($_GET['err'])
{
case 1 :
echo '<b>Сообщение должно быть длиннее 5 символов!</b><br />';
break;
case 2 :
echo '<b>Такого пользователя не существует!</b><br />';
break;
case 3 :
echo '<b>Проверочный код введен неверно!</b>';
break;
case 4 :
echo '<b>Чтобы писать записки, нужно набрать '.$set['posts_pr'].' постов!</b>';
break;
case 5 :
echo '<b>Запрещено писать пользователям с х-статусом "Не беспокоить"<img src="'.H.'img/online/zaniat.png" alt="" /></b>';
break;
case 6 :
echo '<b>Вы не можете писать этому пользователю, т.к. находитесь в его черном списке.</b>';
break;
case 7 :
echo '<b>Этому пользователю писать могут только друзья.</b>';
break;
case 8 :
echo '<b>Полозователь запретил отправлять ему сообщения.</b>';
break;
}
}
if ($ver!='wml')echo '<form action="privat?mod='.$mod.'&act=act&'.SID.'" method="post">';
$to = check($_GET['to']);
Отредактировано TLENS (2011.10.06 19:07)
Gemorroj написал:
ну так мало ли, у тебя в функциях что. ты же их не валидируешь
а как их можно валидировать? и вообще есть какая нить прога,чтоб проверяла на ошибки код?)
Добавлено спустя 3 минуты 18 секунд: TLENS написал:Нет фгурной скобы.
Я пропустил и ты с ними напортачил.
POFIGISST написал:
if (isset($_GET['err'])) {
switch($_GET['err'])
{
case 1 :
echo '<b>Сообщение должно быть длиннее 5 символов!</b><br />';
break;
case 2 :
echo '<b>Такого пользователя не существует!</b><br />';
break;
case 3 :
echo '<b>Проверочный код введен неверно!</b>';
break;
case 4 :
echo '<b>Чтобы писать записки, нужно набрать '.$set['posts_pr'].' постов!</b>';
break;
case 5 :
echo '<b>Запрещено писать пользователям с х-статусом "Не беспокоить"<img src="'.H.'img/online/zaniat.png" alt="" /></b>';
break;
case 6 :
echo '<b>Вы не можете писать этому пользователю, т.к. находитесь в его черном списке.</b>';
break;
case 7 :
echo '<b>Этому пользователю писать могут только друзья.</b>';
break;
case 8 :
echo '<b>Полозователь запретил отправлять ему сообщения.</b>';
break;
}
}
if ($ver!='wml')echo '<form action="privat?mod='.$mod.'&act=act&'.SID.'" method="post">';
$to = check($_GET['to']);
а с этой скобкой вообще "Удаленный сервер или файл не найден" Гг
многие IDE это умеют делать.
Gemorroj написал:
многие IDE это умеют делать.
спасибо,запомню это))
Отредактировано POFIGISST (2011.10.06 23:11)
помогите сделать запрос на проверку существования ида в базе? нужно написать запрос на проверку переменной $user['id'], в таблице group_users в поле user_id во всех полях которые там есть,и если где нибудь переменка $user['id'] равна числу которое в поле user_id,то чтоб скрывало ссылку? как такой запрос сделать можно?
Код:
span style="color: #0000BB"><?php$q = mysql_query("SELECT COUNT(*) FROM `group_users` WHERE ` user_id` = '{$user['id']}'");if (!@mysql_result($q, 0)) { echo 'нет';} |
Отредактировано TLENS (2011.10.06 23:11)
='(
в чем собсно сложность?
Добавлено спустя 57 секунд: COUNT(*) заменить на 1
нам не нужно ничего считать.
и mysql_result заменить на mysql_num_rows
блин,я понимаю что для вас это не сложно,и вообще тут собрались хорошие кодеры(не считая меня,но я и не кодер) для меня синтаксис сложный если писать функции(
блин,это смешно,но я запутался(( не знаю как правильно знак поставить в коде((
вот код
Код:
if(isset($user)){ |
if($user['level']!=9){echo 'А ты что здесь забыл?';}else{ |
$action=htmlspecialchars(trim($_GET['action'])); |
switch ($action){ |
default: |
и вот в этой if($user['level']!=9){echo 'А ты что здесь забыл?'; строке хочу сделать чтоб проверка была не только на левел 9,а хочу сделать чтоб если левел равен 8 или больше чем 8,то чтоб дальше код нормально шел((
Код:
span style="color: #0000BB"><?phpif (isset($user)) { if ($user['level'] < 8) { echo 'А ты что здесь забыл?'; } else { $action=htmlspecialchars(trim($_GET['action'])); switch ($action){ default: |
Gemorroj написал:Код:
span style="color: #0000BB"><?phpif (isset($user)) { if ($user['level'] < 8) { echo 'А ты что здесь забыл?'; } else { $action=htmlspecialchars(trim($_GET['action'])); switch ($action){ default: |
спасиб,а я делал не так((думал что через знак =< делать это((
так я с письмами и не разобрался,поэтому решил их переписать,смысл идет в том,чтоб юзер мог сохранять важные ему письма в архиве,и при чистке чтоб они оставались,решил это сделать так,если юзер сохранил письмо то в базу заносится значение 1,и при чистке чтоб не удаляло письма у которых стоит значение 1,может есть какой нить более удобный и просто способ сделать сохранение писем?
POFIGISST написал:
может есть какой нить более удобный и просто способ сделать сохранение писем?
А ты как думаешь, сможешь придумать лучше?
TLENS написал:POFIGISST написал:
может есть какой нить более удобный и просто способ сделать сохранение писем?
А ты как думаешь, сможешь придумать лучше?
придумать то может и смогу,но воплотить это,х\з,не смогу наверное(
Добавлено спустя 7 минут 14 секунд: ну или можно наверное еще сделать ,создать отдельную таблу для сохраненных и чтоб те письма которые сохраняют,переносились в эту таблицу и потом уже из нее сделать вывод)
Ну блин тебе что трудно почитать мануал?
Я в JS был полным топором. Выучил его основы за три дня. (Далее практика и логика) Кстати он мне более всего нравится. А сейчас читаю мануал по сишарпе очень интересный правда на понятие основ, структурирование и принципов пошло более недели но во всяком случае не пол года как это длится у тебя. Не повторяй моих ошибок (Я наплевал на мануал и учил php методом тыка целых пять лет)
Да но не ленись тестировать! попробуй что лучше тот вариант или тот. Ну не может быть такого что в человека не присутствует логика. Или ты вообще занимаешься херней которая тебе и нах не нужна
я сначала сам пробую сделать,а потом уже на форуме пишу,у тебя опыта намного больше чем у меня,поэтому и спрашиваю совет как лучше сделать(
посмотрите плиз код загрузки личных смайлов(переписан) все хорошо работает,но может что-то подправить нужно в коде или по другому сделать((вот сам код загрузчика)))
Код:
span style="color: #0000BB"><?phprequire'../config.php';$align='left';$title='Анкета';aut();head();who_add(0,'enter');switch($mod) {case smile:if (empty($act)) {echo 'Размер загружаемого смайла не должен привышать 25 кб. 100х100px. Форматы: gif, jpg, jpeg, png<br/>';if ($_GET['err'] == 1) echo '<b style="color: red">Недопустимое расширение файла!</b><br />';if ($_GET['err'] == 2) echo '<b style="color: red">Размер файла не должен превышать 25 кб.</b><br />';if ($_GET['err'] == 3) echo '<b style="color: red">Достигнут лимит загружаемых смайлов!</b><br />';if ($_GET['err'] == 4) echo '<b style="color: red">Неправильное расширение смайла!</b><br />';$count = mysql_fetch_assoc(mysql_query("SELECT `lsmile`,`lsmile2`,`lsmile3` FROM `users` WHERE `id`='$id'"));if (!empty($count['lsmile'])) {$l = 1;}if (!empty($count['lsmile2'])) {$l2 = 1;}if (!empty($count['lsmile3'])) {$l3 = 1;}echo '<u>Личных смайлов '.($l+$l2+$l3).' из 3</u><br/>';echo '<form ENCTYPE="multipart/form-data" action="upload?mod=smile&act=act&'.SID.'" method="post">';echo '<b>Прикрепить смайл:</b><br/>';echo '<INPUT NAME="file" TYPE="file" SIZE="20"><br/><input type="submit" class="ibutton" value="Загрузить"></form><br/>';} else {if (!isset($_FILES['file'])) $err = "<b>Вы не указали файл!</b><br/>";$pictures = array('.gif', '.jpg', '.jpeg', '.png');$ext = strtolower(strrchr($_FILES['file']['name'], '.'));$par = getimagesize($_FILES['file']);if (($par[0] > 100) or ($par[1] > 100)) {header ('Location: upload?mod=smile&err=4&'.SID);exit;}$fnames = $_FILES['file']['name']; //имяif ((preg_match("/.php/i", $fnames)) or (preg_match("/.pl/i", $fnames)) or ($fnames == ".htaccess")) {header ('Location: upload?mod=smile&err=1&'.SID);exit;}if (!empty($user['lsmile']) && !empty($user['lsmile2']) && !empty($user['lsmile3'])) {header ('Location: upload?mod=smile&err=3&'.SID);exit;}if (!in_array($ext, $pictures)) {header ('Location: upload?mod=smile&err=1&'.SID);exit;}if ($_FILES['file']['size'] > (1024 * 25)) {header ('Location: upload?mod=smile&err=2&'.SID);exit;}if (empty($user['lsmile'])) {$foto = "files/lsmiles/smile_".$user['id'].$ext."";} elseif (empty($user['lsmile2'])) {$foto = "files/lsmiles/smile2_".$user['id'].$ext."";} elseif (empty($user['lsmile3'])) {$foto = "files/lsmiles/smile3_".$user['id'].$ext."";}if (empty($user['lsmile']) || empty($user['lsmile2']) || empty($user['lsmile3'])) {@copy($_FILES['file']['tmp_name'], H.$foto);@chmod(H.basename($foto), 0751);}if (empty($user['lsmile'])) {$db->sql_query("Update users set lsmile='".$foto."' where id ='".$user['id']."'");} elseif (empty($user['lsmile2'])) {$db->sql_query("Update users set lsmile2='".$foto."' where id ='".$user['id']."'");} elseif (empty($user['lsmile3'])) {$db->sql_query("Update users set lsmile3='".$foto."' where id ='".$user['id']."'");}header ('Location: profile?mod=lsmile&ok=add&'.SID);exit;}break;case 'photo':if (empty($act)){echo 'Размер загружаемого фото не должен привышать '.$set['size_photo'].' кб. Форматы: gif, jpg, jpeg, png.<br/>';if ($_GET['err']==1)echo '<b>Недопустимое расширение файла!</b><br />';if ($_GET['err']==2)echo '<b>Размер файла не должен превышать '.$set['size_photo'].' кб.</b><br />';echo '<form ENCTYPE="multipart/form-data" action="upload?mod=photo&act=act&'.SID.'" method="post">';echo '<b>Прикрепить фотку:</b><br/>';echo '<INPUT NAME="file" TYPE="file" SIZE="20"><br/><input type="submit" class="ibutton" value="Отправить"></form><br/>';}else{if(!isset($_FILES['file'])) $err = "<b>Вы не указали файл!</b><br/>";$pictures = array('.gif', '.jpg', '.jpeg', '.png');$ext = strtolower(strrchr($_FILES['file']['name'], '.'));$fnames=$_FILES['file']['name']; //имяif ((preg_match("/.php/i", $fnames)) or (preg_match("/.pl/i", $fnames)) or ($fnames == ".htaccess")){header ('Location: upload?mod='.$mod.'&err=1&'.SID);exit;}if(!in_array($ext, $pictures)){header ('Location: upload?mod=photo&err=1&'.SID);exit;}if($_FILES['file']['size'] > (1024 * $set['size_photo'])) {header ('Location: upload?mod=photo&err=2&'.SID);exit;}$foto = "files/photos/photo_".$user['id'].$ext."";unlink (H.$user['photo'].'');@copy($_FILES['file']['tmp_name'], H.$foto);@chmod(H.basename($foto), 0644);@$db->sql_query ("Update users set photo='".$foto."', vote_photo='0' where id ='".$user['id']."'");@$db->sql_query ("Delete from golos where user ='".$user['id']."'");header ('Location: profile?mod=photo&ok=add&'.SID);exit;}break;}echo gb.'<a href="index?mod=smile">Меню смайла</a>'.div;echo gb.'<a href="index">Личный кабинет</a>'.div;echo gb.'<a href="'.H.'enter">Прихожая</a>'.div;foot();?> |
Добавлено спустя 4 минуты 3 секунды: вот это
Код:
echo 'Размер загружаемого смайла не должен привышать 25 кб. 100х100px. Форматы: gif, jpg, jpeg, png<br/>'; |
if ($_GET['err'] == 1) echo '<b style="color: red">Недопустимое расширение файла!</b><br />'; |
if ($_GET['err'] == 2) echo '<b style="color: red">Размер файла не должен превышать 25 кб.</b><br />'; |
if ($_GET['err'] == 3) echo '<b style="color: red">Достигнут лимит загружаемых смайлов!</b><br />'; |
if ($_GET['err'] == 4) echo '<b style="color: red">Неправильное расширение смайла!</b><br />'; |
исправлю,делали уже замечание за такой вывод ошибок(
а есть функция которая вырезает картинки со страниц,например смайлы, чтоб такой
смайл отображался вот так : D если эта функция включена,а если нет,то чтоб норм показывались смайлы?
Ну напиши и будет тебе такая функция.
название хоть такой функции скажи,поищу ман по ней,и буду пробовать сам писать)
Да просто пусть пользователь в браузере показ картинок выключит и все
- - - -
Или просто вырезать, с готовой к выводу страницы, <img /> тег.
Код:
span style="color: #0000BB"><?phpfunction img_cut($html=0) { return preg_replace('/<img[^>]+>/i', '[image]', $html); }?> |
Отредактировано tipsun (2011.10.10 23:11)
tipsun написал:Да просто пусть пользователь в браузере показ картинок выключит и все
- - - -
Или просто вырезать, с готовой к выводу страницы, <img /> тег.
Код:
span style="color: #0000BB"><?phpfunction img_cut($html=0) { return preg_replace('/<img[^>]+>/i', '[image]', $html); }?> |
ну мне нужно чтоб при скрытие картинок показывало их название,а то в чате не понятно какой смайл ставят если их вырезать((
Добавлено спустя 2 минуты 24 секунды: tipsunспасибо,дальше сам уже разберусь))
POFIGISST написал:
а есть функция которая вырезает картинки со страниц...
Как написал так и понял
- - - -
Для смайлов по-другому.
Там у тебя есть функция для вставки смайлов, её выключать и все.
Отредактировано tipsun (2011.10.11 00:12)
tipsunспасиб,разберусь там
)
POFIGISST написал:
название хоть такой функции скажи,поищу ман по ней,и буду пробовать сам писать)
В базу записывай не конвертированные Смайлы тип :) . А при выводе пользователю с базы обработай смайлы если надо, ну и понятно если не надо то не обрабатывай.
Добавлено спустя 4 минуты 1 секунду: Ну или тоже самое как меняешь :) на <img ... .
Конвертируй эту функцию.
Посмотрите пожалуйста код у кого есть время,скажите мои недочеты в нем?
Код:
span style="color: #0000BB"><?phprequire'../config.php';$align='left';$title='Удаление всех писем!';aut();head();who_add(0,'enter');echo '<div class="menu">';levels(9);//защита от ололожек...if (isset($_GET['act'])) { $act = check(intval($_GET['act']));} else { $act = '1';} switch ($act):case '1':echo '<b>Удаление всех писем!</b><br/>';if($user['level']==9) echo '<a href="delet?act=2">Удаляем все письма?</a><br/>';//если да,то переход на страницу подверждения...if($user['level']==9)echo '<a href="/enter">Нет,не удалять письма!</a><br/>';//отказ от удаления...if($user['level']!=9)echo 'Эээ...Верните копирайт сцуки....<br/>';//выводит если ололожка все таки пробрался...break;/** * Подтверждение удаления */ case '2':echo '<b>Вы уверены?</b><br/>';if($user['level']==9) echo '<a href="delet?act=3">Да!!</a><br/>';//подтверждаем...if($user['level']==9)echo '<a href="/enter">Нет!!</a><br/>';//не подтверждаем...break;case '3':/** * Сама функция удаления... */mysql_query("TRUNCATE TABLE `privat`");//запрос в бд на удаление...echo 'Письма успешно удалены!<br/>';if($user['level']==9) echo'<a href="index">В админку</a><br />';break;/** * the end... */default:header("location: delet.php");exit;endswitch;echo gb.'<a href="'.H.'enter">Прихожая</a>'.div;foot();?> |
как по другому сделать я х.з. ,сначала написал этот код на 2 страницы,на одной странице была ссыль на вторую страницу с подтверждением,потом решил так написать,с функцией case ((
Код:
span style="color: #0000BB"><?php$text = preg_replace('/<img[^>]+>/i', '[image]', $text);?> |
Регулярному выражению есть альтернативный синтаксис, покрасивше?
Отредактировано tipsun (2011.10.17 11:11)
tipsun тебе все img теги нужно вырезать?
я бы на твоем месте не парился. норм.
как делать проверку при загрузке на размер файла,например если установлено 75х75 то чтоб если файл больше,то выдавало ошибку,как такую проверку можно сделать?
ты прав Дим,завтыкал совсем,сорри((
Gemorroj написал:
tipsun тебе все img теги нужно вырезать?
я бы на твоем месте не парился. норм.
Ну мне надо просто чтоб ограничить до символа ">" . Я, если не ошибаюсь, видел твой пост с каким-то другим ограничением, чтоб не пропустило символ нужный. Как-то с этими что-ли: |<тег>|
Отредактировано tipsun (2011.10.18 10:10)
блин,как сделать запрос в базу примерно вот такой
Код:
if (isset($_GET['del'])){ |
$db->sql_query("DELETE FROM `privat` WHERE `id` = '".intval($_GET['del'])."' and `to_id` = '$user[id]'"); |
} |
но чтоб вместо удаления,заносилось число 1 в таблицу privat в поле save?((
POFIGISST написал:
блин,как сделать запрос в базу примерно вот такой
UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value
Первый результат с гугла
TLENS написал:POFIGISST написал:
блин,как сделать запрос в базу примерно вот такой
UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value
Первый результат с гугла
а эта SET column1=value, column2=value2,... строка за что отвечает?
UPDATE `privat`
SET `save` = 1
WHERE `id` = '".intval($_GET['del'])."' and `to_id` = '$user[id]'
TLENS написал:
UPDATE `privat`
SET `save` = 1
WHERE `id` = '".intval($_GET['del'])."' and `to_id` = '$user[id]'
да,понял,просто запись не привычная((
POFIGISSTА что именно не привычно?
TLENSну я привык что запросы пишутся примерно так "$db->sql_query("DELETE FROM `privat` WHERE `id` = '".intval($_GET['del'])."' and `to_id` = '$user[id]'");" а у тя как то столбиком,и не знал для чего нужно SET не сталкивался с таким)((
Как правильно/лучше/итд?
1)
Код:
span style="color: #0000BB"><?php$a = 2;if($a != 1) echo $a;?> |
2)
Код:
span style="color: #0000BB"><?php$a = 2;if(1 != $a) echo $a;?> |
Отредактировано tipsun (2011.10.22 10:10)
tipsun написал:Как правильно/лучше/итд?
1)
Код:
span style="color: #0000BB"><?php$a = 2;if($a != 1) echo $a;?> |
2)
Код:
span style="color: #0000BB"><?php$a = 2;if(1 != $a) echo $a;?> |
а если переменная $a будет равна 0,то переменную а выведет))
я бы так сделал))
Код:
$a = 2; |
if($a>=2) echo $a; |
Блин,нашел парс с o5wap.ru,на денвере норм работает,а на хосте вот такую ошибку выдает
Код:
Warning: set_time_limit() has been disabled for security reasons in /home2/d4cc1zrx/public_html/index3.php on line 4 |
ошибка в 4 строке,ток х.з что это за ошибка(( как её можно исправить?
POFIGISST, ты кажется не понял сути моего вопроса
TLENS, спс.
1 != $a предпочтительнее чем
$a != 1, т.к. в случае если забыли
! написать php кинет ошибку. такая страховка от описок.
GemorrojКстате да бывает частенько допустишь где то ошибку а а синтаксис правильный и ищи ее тогда.
есть ли возможность, изменить время последнего редактирования файла/директории?
#338.
Gemor
Гость
2011.10.25 14:02
touch
что это за ошибка ?
Код:
Warning: file_get_contents(http://pron.siza.us/?) [function.file-get-contents]: failed to open stream: Operation now in progress in /home2/d4cc1zrx/public_html/set/index.php on line 21 |
это из за того что хост грабб не тянет? или ошибка в файле?
хз честно говоря, не сталкивался.
дай полный код, попробую у себя запустить.
Gemorroj написал:
хз честно говоря, не сталкивался.
дай полный код, попробую у себя запустить.
Паш,я тебе в личку скину,потому что грабб платный,не могу выкладывать в паблик))
Добавлено спустя 7 минут 14 секунд: Бля,хотя это из-за хоста (( на денвер только что поставил,работает(а на хосте ошибка((
у меня проблема не воспроизвелась, но там определенно есть ошибка в построении http запроса.
попробуй в index.php исправить код вначале на это:
Код:
$user = stream_context_create(array( |
'http' => array( |
'method' => 'GET', |
'header' => array( |
'User-Agent: Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95_8GB/15.0.015; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413', |
'Referer: http://pron.siza.us/' |
) |
) |
)); |
|
$set = file_get_contents('http://pron.siza.us/?' . $_SERVER['QUERY_STRING'], false, $user); |
Gemorroj написал:у меня проблема не воспроизвелась, но там определенно есть ошибка в построении http запроса.
попробуй в index.php исправить код вначале на это:
Код:
$user = stream_context_create(array( |
'http' => array( |
'method' => 'GET', |
'header' => array( |
'User-Agent: Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95_8GB/15.0.015; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413', |
'Referer: http://pron.siza.us/' |
) |
) |
)); |
|
$set = file_get_contents('http://pron.siza.us/?' . $_SERVER['QUERY_STRING'], false, $user); |
Благодарю Паш,код заменил,на более дорогом хосте все работает,без ошибок,а на том на котором я сейчас,ошибка такая((Автор сказал возможную причину этой ошибки "видимо ip забанен на хосте,обратись в поддержку" )) напишу в поддержку,посмотрю,что они ответят,а там уже буду далее решать,что делать))
Заебись,на другой хост валю(( вот что поддержка хоста ответила
"Здравствуйте, ip адрес на котором находится сайт pron.siza.us принадлежит подсети с которой совершалась атака на наш сервер, в текущий момент в бан листе находится вся подсеть. Доступ с нашего сервера к ней невозможен."
ну я в принципе так и думал((
Подскажите,есть ли прога которая массово меняет кодировку в нескольких файлах сразу? Или может как-то можно сделать по другому,у меня есть скрипт,но там во всех страницах кодирока неверная стоит,и на страницах фигню выводит(( а на каждой странице менять кодировку заипусь((
Блин,возникла небольшая проблема,поставил скрипт библиотеки себе,так там при создании категории имя категории если оно русскими буквами написано,то в базу не заноситься,а если английские буквы или просто цифры,то нормик заносит в базу,как можно убрать это,это в базе ошибка ошибка? или в файле который отвечает за данные которые заносятся в базу?
каким кодом можно сделать очистку папок? например написать код в какой нить файл,поставить на этот файл крон на 00.00 например,и чтоб при запуске этого файла,очищалась папка files,чтоб в ней удалялись все папки,какая функция это реализовывает? без бд все идет))
\\\\\\\\\\\\\\\\\\\\\\\\\\\
хотя нах крон,без крона вот так
Код:
lt;? function old($papka,$times){ $old_time = time()-60*$times; $dir = opendir ($papka); while ($file = readdir ($dir)) { if (( $file != ".") && ($file != "..")) $files[]="$papka/$file"; $time[]=filemtime("$papka/$file" ); } closedir ($dir); $count_files = count($files); for($i = 1; $i< $count_files; $i++){ if($time[$i] <= $old_time){ @unlink($files[$i]); } } } ?> |
сделаю)) может есть вариант лучше?)
Отредактировано POFIGISST (2011.11.04 10:10)
Тебе удалит в папке все файлы и все папки?
DarkRiDDeR написал:
Тебе удалит в папке все файлы и все папки?
да,у меня идет папка files в ней подпапки ну типа kartinki и в этих подпапках файлы идут) мне нужно полностью очищать папку files )
Код:
//Функция "Удаления каталога с файлами" |
function delete_dir($dir){ |
$opendir = opendir($dir); |
if(!is_dir($dir) || !$opendir) return FALSE; |
|
while(($file = readdir($opendir)) !== false){ |
if($file == "." xor $file == "..") continue; |
$file = $dir . '/' . $file; |
|
if(is_dir($file)) delete_dir($file); |
else unlink($file); |
} |
closedir($dir); |
|
return rmdir($dir); |
} |
Получше, наверно, будет
Отредактировано DarkRiDDeR (2011.11.04 16:04)
DarkRiDDeRв 4 строке ошибка какая то((
#356.
Warwar50
Гость
2011.11.04 22:10
Привет. Подскажите код чтоб просмотреть всю инфу бравзера даже если юзер с оперы.
А есть такая функция, которая возвращает номер строки скрипта? К примеру эта функция написана на 15 строке скрипта, 15 она и вернёт
В общем вернулся к разработке своей cms системы, и опять работаю над mvc
Нужно определить путь к контроллеру, файл класса контроллера и метод который нам должен выдать скрипт!
В общем пока писал, запутался во всем этом! глянь те ка все нормально?
Код:
span style="color: #0000BB"><?php// константа PATH_CONTROLLERS это папка с контроллерамиclass WorkingWithUrl{ private $_arrDefault = array( 'path' => 'home/', 'class' => 'index', 'method' => 'default' ); function __construct() { if (! empty($_GET['do'])) { /* * Режем url. */ $arrURL = array_filter(explode('/', $_GET['do']), 'trim'); /* * Узнаем колличество эллементов. */ $intURL = count($arrURL); /* * Создаем временное хранилище. */ $i=0; $get = array('str'=>'', 'dir'=>'', 'class'=>'', 'method'=>'method'); /* * Обрабатываем каждый эллемент массива. */ foreach ($arrURL as $key) { /* * Узнаем была ли уже определен путь или нет, если да, то добавляем еще папку. */ $get['str'] = (empty($get['dir']) ? null : $get['dir']) . $key; /* * Определяем тип (папка это или файл)*/ if (is_dir(PATH_CONTROLLERS . $get['str']. '/')) { /* * Если это папка пишем в хранилище путь. */ $get['dir'] = $get['str'] . '/'; } else { /* * Определяем тип (файл это метод). */ if (is_file(PATH_CONTROLLERS . $get['str'] . '.php')) { /* * Если это файл класса, то пишем в хранилище название класса. */ $get['class'] = $arrURL[$i]; /* * Проеряем наличие метода в классе. */ } else { /* * Подключаем файл класса. */ include_once (PATH_CONTROLLERS . $this -> _arrDefault['path'] . $this -> _arrDefault['class'] . '.php'); /* * Проверяем наличие метода в классе. */ if (is_callable(array('Download_' . $get['class'], $key))) { /* * Если это метод то пишем в хранилище название. */ $get['method'] = $key; /* * Останавливаем выполнеие цикла (что бы не обрабатывал оставшиеся эллементы если они есть). */ continue; } else { /* * Если не найдена категория и файл класса, то очищаем хранилище. */ $get = array('str'=>'', 'dir'=>'', 'class'=>'', 'method'=>'method'); } } } ++$i; } $this -> _arrDefault['path'] = empty($get['dir']) ? $this -> _arrDefault['path'] : $get['dir']; $this -> _arrDefault['class'] = empty($get['class']) ? $this -> _arrDefault['class'] : $get['class']; $this -> _arrDefault['method'] = empty($get['method']) ? $this -> _arrDefault['method'] : $get['method']; } }} |
Я буду лучше голоден, но между креслом и рулем и на дороге.
м, я тоже путаюсь тут. добавь к коду комментарии.
$get['str'] - это что?
Gemorroj написал:
м, я тоже путаюсь тут. добавь к коду комментарии.
$get['str'] - это что?
это для склеивания эллементов массива в строку составляющую путь
типа: из массива
array(dir1, dir2, dir3) в строку
di1/dir2/dir3
Я буду лучше голоден, но между креслом и рулем и на дороге.
ну вроде норм. хотя я не понимаю, почему меня постоянно что-то путает)
Gemorroj написал:
ну вроде норм. хотя я не понимаю, почему меня постоянно что-то путает)
не знаю что там тебя пугает, но мне категорически не нравится такое колличество действий за один проход цикла...
Я буду лучше голоден, но между креслом и рулем и на дороге.
как можно замутить время онлайна? чтоб показывало сколько времени человек провел на сайте? Например Онлайн: 3дн.4ч.56м. как такое можно замутить?
Пиши в базу время когда последний раз был юзер и еще online_timer
И при следуещем посещении вычесли промежуток сколько небыло его, если меньше 5 мин. Тогда онлайн и до плюсовуй в online_timer эту разницу в секундах
TLENSв базу заносит когда юзер был последний раз вот так "2011-11-07 06:42:12" это нужно все в секунды перекидывать?
Благодарю,за одно и английский выучу
Из любопытства пытаюсь написать
задумку
POFIGISST-а
Код:
span style="color: #0000BB"><?php//Для юзера обычно запускается.session_start();//Обычно для счетчика онЛайн бывает уже задан.//$offTimeLimit = 10; //seconds$offTimeLimit = 240; //seconds = 4 minutes$offTime = $_SERVER['REQUEST_TIME'] - $_SESSION['lastActivity'];if ( $offTimeLimit > $offTime )$_SESSION['onLineTime'] += $offTime;$_SESSION['lastActivity'] = $_SERVER['REQUEST_TIME'];//echo $_SESSION['onLineTime'];?> |
Вместо того, чтоб заносить в
Код:
span style="color: #0000BB"><?php $_SESSION['onLineTime'] += $offTime; ?> |
, получается надо в базу.
А в базе я попытался сделать поле
Код:
`lifeTime` DATETIME '0000-00-00 00:00:00' |
и при помощи
Код:
`lifeTime`=DATE_ADD(`lifeTime`, INTERVAL '15' SECOND) |
обновить, но сохраняет NULL (Проверил через SELECT как в примерах "там").
Значит `lifeTime` надо держать в INT/BIGINT?
Отредактировано tipsun (2011.11.07 14:02)
Gemorroj, понятно, спс.
Оптимизация немножко
если с базой дело будет.
Для чатов думаю как раз актуально.
Код:
span style="color: #0000BB"><?php //Для юзера обычно запускается.session_start();//$_SESSION = array();//интервал между обновлениями времени, жизни на сайте юзера, в базе.$updateInterval = 15; //sec//Обычно для счетчика онЛайн бывает уже задан.$offTimeLimit = 240; //seconds = 4 minutes$offTime = $_SERVER['REQUEST_TIME'] - $_SESSION['lastActivity']; if ($updateInterval < $offTime) { if ($offTimeLimit > $offTime) { $_SESSION['onLineTime'] += $offTime; //или запрос в базу на обновление... } $_SESSION['lastActivity'] = $_SERVER['REQUEST_TIME']; }//echo (int) $_SESSION['onLineTime'];?> |
Отредактировано tipsun (2011.11.07 20:08)
вот такая проблема у меня возникла,в топе сайтов у меня есть функция автомодерация сайтов,то есть проверяет есть ли код счетчика на сайте,и если есть,то активирует сайт,а если нету,то не активирует(( но эта хрень не работает,ошибка какая-то в ней,посмотрите пожалуйста код этой функции
Код:
lt;? case 'auto_moderacia': if($id) { $platform_isset = mysql_query("SELECT * FROM `".$prefix."sait` WHERE `id` = '".$id."' AND `id_user` = '".$user_data['id']."' LIMIT 1"); $platform_isset_c = mysql_num_rows($platform_isset); if($platform_isset_c > 0) { $us = mysql_fetch_array($platform_isset); if($us['status'] == 0) { $sait = file_get_contents('http://'.$us['url']); $preg = preg_quote('#<a href="http://'.$set['home'].'/go.php?id='.$id.'"><img src="http://'.$set['home'].'/image.php?id='.$id.'" alt="'.$set['top_name'].'"/></a>#iU'); if(preg_match($preg,$sait)) { $up = mysql_query("UPDATE `".$prefix."sait` SET `status` = '1' WHERE `id` = '".$id."'"); if($up) { echo '<div class="main">'; echo 'Сайт успешно активирован<br/>'; echo '</div>'; } else { echo '<div class="error">'; echo 'Сайт не активирован<br/>'; echo '</div>'; } } } else { echo '<div class="error">'; echo 'Сайт уже был ранее активирован<br/>'; echo '</div>'; } } } break; } |
Надо регулярку нормальную написать. У меня глаза слипаются.
TLENS написал:
Надо регулярку нормальную написать. У меня глаза слипаются.
спасибо Дим,в аське все объяснил,я не прошу чтоб кто то за меня написал,хочу сам исправить,прошу только подсказать где ошибка((
Ну видимо если есть ошибка то она в той самой регулярке.
TLENS написал:
Ну видимо если есть ошибка то она в той самой регулярке.
пока отключу автомодерацию,днем еще подумаю на этой темкой,а то ща тоже уже засыпаю))
а тебе там вообще регулярка не нужна. проверяй соответствие через
stripos
Код:
case 'auto_moderacia': |
$findme = 'mastop.ru'; |
$platform_isset = mysql_query("SELECT * FROM `".$prefix."sait` WHERE `id` = '".$id."' AND `id_user` = '".$user_data['id']."' LIMIT 1"); |
$us = mysql_fetch_array($platform_isset); |
$mystring1 = file_get_contents('http://'.$us['url']); |
|
$pos1 = stripos($mystring1, $findme); |
if ($pos1 === false) { |
echo "Не нашел"; |
} |
|
|
if ($pos1 !== false) { |
echo "Нашел "; |
} |
написал вот так для проверки,пока без базы,чтоб посмотреть какое сообщение выведет, и показало только что ошибка
Добавлено спустя 5 минут 23 секунды: Warning: Unexpected character in input: ''' (ASCII=39) state=1 такую ошибку вообще первый раз вижу:0
С кодировкой что-то наверно
DarkRiDDeR написал:
С кодировкой что-то наверно
не знаю,но все равно код не верный,сейчас переделывать его буду,внимательнее вникну в него))
Да ты в file_get_contents адрес введи вручную, если ошибки нет, то точно с MySQL связано
Добавлено спустя 2 минуты 16 секунд: POFIGISST написал:
if ($pos1 === false) {
echo "Не нашел";
}
if ($pos1 !== false) {
echo "Нашел ";
}
не проще ли
Код:
if ($pos1 === false) { |
echo "Не нашел"; |
} else{ |
echo "Нашел "; |
} |
DarkRiDDeRввел,все равно ошибка,код наверн не правильный,я по примеру смотрел,так и написал как в примере,но где то ошибку допустил))
Текс загружаемой странице возможно в другой кодировке
DarkRiDDeR написал:
Текс загружаемой странице возможно в другой кодировке
так там берет код загружаемой страницу,его берет нормально,вчера проверял,и кодировка в той странице нормальная,я ищу только адрес сайта,а он на английском,думаю что не с кодировкой проблема)
Неожиданный символ на входе:'''(ASCII = 39 - это перевод
сделал пока вот так
Код:
case 'auto_moderacia': |
|
$findme = 'mastop.ru'; |
$mystring1 = file_get_contents('http://masteram.us'); |
$pos1 = stripos($mystring1, $findme); |
if ($pos1 === false) { |
echo "Не нашел"; |
} else{ |
echo "Нашел "; |
|
} |
если в переменную $mystring1 засунуть адрес мастоп.ру ,то пишет что найдена строка,а я вот для проверки всунул туда мастерам.ус и вывело сообщение,что строка не найдена)
смотри что в $mystring1
возможно, отдается не то, что ты ожидаешь.
Gemorroj написал:
смотри что в $mystring1
возможно, отдается не то, что ты ожидаешь.
если ставлю вот так echo $mystring1; то выводит нормально ту страницу которая в переменной,а если вот так echo highlight_string($mystring1); то выводит исходный код страницы) если вот так echo $mystring1; то оно тоже должно выводить полностью исходный код? или оно все нормально выводит?
Highlight я тебе дал просто для тестов он переобразовует всякие кавычки ампресанты и прочее в в тип > & и т.д. Блин ну не леничь почитай мануал про функцию. Неужели это так трудно?
вот так
Код:
case 'auto_moderacia': |
$platform_isset = mysql_query("SELECT * FROM `".$prefix."sait` WHERE `id` = '".$id."' AND `id_user` = '".$user_data['id']."' LIMIT 1"); |
$us = mysql_fetch_array($platform_isset); |
$findme = 'mastop.ru'; |
$mystring1=file_get_contents('http://'.$us['url']); |
$pos1 = stripos($mystring1, $findme); |
if ($pos1 === false) { |
echo "Не нашел"; |
} else{ |
echo "Нашел "; |
|
} |
проверка работает,теперь осталось только сделать запрос в базу,чтоб если находило код счетчика,то модерировало)
а там же был какой то запрос
TLENS написал:
а там же был какой то запрос
все,уже все сделал,всунул запрос,и теперь работает,вот код
Код:
case 'auto_moderacia': |
$platform_isset = mysql_query("SELECT * FROM `".$prefix."sait` WHERE `id` = '".$id."' AND `id_user` = '".$user_data['id']."' LIMIT 1"); |
$us = mysql_fetch_array($platform_isset); |
$findme = 'mastop.ru'; |
$mystring1=file_get_contents('http://'.$us['url']); |
$pos1 = stripos($mystring1, $findme); |
if ($pos1 === false) { |
echo "Не нашел"; |
} else{ |
|
$up = mysql_query("UPDATE `".$prefix."sait` SET `status` = '1' WHERE `id` = '".$id."'"); |
echo "Нашел "; |
|
} |
Добавлено спустя 7 минут 42 секунды: вместо stripos,поставил stristr ,чтоб чувствителен к регистру небыл)
POFIGISST написал:
вместо stripos,поставил stristr ,чтоб чувствителен к регистру небыл)
stripos и так не чувствителен к регистру. к регистру чувствителен strpos
POFIGISST,
Описание stristr()
Возвращает подстроку строки haystack начиная с первого вхождения needle до конца строки.
Эта функция не учитывает регистр.
Если подстрока needle не найдена, stristr() возвращает FALSE.
Если needle не является строкой, он приводится к целому и трактуется как код символа.
Код:
span style="color: #0000BB"><?php$email = 'USER@EXAMPLE.com';$domain = stristr($email, 'e');echo $domain; // выводит ER@EXAMPLE.com?> |
Ты уверен, что выбрал правильную функцию?
Отредактировано tipsun (2011.11.08 17:05)
где вы маны читаете??? читайте на оф сайте!
Я на php.su иногда читаю. Английский плохо знаю. И переводчик не по "человечески" переводит.
Добавлено спустя 3 минуты 2 секунды: Ох еба, в натуре не сравнить. На офф все возможности описаны.
Бля,чет я ща сам не пойму где вычитал про регистр((
Добавлено спустя 1 минуту 30 секунд: tipsun написал:
Я на php.su иногда читаю. Английский плохо знаю. И переводчик не по "человечески" переводит.
Добавлено спустя 3 минуты 2 секунды:
Ох еба, в натуре не сравнить. На офф все возможности описаны.
в адресе заменяй en на ru ,примерно вот так
http://www.php.net/manual/
ru/function.stristr.php и будет счастье на русском)
Отредактировано POFIGISST (2011.11.08 18:06)
Немного почистил потому что это не аська.
Для Не учитывания регистра используй в регулярке модификатор i
POFIGISST написал:Бля,чет я ща сам не пойму где вычитал про регистр((
Добавлено спустя 1 минуту 30 секунд: tipsun написал:
Я на php.su иногда читаю. Английский плохо знаю. И переводчик не по "человечески" переводит.
Добавлено спустя 3 минуты 2 секунды:
Ох еба, в натуре не сравнить. На офф все возможности описаны.
в адресе заменяй en на ru ,примерно вот так
http://www.php.net/manual/
ru/function.stristr.php и будет счастье на русском)
Неа. Вот почему:
PHP.NET-EN:
http://www.php.net/manual/en/function.stristr.phpPHP.NET-RU:
http://www.php.net/manual/ru/function.stristr.php| |
PHP.SU:
www.php.su/functions/?stristrСравни полноту информации.
Отредактировано tipsun (2011.11.08 19:07)
tipsunну если я английский не знаю,то хоть там 50 текстов на одной странице будет,я всеравно нифига там не пойму
Если указать в классе
Код:
span style="color: #0000BB"><?php class myClass { public static $myVar; } ?> |
То это только чтоб она была доступна так
self::$myVar в классе?
Она не сохраняется при перезагрузке страницы же?
Отредактировано tipsun (2011.11.08 20:08)
tipsun написал:Если указать в классе
Код:
span style="color: #0000BB"><?php class myClass { public static $myVar; } ?> |
То это только чтоб она была доступна так
self::$myVar в классе?
Она не сохраняется при перезагрузке страницы же?
В ASP сохраняется, а в php нет
Для чего делают так, указывают типы при создании функции?
Код:
span style="color: #0000BB"><?phpfunction test(integer $var1, bool $var2) { /**/ }?> |
Можно ссылку, а то не могу найти.
Это взято с низкоуровневого программирования.
Можно просто типо var i стековая или object obj для ссылочной
Но если введешь func..(integer var)
то она не сможет принять например string или другой тип и компилятор даст ошибку.
TLENS, ну вроде более-менее понятно. Спс.
Отредактировано tipsun (2011.11.08 22:10)
Блин я не сплю другие сутки хочу назад день на ночь вернуть.
С сакрытыми глазапи пишу там немного ошибок исправил.
На счет php http://php.su/learnphp/datatypes/
указание типов в php 5.4 введут. нужно это чтобы точно знать какого типа данные у нас имеются.
в php ничто не сохраняется между перезагрузкой страницы. сессии - это по сути тоже "костыль" чтоли в плане сохранения состояния)
GemorrojПаш а ты как с сишарпом разобрался?
забил) нет задач в принципе для кодинга на десктопе, поэтому незачем. ввязался в несколько оупенсорсных проектов на javascript, поэтому времени еще и на изучение C# мало. да и состояние не то сейчас.
...
Добавлено спустя 35 секунд: охуенно, хули)
А что на счет состояние? я не понимаю
ай, бред) у меня такое бывает. в блогах читай
А я кстати наивный начал C# учить я то думал и другие языки так легко будут даватся.
И пошел за ассемблером и теперь понимаю зачем был придуман Си))
мм, ну современный ассемблер тоже крут. Просто обучение идет с основ, а на практике потом проще. Я в основном с FASM знакомился, там куча уже готовых процедур написано. остается только использовать. экзамплы, по крайней мере, внушают.
А у меня все понимаю но как говорится сказать не могу.
При практике уже строк на 500 - 1000 начинаю крупно терятся.
Еще толкового отладчика не найду да и вычисление это, новое все, не успевает усвоится в голове.
Добавлено спустя 1 минуту 37 секунд: На masm32 начинаю.
Добавлено спустя 7 минут 48 секунд: В общем позже обязательно изучу его. Хорошая штука. Меня больше интересуют микро контролеры я с 8 лет в проводах рос.
скажите,а вот этот код
Код:
span style="color: #0000BB"><?phpsession_start();$width=75;$height=20;$im=imagecreatetruecolor($width, $height);imagefill($im, 0, 0, imagecolorallocate($im, 255, 255, 255));$str=NULL;for($i=0; $i<5; $i++) { $y=rand(2, 5); $x+=rand(8, 14); $str.=rand(1, 9); imagestring($im, rand(1, 10), $x, $y, $str[$i], imagecolorallocate($im, rand(90, 150), rand(90, 150), rand(90, 150))); }$_SESSION['kod'] = $str;header('Content-type: image/png');imagepng($im);imagedestroy($im);?> |
отвечает за то,как на счетчиках расположены цифры хитов и хостов?
он за полную отрисовку картинки отвечает.
блин,а мне над найти где только за цифры отвечает,хочу сделать чтоб хосты и хиты шли в столбик,а не горизонтально(
Так напиши, не вижу в этом уж такой большой проблемы