Gemorroj » 2011.06.19 11:50

Задаем вопросы по PHP.
Список хороших php библиотек: https://github.com/ziadoz/awesome-php.

POFIGISST » 2011.06.19 23:57

как из этого

Код:

1
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; ?>

кода,вырезать рекламу которая в верху?(((

TLENS » 2011.06.20 00:00

Щас

POFIGISST » 2011.06.20 00:02

Пример этого граба))

TLENS » 2011.06.20 00:09

Код:

1
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;
POFIGISST » 2011.06.20 00:18

не убрало оно её(((

TLENS » 2011.06.20 01:29

Там моя ссылка стоит переправь на свою

POFIGISST » 2011.06.20 01:30

точно))незаметил сначала , спасибо:))))

TLENS » 2011.06.20 01:33

Можешь оставить ;)

POFIGISST » 2011.06.20 01:34

TLENS написал:

Можешь оставить ;)

на твой сайт без проблем ;)

POFIGISST » 2011.06.20 10:23

подскажите как у меня в топе http://mastop.ru можно сделать чтобы когда переходиш по счетчику с сайта,то попадало на ту страницу где находиться сайт,а не на главную?

Gemorroj » 2011.06.20 10:27

код может дашь?

POFIGISST » 2011.06.20 10:29

вот весь скрипт)))

Gemorroj » 2011.06.20 10:40

прикрепи файл к посту и никогда не давай таких ссылок.

POFIGISST » 2011.06.20 10:42

Gemorroj написал:

прикрепи файл к посту и никогда не давай таких ссылок.

сейчас прикреплю,а почему нельзя такие ссылки давать?))
Добавлено спустя   9 минут  6 секунд:
я немогу скачать,скорости нету((вообщем смотрите скрин(((только не смейтесь(((

Gemorroj » 2011.06.20 10:57

потому что потом эти ссылки будут мертвые.

POFIGISST » 2011.06.20 11:22

не подумал об этом(( ночью прикреплю файл,так как сейчас скорости нету((

TLENS » 2011.06.21 00:40

У тебя по суте дела отключены глобальные переменные.
Замени файл go.php на этот.

Код:

1
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 секунд:
А хотя не должно но попробуй

POFIGISST » 2011.06.21 02:22

TLENS спасибо больше)))все отлично работает)))я твой должник))

Gemorroj » 2011.06.21 10:16

скрипт требует включенных глобальных переменных?? O_o

TLENS » 2011.06.21 16:00

Gemorroj
Я полностью переписал функцию.
И оно у него заработало. А вообще да требует
Добавлено спустя   4 минуты  31 секунду:
И вообще что автор данного скрипта хотел от этого куска кода
Посмотрев на содержания таблицы

Код:

1
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.

LooK » 2011.06.21 20:44

В таблице тем что лучше хранить ид юзера или сразу его ник?

Gemorroj » 2011.06.21 20:58

и то, и другое))))

LooK » 2011.06.21 21:49

Gemorroj написал:

и то, и другое))))

А зачем тогда ид юзера?

Gemorroj » 2011.06.21 21:56

чтобы делать выборки по нему. и не факт что ник должен быть всегда уникальным.

LooK » 2011.06.21 22:16

Gemorroj написал:

чтобы делать выборки по нему. и не факт что ник должен быть всегда уникальным.

Ага, ок.
А первый пост темы в таблице тем текстовым полем или пост_ид хранить?

Gemorroj » 2011.06.21 22:58

ниче не понял

LooK » 2011.06.22 14:57

Посмотрите файл аплоада (на код не обращайте внимание, файл древний), он почему-то примерно больше 8-ми метров не грузит файл, а точнее страница грузится, но в конце ничего не возвращается и файла нигде нет. Максимальны размер на серве 32М

Код:

1
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 'Все супер'; }
Gemorroj » 2011.06.22 15:34

Код:

1
span style="color: #0000BB"><?phpini_set('php_value upload_max_filesize', '32M');ini_set('php_value post_max_size', '32M');
LooK » 2011.06.22 15:36

Gemorroj написал:

Код:

1
span style="color: #0000BB"><?phpini_set('php_value upload_max_filesize', '32M');ini_set('php_value post_max_size', '32M');

Блин точно, про post_max_size забыл) Спс

LooK » 2011.06.22 19:06

Код:

1
2
3
4
5
6
7
8
9
$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);

В чем ошибка? Не отсылает письмо

TLENS » 2011.06.22 20:44

LooK[

Код:

1
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]);
LooK » 2011.06.22 21:24

TLENS, все равно не приходит

TLENS » 2011.06.22 23:42

Значит проблемма на серверной стороне.
Функция iconv есть на сервере?
Добавлено спустя   3 минуты  19 секунд:
Кстати ip многих говнохостов забанены маилом

TLENS » 2011.06.23 00:02

Попробуй отправить на gmail

LooK » 2011.06.23 10:34

Отправляю с локалки, и на gmail и на mail пробовал. iconv есть

Gemorroj » 2011.06.23 11:12

LooK, так может проблема в локалке? какой сервер стоит? не денвер случаем? там заглушка на email стоит, email складываются в папку /tmp/!sendmail/

LooK » 2011.06.23 12:36

Gemorroj написал:

LooK, так может проблема в локалке? какой сервер стоит? не денвер случаем? там заглушка на email стоит, email складываются в папку /tmp/!sendmail/

Спасибо, незнал об этом) Проверил, действительно все письма там.

LooK » 2011.06.23 22:48

Код:

1
rename('../files/'.$scan,'../files/'.$filename.'.mp3')

Не пашет почему-то, пробовал даже не с переменной, а любое имя - результат тот же.
Переменные точно содержат нужные значения.

Gemorroj » 2011.06.23 23:16

бля, что значит не пашет??? текст ошибки??

LooK » 2011.06.23 23:22

Gemorroj написал:

бля, что значит не пашет??? текст ошибки??

false возвращает

TLENS » 2011.06.23 23:30

Доступ на запись есть?

LooK » 2011.06.23 23:33

TLENS написал:

Доступ на запись есть?

денвер

TLENS » 2011.06.23 23:38

/usr/local/apache/logs/error.log
Посмотри че там

Gemorroj » 2011.06.23 23:54

LooK,

Код:

1
print_r(error_get_last());
LooK » 2011.06.24 09:33

Gemorroj написал:

LooK,

Код:

1
print_r(error_get_last());

Спс, помогло

POFIGISST » 2011.06.24 18:39

как сделать в сеа,чтобы вместо первьюшек для тем,выводило скрины которые я закинул,то есть,первью делает не у всех тем,только у половины,поэтому  я убрал вывод его вообще,и хочу чтобы оно показывало вместо первью те скрины которые я закинул,только в уменьшенном размере))там где отмечено на рисунке должен быть скрин))

Gemorroj » 2011.06.24 18:42

там же есть стандартная возможность скрины отображать, так и с темами.

POFIGISST » 2011.06.24 18:56

ну их отображает,но это уже когда заходишь в инфо о файле,а я хочу чтоб сразу на странице где выводятся темы были показаны скрины ))вот типа как на скрине,только на скрине это картинки,и с темами хочу так же сделать))

Gemorroj » 2011.06.24 18:59

ну не помню) найди кусок кода который картинки отображает и замени на ручные скриншоты)

POFIGISST » 2011.06.24 19:03

а там где темы у меня вообще картинок нету ))только ссылки "скачать" "скачать" и вот хочу чтобы над этими ссылками показывались скрины тем в размере например 80х60 ))
Добавлено спустя   3 минуты  49 секунд:

Код:

1
2
3
4
5
6
7
8
9
// Скиншот
$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';

так выводит скрин в инфо о файле,а как в каталог всунуть этот код чтобы выводило скрин,я хз((

TLENS » 2011.06.26 05:25

Каким образом передать в конструктор класса переменные.
Например
$object = new My_class($var1, $var2);
Как их получить в в конструкторе?

Gemorroj » 2011.06.26 08:42

эм, так же как и в обычном методе.
public function __construct ($var1, $var2)
{

}

TLENS » 2011.06.26 09:04

спс. А то не знал с какой стороны подойти

TLENS » 2011.06.26 19:46

Проблема через крон не работает запись со MySQL
Логи в файлы записывает. Скрипт работает.
Но если через крон то записи не появляются.
Неужели надо ставить удаленный доступ?
Или проблемма в другом?
Да кстати свои логи стоят туда пишу mysql_error()
То пусто chdir Настроен правильно

Gemorroj » 2011.06.26 19:46

ну что за ошибка-то в mysql_error()

TLENS » 2011.06.26 19:56

В том то и дело что не пишет ничего.
А По каком адресу в debian лежат ошибки базы?
Мож туда заглянуть

Gemorroj » 2011.06.26 19:56

там где mysql стоит)

TLENS » 2011.06.26 20:05

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

Наивный

Gemorroj » 2011.06.26 20:09

ну такое почти на любом сайте можно в логах найти

TLENS » 2011.06.26 21:19

Хех сделал тестову таблицу все норм.
Ладно разберемся а пока месть поставлю на wget

TLENS » 2011.06.27 09:44

Есть какая то готовая функция на определение адреса сайта в сообщении?
Даже без http в начале когда то писал но она ужасная.

Gemorroj » 2011.06.27 10:48

эм... может не надо таких функций? на форуме работают bb-коды, ссылки можно писать через них, а автоопределение специально отключено.

TLENS » 2011.06.27 10:52

Да нет это я себе хочу в чат.
Просто на сайте когда то сделал чатик. То там ссылки за ссылками пошли
Добавлено спустя   2 минуты  56 секунд:
Вот кусок кода писал еще в том году на него страшно смотреть.

Код:

1
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.' ');
ByVlad » 2011.06.27 16:17

Вопрос по MySQL, очень надеюсь на вашу помощь.
Нужно составить запрос, который будет вытаскивать данные из таблицы сообщений, количества комментариев, и если количество
комментариев будет больше нуля - вытаскивать комментарии этих сообщений,
а так же вытягивать из таблицы пользователей логин и аватар создателя сообщения и создателя комментария
С дальнейшей возможностью вывода их в цикле, пример реализации - стена вконтакте

Структура БД:

Таблица сообщений - mems
Поля:
id
id_user
text
likes
time

Таблица комментариев - mems_comments
id
id_mems
id_user
text
time

TLENS » 2011.06.27 16:27

$q = mysql_query("SELECT * FROM `mems_comments` WHERE id_mems = 'Ид сообщения'");
$n = mysql_num_rows($q);
if ($n) {
    echo 'выводим';
}

ByVlad » 2011.06.27 16:48

TLENS, чувак, ты гений, но это не то, нужно сделать всё одним запросом к бд.

TLENS » 2011.06.27 16:49

=)

Gemorroj » 2011.06.27 16:50

Код:

1
2
3
4
5
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`;

единственное что .* нужно заменить на конкретные поля и задать им алиасы, а то они будут друг друга перекрывать.

ByVlad » 2011.06.27 17:23

Gemorroj, как всегда спасибо =).

ByVlad » 2011.06.27 18:03

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 » 2011.06.27 18:07

Код:

1
GROUP BY `mems`.`id`
ByVlad » 2011.06.27 18:13

Gemorroj, ага, оно, спасибо.

POFIGISST » 2011.06.27 20:42

Блин,чет в топе не изменяет пр и тц  у сайтов если показатели ростут,например если при реге сайта было пр 0,то если оно у сайта повышается,то картинка с данными не изменяется(( в каком файле это нужно прописать?)))скрипт полностью прикрепляю к посту)))

Gemorroj » 2011.06.27 21:12

POFIGISST, ага щас все бросятся тебе топ переписывать.

POFIGISST » 2011.06.27 21:53

я не просил переписывать,я просто спросил в каком файле "в каком файле это нужно прописать?)))" :/

ByVlad » 2011.06.27 23:58

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`

ByVlad » 2011.06.28 04:35

Gemorroj, ^^ вопрос больше неактуален)
Теперь новый вопрос, в цикличном выводе через {foreach} в smarty
в каждом выводимом объекте идет {php}{/php} в него нужно передать {$row.id}

как это сделать?

Gemorroj » 2011.06.28 11:22

ByVlad, начнем с того, что от {php}{/php} нужно бы отказаться. Иначе попахивает смешиванием логики и представления.

ByVlad » 2011.06.28 12:04

Gemorroj, смотри, мне нужно сделать вывод записей с комментариями как вконтакте, у меня других вариантов нет.
Запрос тот я поправил, но там получалось что если комментария нет, то и записи из таблицы mems в массиве тоже нет.

Gemorroj » 2011.06.28 12:07

начнем с того, что нужно выложить свой код, еба. иначе что- то обсуждать бесполезно.
давай поправленный SQL запрос и smarty шаблон.

ByVlad » 2011.06.28 12:28

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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

Код:

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&amp;id={$row.id}#{$row.id}">прокомментировать</a></span> - <span class="nr"><a href="/{$query.login}?act=add_me&amp;id={$row.id}#{$row.id}">добавить себе</a></span> -<span class="nr"><a href="/{$query.login}?act=like&amp;id={$row.id}#{$row.id}">мне нравится </a></span> </td> </tr></table><div class="br_1"></div>{foreachelse}Нифига нету.{/foreach}
Gemorroj » 2011.06.28 12:35

{php}{/php} не вижу.
верни LEFT JOIN

ByVlad » 2011.06.28 12:51

Gemorroj, я думал сделать в {php}{/php} цикл вывода с комментариями, так бы получалось ~5 запросов в цикле, при кешировании норм, у меня получилось только с обычным JOIN.

ByVlad » 2011.06.28 13:56

Gemorroj, с {php}{/php}

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{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.07.01 15:38

^^ Все вопросы не актуальны :D
Нужно достать данные из таблицы mems где `id_user` равняется записям из таблицы follows, что-то такое написал, но естесна оно не работает)

Код:

1
SELECT `mems`.* FROM `mems` WHERE `mems`.`id_user` IN(SELECT `follows`.* FROM `follows` WHERE `follows`.`id_user` = 1) ORDER BY `mems`.`time` DESC
Gemorroj » 2011.07.01 15:41

Код:

1
2
3
4
SELECT `mems`.*
FROM `mems`
INNER JOIN `follows` ON `follows`.`id_user` = `mems`.`id`
ORDER BY `mems`.`id` DESC
ByVlad » 2011.07.04 15:22

Нужно узнать id_user из трех таблиц mems, mems_comments, mems_likes
и отсортировать их по количеству записей для определенного id_user
как-то так.

Вапамнет » 2011.07.04 17:04

Привет. Как зделать чтоб в песне mр3 при скачеванию менялся альбом, название, исполнитель и т.д на адрес сайта ? Пример ссылки такой  site.ru/load.php?file=(адрес песни. например)wapinet.ru/music.mp3. Какой код нужна вписать в файл load.php чтоб изминить альбом, название и т.д?

POFIGISST » 2011.07.04 17:47

Вапамнет написал:

Привет. Как зделать чтоб в песне mр3 при скачеванию менялся альбом, название, исполнитель и т.д на адрес сайта ? Пример ссылки такой  site.ru/load.php?file=(адрес песни. например)wapinet.ru/music.mp3. Какой код нужна вписать в файл load.php чтоб изминить альбом, название и т.д?

если у тебя сеа,то там есть возможность к всем мп3 устанавливать эти данные))

POFIGISST » 2011.07.09 01:29

Помогите с мафией,у всех  она норм работает,а у меня там пустая страница((   тест акк что это может быть?

TLENS » 2011.07.10 09:12

\Но у меня не пустая

Gemorroj » 2011.07.10 10:34

POFIGISST, достаточно просто проверить html код валидатором, чтобы понять что из себя представляет скрипт ;)

POFIGISST » 2011.07.10 19:18

TLENS написал:

\Но у меня не пустая

все говорят что у них все нормик,а у меня пусто(( вот скрин прикрепляю))
Добавлено спустя   2 минуты  42 секунды:

Gemorroj написал:

POFIGISST, достаточно просто проверить html код валидатором, чтобы понять что из себя представляет скрипт ;)

Это я согласен Паш))но от паблика не стоит ожидать что выложат хороший скрипт без ошибок и багов на халяву))Поэтому спасибо кодерам которые выкладывают хоть какие то скрипты в паблик(и тебе тоже спасибо) )))

TLENS » 2011.07.10 23:44

Сейс зайду по ftp к тебе гляну че там.\
Надеюсь пароль не поменял
Добавлено спустя   2 минуты  22 секунды:
А у тебя этот сайт на другом сервере. Покажи файл maf.php

Gemorroj » 2011.07.11 10:30

конкретно на той странице 500 ошибка. проверь синтаксис php кода.

DarkRiDDeR » 2011.07.13 08:37

Помогите с запросом. Есть таблица
id | name | categor
Все данные в разброс, нужно выводить из определённой категории и повторяющиеся имена только один раз
пример:
2 | иван | mebel
3 | иван | paleno
4 | саня | mebel
5 | иван | mebel

Нужно только
2 | иван | mebel
4 | саня | mebel

Плохо в SQL шарю, простое что-нибудь запросто, а потяжелее не мого, помогите, если не троудно.

Gemorroj » 2011.07.13 10:02

GROUP BY name

DarkRiDDeR » 2011.07.13 14:00

О, точно! И так просто. А то я уже в подзапросы полез. Спасибо!

Anwap » 2011.07.13 22:13

Gemorroj, А как сделать чтоб в таблице постом выше еще и считало,например сколько mebel,сколько poleno?

Gemorroj » 2011.07.13 23:08

Anwap думаю, тут может помочь GROUP_CONCAT

TLENS » 2011.07.14 00:32

Как оптимизировать данный запрос?
А то выполняется пол минуты.

Код:

1
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 секунду:
В смысле можно ли его сделать одним запросом?

Nu3oN » 2011.07.14 01:00

Как комментируются константы в классах?
например свойства так:

Код:

1
span style="color: #0000BB"><?php /** * Переменная с настройками. * @var array */ private static $_arr;?>

как быть с константами?

Gemorroj » 2011.07.14 10:56

TLENS, что в массиве $arr?
Nu3oN,
http://pear.php.net/manual/ru/standards.naming.php

Имена констант всегда должны быть в верхнем регистре с подчеркиваниями для разделения слов. В качестве префикса в именах констант должно использоваться имя пакета/класса, в котором они используются. Например, все константы, которые используются в пакете DB::, начинаются с "DB_".

пример (почему-то с синтаксической ошибкой php, но суть уловить можно) http://pear.php.net/manual/ru/standards.sample.php

Код:

1
span style="color: #0000BB"><?php/** * Methods return this if they succeed */define('NET_SAMPLE_OK', 1);
TLENS » 2011.07.14 13:56

Gemorroj написал:

что в массиве $arr?

Код:

1
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 19:10

Паша а с каких айпишников идет спам?
Они разные?

Gemorroj » 2011.07.14 20:23

я не смотрел IP, особого труда удалить сообщение и забанить пользователя мне пока не составляет.

TLENS » 2011.07.14 20:24

Gemorroj =D
Добавлено спустя   4 минуты  46 секунд:
А как на счет оптимизации, с ним можно что то сделать?

TLENS » 2011.07.15 03:15

Как насчет такого интелекта для вырезания ссылок?

Код:

1
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);
Gemorroj » 2011.07.15 10:35

хз) пробуй)

TLENS » 2011.07.15 16:39

Да попробуваль разные варианты да и множество текстов обработал вроде норм лишнего не хавает

TLENS » 2011.07.15 23:21

xavier053, Как ты уже задолбал

Akdmeh » 2011.07.16 00:05

Tlens, удалил)

TLENS » 2011.07.17 08:05

Есть возможность в php выполнить несколько операций одновременно?

Gemorroj » 2011.07.17 09:59

TLENS, нативно нет. можно извращаться всякими exec'ами.

TLENS » 2011.07.17 10:01

А можешь помочь в этом вопросе? А то я с exec практически не работал. А точнее вообще не работал.

Gemorroj » 2011.07.17 10:59

http://www.google.com/search?client=ope … el=suggest

ByVlad » 2011.07.19 03:13

Вообщем нужно составить запрос сортировки пользователей по активности, что-то типа этого только нормальный:
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 10:23

Вообщем я наверное неверно объяснил, есть 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
и ещё ненужные поля.

Gemorroj » 2011.07.19 10:29

Код:

1
2
3
4
5
6
7
8
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
ByVlad » 2011.07.19 11:30

Gemorroj, ты гений, как всегда спасибо)
Добавлено спустя   6 минут  3 секунды:
Gemorroj, а ещё отдельную статистику реально сделать тоесть AS `cnt_mems`, пробовал, не получилось...

POFIGISST » 2011.07.26 23:05

Поставил зц мобивап себе,а там ошибка вот такая "Warning: Invalid argument supplied for foreach() in /home2/d4cc1zrx/public_html/index.php on line 62" и я как обычно х\з как её исправить,выкладываю код страницы

Код:

1
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" /> &nbsp; &nbsp; &nbsp;' . $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] . '&amp;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'> &raquo; <a href=\"?c=$table&amp;id=$list[id]&amp;sort=$sort&amp;p=$p&amp;step=$step&amp;page=$page&amp;set\">Настройки</a> : <a href='search.php?c=$table&amp;search'>Поиск</a><br /> &raquo; Самые: <a href='top.php?c=$table&amp;id=$id'>скачиваемые</a> : <a href='new.php?c=$table&amp;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&amp;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&amp;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&amp;id=$list[id]'>подробности</a></td></tr><tr><td class='img' width='$prev_w'><img src='image.php?c=$table&amp;id=$list[id]&amp;W=$prev_w&amp;H=$prev_h' alt='скачать " . $file_name . "'/> </td><td class='info'><a class='info' href='file.php?c=$table&amp;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&amp;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 . '&amp;id=' . $list['id'] . '&amp;act=d&amp;W=' . $d_w . '&amp;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&amp;id=$list[id]'>подробности</a></td></tr><tr><td class='img' width='$prev_w'><img src='ffmpeg.php?c=" . $table . "&amp;id=" . $list['id'] . "&amp;W=" . $prev_w . "&amp;H=" . $prev_h . "&amp;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&amp;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&amp;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&amp;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&amp;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';?>

валидатор показал что нет ошибок((

TLENS » 2011.07.26 23:18

POFIGISST написал:

валидатор показал что нет ошибок((

тут не в синтаксисе проблема.
Пустая переменная $arr_temp
Добавлено спустя   1 минуту  6 секунд:
т.е. $arr_temp = glob('temp/*');
не вернул нифига.
сейчас дам исправления

POFIGISST » 2011.07.26 23:21

а что в ней должно находиться? или она вообще не должна существовать?))

TLENS » 2011.07.26 23:22

Код:

1
span style="color: #0000BB"><?php $arr_temp = glob('temp/*'); $i = 0; foreach ($arr_temp as $value) { @unlink($value); $i++; if ($i > 50) { break; } }

замени

Код:

1
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; } } }
POFIGISST » 2011.07.26 23:23

спасибо Дим)))

TLENS » 2011.07.26 23:27

А хотя можно было просто вставить собаку перед foreach для заглушки эта ошибка не страшная просто нет файлов в папке temp
Добавлено спустя   8 минут  56 секунд:

POFIGISST написал:

а что в ней должно находиться

Глупый вопрос.
заходишь например на php.su кликаешь по ссылке функции по алфавиту и ищешь функцю glob, и смотриш что она должна вернуть

TLENS » 2011.08.03 21:34

Странно почему в ОПП переменная description не работает.

Код:

1
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; } }

результат

Код:

1
2
3
4
object(Themes)#2 (4) {
["description"]=>
string(0) ""
}

["description"]=>string(0) "" вот почему?
В то время как

Код:

1
lt;?class Test { public $description = 1;}$test = new Test;var_dump($test);

Все норм.

Gemorroj » 2011.08.03 22:03

здесь какой-то маразм, а не ООП.
начнем с того, что вот так "global $_SET;" никогда писать нельзя.
и результат - как ты его получил? может ты сам же description и обнулил.

TLENS » 2011.08.03 22:09

Не понял на счет global, Нужно было сразу в конструкторе принять нужные параметры с set/
Кстати да этот кла вовсе не клас просто совокупность функций. Писал его когда только начинал учить ООП.
Сейчас то уже понял для чего надо ООП.
Но все же я публике тоже ввел в переменную данные то нет их.

TLENS » 2011.08.03 22:26

Ты был прав додумался пробить поиском description когда то тестил класс и стоит строчка $Themes->description = '';
Почему я о ней забыл. спс. уберу ту срань с форума. Надо бы и с сервера ее убрать.

DarkRiDDeR » 2011.08.05 16:08

Народ как сделать в Mysql сортировку по русским буквам? С английским всё норм, а с русским проблы. Кодировка UTF-8

Gemorroj » 2011.08.05 17:37

DarkRiDDeR, подозреваю, что нихрена не utf-8. Потому как при корректной работе с кодировками, никаких проблем не возникает.

DarkRiDDeR » 2011.08.06 06:20

Да при создании таблицы задал DEFAULT CHARSET utf8, всю запись вёл тоже с utf-8. Выводится всё норм, а сортировка что-то никак.

Gemorroj » 2011.08.06 09:55

соединение с бд должно быть еще настроено на работу с utf-8

DarkRiDDeR » 2011.08.06 11:30

Кажись понял. Я не настраивал, что utf, и mysql при записи считал, что это latin1(по умолчанию), а записывалось utf. Поэтому при выводе всё норм, но при сортироке, mysql сортирует utf, как lаtin. Но как теперь от этого избавиться: данные, которые уже записаны, нужны?

Gemorroj » 2011.08.06 11:40

SET NAMES utf8

DarkRiDDeR » 2011.08.06 12:45

Нет, это уже пробовал. Выходит: MySQL перекодирует, что в UTF, из latin1 в UTF. И получается воопще муть.

Gemorroj » 2011.08.06 22:19

DarkRiDDeR, твои проблемы) перводи бд в UTF-8

DarkRiDDeR » 2011.08.07 05:53

Решил сделать так: сниму дамп в lаtin1 и запихну его, как utf8. Кстати, есть скрипт, который дамп снимает? Рhрmуаdmin не подходит.

DarkRiDDeR » 2011.08.07 09:53

Фу-у... Рушил проблему. Хороший скрипт Sypex Dumper v.2.0.6 B (дампы делает). В нём снял дамп в latin1, а потом запихнул, как UTF8. Всё!!! Работает!!!

Gemorroj » 2011.08.07 10:01

почему phpmyadmin не подходит? лучшее что есть на php для работы с mysql.

DarkRiDDeR » 2011.08.07 10:07

Sypex Dumper v.2.0.6 в 4 раза быстрее, если верить разработчику. phpmyadmin на хосте стоит, я сначала через него хотел дамп снять, но там только он в UTF8 даёт. И опять выходит: что хранится в UTF, перекодировается из latin в utf, как-то так. Главное проблему решил :)

Gemorroj » 2011.08.07 11:03

ну какая разница, отдаст оно тебе страницу, за 0.4 или 0.1 сек? возможностей-то у phpmyadmin не в 4, а в 1000 раз больше.

DarkRiDDeR » 2011.08.07 11:13

Я не говорю, что он хуже, просто у него кракобязи на дампе были

POFIGISST » 2011.08.11 00:23

помогите сделать приват в чате только с 50 постов,идет вот такая

Код:

1
2
3
4
echo "<select name=\"prvt\">";
echo "<option value=\"0\">Всем</option>";
echo "<option value=\"1\">Приватно</option>";
echo "</select><br/>";

кнопка переключатель,хочу чтоб из базы users['posts'] брало сколько у человека постов,и если меньше 50 постов,то срабатывала функция if else ,то есть,если постов 50 или больше,то в кнопке появляется "Приватно" а если же постов нету,то "Приватно" просто исчезает,и можно говорить только "всем" вот как это сделать?((

TLENS » 2011.08.11 00:32

POFIGISST очень просто.

Код:

1
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 { // не разрешаем}
POFIGISST » 2011.08.11 00:36

спасиб Дим,а "А также чтобы не было дырки вставь такое же возле приема поста." это где прием поста идет?((

TLENS » 2011.08.11 00:42

а я *** дай файл на который ссылается форма

POFIGISST » 2011.08.11 00:51

вот вся страница,теперь оно определяет сколько постов у того юзера которому я пишу,и если у него нету 50 постов,то я не могу ему в приват ответить,а он мне может если у меня больше 50 постов(


Код:

1
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.'&amp;act=add&amp;nk='.$nk.'&amp;'.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.'&amp;act=add&amp;nk='.$nk.'&amp;'.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&amp;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&amp;nk=$usid&amp;mod=temus\">Все темы пользователя на форуме</a><br/>";echo "<a href=\"forum/?$ses&amp;nk=$usid&amp;mod=postus\">Все сообщения пользователя на форуме</a><br/>";*/echo gb.'<a href="room?rm='.$rm.'">В чат </a>'.div;foot();?>
TLENS » 2011.08.11 01:02

Ты уверен что такой столбец существует "posts"?
Что в столбце qposts?

POFIGISST » 2011.08.11 01:07

в столбце gposts пусто,а в столбце posts посты записаны, идет таблица users столбец posts  в ней))

TLENS » 2011.08.11 01:09

Ты не тот файл мне дал. дай тот куда отправляются данные

POFIGISST » 2011.08.11 01:15

Код:

1
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();?>

вот файл комнат,в него данные которые юзер пишет отправляются))

TLENS » 2011.08.11 01:22

И это не он коточь там поидее реврайт стоит. дай мне файл на который ссылается tell и что в config.php?

POFIGISST » 2011.08.11 01:33

Вот файл телл,он ссылается на переменную rm

Код:

1
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.'&amp;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.'&amp;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 секунд:
в конфиг вродь ток подключение к базе идет,и паро мелких настроек)) ну вот его тоже выкладываю))

Код:

1
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";?>
TLENS » 2011.08.11 01:37

Корочь давай архив с чатом а то мы так будем месяц искать

POFIGISST » 2011.08.11 01:38

А что если просто так

Код:

1
2
3
4
5
6
7
8
echo '<select name=\"prvt\">
<option value=\"0\">Всем</option>';
if($user['posts']>'50')
{
echo '<option value=\"1\">Приватно</option>';
}
 
echo '</select><br/>';

прписать,ну только ошибку в этом коде исправить((
Добавлено спустя   1 минуту  18 секунд:
В Этой теме он ))

POFIGISST » 2011.08.13 21:35

подскажите как сделать при нажатии на ссылку занос число в базу? например ссылка "Слить" нажимаешь на нее и в базу в определенное поле записывается значение "1" ,как такое сделать?)

tipsun » 2011.08.14 05:46

Подскажите, делает ли что-то с кодировкой функция strtr() и strtolower(), т.к. у меня глюки с кодировкой начинались и на хосте.

Gemorroj » 2011.08.14 09:57

да. эти функции некорректно работают с мультибайтовыми кодировками.
используй mbstring.

tipsun » 2011.08.14 12:37

Мой мозг никак не высрет функцию антимата.
Можно простым str_ireplace(); то, что есть в архиве, но будет проходить м-а.т

Gemorroj » 2011.08.14 14:03

tipsun, мат всегда будет проходить. Я бы вообще не заморачивался такими глупостями.

POFIGISST » 2011.08.16 04:06

подскажите как всунуть таблу из базы в переменную,идет табла foto_add,и там поле adres,что типа такого должно быть $zzz = foto_add['adres'];,только это не правильно(

TLENS » 2011.08.16 04:20

Код:

1
span style="color: #0000BB"><?php$q = mysql_query("SELECT ...");$foto_add = mysql_fetch_array($q);echo $foto_add['adres'];
POFIGISST » 2011.08.16 04:23

TLENS написал:

Код:

1
span style="color: #0000BB"><?php$q = mysql_query("SELECT ...");$foto_add = mysql_fetch_array($q);echo $foto_add['adres'];

Спасибо большое Дим))

POFIGISST » 2011.08.16 04:54

как можно  3 переменных прикрепить? примерно вот так

Код:

1
echo '<img src="http://'.$sit.''.$foto_add['adres'].''.jpg"><br>';

тут 2 переменных,и незнаю как их скрепить в одной строке((

и еще вопрос,какая у меня вот тут

Код:

1
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>'; ?>

ошибка?((

TLENS » 2011.08.16 04:57

Код:

1
span style="color: #0000BB"><?php$a1 = 1;$a2 = 2;$a3 = 3;echo '[' . $a1 . $a2 . $a3 .']';

[123]
Добавлено спустя   1 минуту  12 секунд:
но можно и таким образом как это делал ты $a1 . '' . $a2

POFIGISST » 2011.08.16 05:12

ну вот у мя такой говнокод вышел

Код:

1
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>';?>
TLENS » 2011.08.16 05:14

SELECT ... замени на нормальный запрос
Добавлено спустя   1 минуту  10 секунд:
и $a2 это массив уверен у тебя пишет array

POFIGISST » 2011.08.16 05:17

$q = mysql_query("SELECT * FROM  foto_add");

на такой заменить?))прост с базами у мя ваще беда((
Добавлено спустя   1 минуту  16 секунд:
ты прав насчет массива,пишет вот так "<img src ="http://[test4.ruArray].jpg"><br>" (((

TLENS » 2011.08.16 05:22

бля я как тебе написал? $a2['adres']
вставь var_dump($a2);
Добавлено спустя   1 минуту  1 секунду:
лан я спать

POFIGISST » 2011.08.16 05:25

массив уже убрал,теперь так

Код:

1
<img src ="http://[test4.ru/files/album/album_2_3].jpg"><br>

если убрать [ скобочки,то картинка норм будет появляться))

TLENS » 2011.08.16 05:26

ну так в чем проблема?

POFIGISST » 2011.08.16 05:26

TLENS написал:

бля я как тебе написал? $a2['adres']
вставь var_dump($a2);
Добавлено спустя   1 минуту  1 секунду:
лан я спать

приятных тебе))

вот такой код

Код:

1
echo '<img src ="http://' . $sit . $foto_add['adres'] .'.jpg"><br>';

все норм выводит))спасибо еще раз))
Добавлено спустя   1 минуту  20 секунд:

TLENS написал:

ну так в чем проблема?

ну так я же думал,что если уберу их,то ошибка синтаксиса будет((

TLENS » 2011.08.16 05:29

новый вызов mysql_fetch_array покажет следующий столбец. ну вообщем спрашивай если что не понятно. да и не забывай читать инфу о функциях

POFIGISST » 2011.08.16 05:31

TLENS написал:

новый вызов mysql_fetch_array покажет следующий столбец. ну вообщем спрашивай если что не понятно. да и не забывай читать инфу о функциях

а если мне нужен именно не следующий столбец,а 5 или 10 например?

Gemorroj » 2011.08.16 10:24

не столбец, а строку.
у тега img атрибут alt обязательный.

TLENS » 2011.08.16 10:32

Gemorroj написал:

не столбец, а строку.
у тега img атрибут alt обязательный.

а ну да

POFIGISST » 2011.08.16 22:03

а с альтом это вот так

Код:

1
echo '<img src ="http://' . $sit . $foto_add['adres'] .'.jpg"><alt="фото"/><br/>';

?)

tipsun » 2011.08.16 22:11

http://htmlbook.ru

TLENS » 2011.08.16 22:12

POFIGISST написал:

а с альтом это вот так

Код:

1
echo '<img src ="http://' . $sit . $foto_add['adres'] .'.jpg"><alt="фото"/><br/>';

?)

ГГ

Код:

1
echo '<img src ="http://' . $sit . $foto_add['adres'] .'.jpg alt="фото" /><br/>';
POFIGISST » 2011.08.16 22:16

Подскажите)))вот у мя идет такой код

Код:

1
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&amp;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&amp;path='.$downdir_array[$i].'&amp;'.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&amp;path=$path&amp;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 "&lt;&lt;пред.";}else{echo "<a href=\"index?list=$lis1&amp;mod=".$mod."&amp;path=$path\">&lt;&lt;пред. </a>";}if ($lis == $i){echo "| след.&gt;&gt;<br/>";}else{echo "| <a href=\"index?list=$lis&amp;mod=".$mod."&amp;path=$path\">след.&gt;&gt;</a><br/>";}if ($ver!='wml') echo "<form method=\"POST\" action=\"index?mod=".$mod."&amp;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."&amp;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.'&amp;act=add&amp;&amp;path='.$path.'&amp;gift='.$gift.'&amp;'.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.'&amp;act=add&amp;&amp;path='.$path.'&amp;gift='.$gift.'&amp;'.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 секунды:

tipsun написал:

http://htmlbook.ru

я как раз там и смотрел синтаксис его)))
Добавлено спустя   3 минуты :

TLENS написал:

POFIGISST написал:

а с альтом это вот так

Код:

1
echo '<img src ="http://' . $sit . $foto_add['adres'] .'.jpg"><alt="фото"/><br/>';

?)

ГГ

Код:

1
echo '<img src ="http://' . $sit . $foto_add['adres'] .'.jpg alt="фото" /><br/>';

спасибо))вопрос не по теме ,а как ты сделал такой шрифт,которым у тя подпись,ну это "Мое творчество.
the-best-xxx.ru
podsmotri.org
И еще пару покамест не стоящих внимания."

TLENS » 2011.08.16 22:41

Не понял вопроса. [ size=8][/size ]

POFIGISST » 2011.08.16 22:44

TLENS написал:

Не понял вопроса.

какого из всех?а то я много задал((сорри((

tipsun » 2011.08.16 23:51

Вроде так

Код:

1
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;}?>
POFIGISST » 2011.08.17 00:17

Офигеть :O  работает ,спасибо,пассы и так в мд5 в базе храняться  =D

Gemorroj » 2011.08.17 11:10

check(intval($us))
wtf?

POFIGISST » 2011.08.20 00:19

что это за ошибка при заливке базы?

Gemorroj » 2011.08.20 08:56

ну, там же написано. записываешь данные в колонку, которой не существует.

Nu3oN » 2011.08.23 01:34

Голова уже лопается... необходимо при создании объекта класса, передавать неопределенное колличество аргументов!
Например:

Код:

1
span style="color: #0000BB"><?phpfunction getClass($name, $args=array()){ $a = new $name(/* Сюда надо как то вставить аргументы из массива $args */); return $a;}

потом

Код:

1
span style="color: #0000BB"><?php$a = getClass('class_one', array(1, 2, 3, 4));$b = getClass('class_two', array('a', 'b', 'c'));

Как это можно реализовать? __autoload даже не предлагать гг

Пробовал еще так:

Код:

1
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" }

это хорошо если аргументы не указаны в конструкторе! а если указаны...
Должно быть как минимум два, и я введу эти два аргумента, а мне будет выдавать ошибку, и скрипт будет спокойно работать дальше!

Nu3oN » 2011.08.23 02:36

Все! разобрался!
Мне интересно почему так получается, если в функции создать класс, то выдаст ошибку, если же в этой же функции подключить файл (через include / require) то все нормально?

Gemorroj » 2011.08.23 19:51

не понял.. как ты создаешь класс? через eval чтоли? и как проблему с неопределенным числом аргументов решил?

TLENS » 2011.08.23 20:18

Nu3oN
Возможно проблема из за не глобальных переменных

Nu3oN » 2011.08.23 22:16

Gemorroj написал:

не понял.. как ты создаешь класс? через eval чтоли? и как проблему с неопределенным числом аргументов решил?

Код:

1
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 секунду:
Можно еще так:

Код:

1
span style="color: #0000BB"><?php$reflection = new ReflectionClass('NameClass');$object = $reflection -> newInctanceArgs(array(/* аргументы */));?>

Но не у всех есть такая библа =)

TLENS » 2011.08.23 22:41

Как решить проблему?
Когда файл отдается php скриптом (fread) встречается проблема пока отдается файл то не загружает остальные страницы пока полностью не отдастся файл.

Gemorroj » 2011.08.23 22:57

Nu3oN, я тоже переодически сталкиваюсь с такой проблемой с аргументами, пока нормальных решений не знаю. что eval, что Reflection - говно..
Добавлено спустя   1 минуту  20 секунд:
TLENS, подробнее код. по-моему, это уже обсуждали, возможно, загружен канал

Nu3oN » 2011.08.23 23:47

Gemorroj написал:

Nu3oN, я тоже переодически сталкиваюсь с такой проблемой с аргументами, пока нормальных решений не знаю. что eval, что Reflection - говно..

Лучших вариантов на ближайшее время не вижу (= точнее вообще никаких не наблюдаю гг

Nu3oN » 2011.08.25 01:02

В общем очередной раз переписываю свою cms, и вот решил изменить полностью структуру MVC...
В прошлый раз я писал все иначе, все делилось просто: "/папка/контроллер/переменные" без права на выбор!
Теперь решил все сделать как должно быть! и мне необходимо из URL получить путь к контроллеру, класс контроллера и выводимый метод, с учетом того-что папок может быть очень много! решил это реализовать так:

Код:

1
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'];?>

Насколько это гуманно?

Gemorroj » 2011.08.25 11:30

ну да, 2 вариант - маппинг. т.е. разработчик сам прописывает в диспетчере все возможные запросы, и в бутстрапе просто ищутся соответствия с заранее определенными правилами.

tipsun » 2011.08.28 06:18

Это короче надо искать другие варианты соединения?

Код:

1
2
3
4
5
Внимание:
curl_setopt_array(): CURLOPT_FOLLOWLOCATION
не может быть активирована, когда safe_mode включен
или open_basedir установлен в
/usr/home/tipsun/htdocs/cinema/index.php
tipsun » 2011.08.28 22:29

Хотя можно и другим способом эту переадресацию поймать: get_headers('url', 1);.
Да и вообще file_get_contents(); обойтись. Думал как получше замаскироваться, чтоб граб долго работал.
- - - -
Эта переадресация 1 раз встечается (в месяц: /2011-08/).

Gemorroj » 2011.09.01 11:31

tipsun, скорее всего там не совсем корректно переадресация сделана. в соответствии с протоколом HTTP 1.1, путь всегда должен быть абсолютным. т.е. не /index.php, а http://wapinet.ru/index.php
curl работает только со 2 вариантом. в 90% случаев, проблема именно в этом.

tipsun » 2011.09.01 13:46

Спс.
Я там смотрел, полный адрес идет, ну во всяком случае в Chrome в загловках. (этот Chrome не поймешь, он сам разметку исправляет, лишние теги убирает, добавляет итп)

Gemorroj » 2011.09.01 13:54

смотри в фаербаге или драгонфлае

tipsun » 2011.09.01 15:41

Ок, спс.
Я там по-другому сделал. Переадресация встречается 1 раз.
Эту переадресацию ловлю при помощи get_headers().
Далее цикл по находжению ссылок, в котором попутно идет запись нужной инфы в базу.
Подключаюсь при помощи cURL.
Что плохо, более подробная инфа лежит в ссылке (как бы подробнее), и надо получается каждый раз на ссылку заходить за более подробной инфой. Но зато 1 раз.
Можно после сканирования сделать, я думаю.
Это еще предстоит написать.

Ну короче вот сие бот-недоразумение...

Код:

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}&rarr;/', $html, $match)) { scanerBot($match[1]); } else { exit('Отсканировано '.$n.' страниц!'); } }//////////$url = 'http://m.kinopoisk.ru/premier/';$url = get_headers($url, 1);$n = 0;scanerBot($url['Location']);//////////?>

Можно и свою дату ставить. Год-Месяц и подключиться...
Ну чем для каждого такую работу выполнять, лучше наверно все у себя сохранить.

Gemorroj » 2011.09.02 13:56

baseName - исправь на basename, php хоть и регистронезависим в названиях функций, но есть посылки для изменения такого поведения к более жесткому наименованию функций, т.е. регистрозависимому.
а так норм. для таких скриптов - главное чтобы они просто выполняли свою задачу.

tipsun » 2011.09.02 18:31

=0 неужели, наконец норм, Ура! :)

DarkRiDDeR » 2011.09.03 16:36

Можно ли хранить конфиденциальные данные в сессиях?

Gemorroj » 2011.09.03 16:38

да

TLENS » 2011.09.08 18:45

В чем дело при отдаче файла отдается нормально до 99.9% и когда уже в браузере остается 0 сек. идет задержка где то пол минуты. И потом только пишет загружено. Вот код отдачи файлов.

Код:

1
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();}
Игорь482 » 2011.09.08 19:46

Подскажите пожалуйста, сайт стоит на сервере но после обновления ПО Текст: функция toGDImage
выдает ошибку /ffmpeg.so:
undefined symbol:
img_convert...
Зарание спасибо

Gemorroj » 2011.09.08 20:07

TLENS, это антивирус скорее всего) посмотри загрузку проца что жрет ресурсы.
Добавлено спустя    38 секунд:
Игорь482, код приведи плз.

TLENS » 2011.09.08 21:14

Gemorroj написал:

это антивирус скорее всего) посмотри загрузку проца что жрет ресурсы.

Антивирь даже отключил тоже самое, да и на процессах ничего заметного не происходит загрузчик жрет.
Но вот выполнил copy на денвере то он без задержки скопировал.
Я запутался. Если даже проблема в юзер-агенте то почему на других сайтах норм а с моего задержка пробовал оперу и хром.
Может проблема в скрипте?

TLENS » 2011.09.09 12:45

Что то с загрузчиком. Пробовал с мобильного 300 кб качает и все. сейчас буду раздуплять

Gemorroj » 2011.09.09 13:25

ну, я не вижу проблем в скрипте..(

TLENS » 2011.09.09 13:27

Изза чего может быть 300 кб?

Gemorroj » 2011.09.09 13:37

возможно, дело в Content-Encoding. Удаленный сервер его передает, а ты нет.

TLENS » 2011.09.09 13:47

Поставил то же самое. Сейчас напишу код похож и буду ему давать заголовки прослежу как он отвечает

TLENS » 2011.09.09 22:22

Паша ответь мне плис что это такое, Какие есть предположения?

Код:

1
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

Это слишком!
---------------------
С другими хостами например с твого норм только с одним сайтом такая трабла.
Предположение бан по маске.
Так как с других серверов норм.
Но почему файлы дает фиг его знает.

Gemorroj » 2011.09.09 22:36

я чето не догоняю.
$fp = fopen('info.txt', 'a'); // открыли только для записи
while (!feof($this->fp)) { // тут проверка на конец файла, но модификатор "a" как раз помещает указатель на конец файла, так что внутрь while мы не должны попасть

TLENS » 2011.09.09 22:37

Ты не понял Есть $fp а есть $this->fp который открыт выше
в $this->fp открыт вайл со стороннего хоста.

Gemorroj » 2011.09.09 22:38

а епт)
дай весь код. запущу на своей фряхе.

TLENS » 2011.09.09 22:40

Я его запускал на других работает как надо. скорее ip

Код:

1
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 секунды:
Ну что там?

Gemorroj » 2011.09.09 22:57

последние строчки:

1024 - 1,5020370483398E-5
1024 - 1,5020370483398E-5
348 - 60,271856069565

а дальше пидарасня какая-то. такое ощущение, что сам файл пишется. щас код повнимательнее посмотрю.

TLENS » 2011.09.09 22:59

А та не парся то я решил глянуть что там 83 строка
Добавлено спустя   6 минут  41 секунду:
Я конечно люблю загадки но не до такой степени.
Выполнил

Код:

1
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
Все таки проблема в коде.
Паша вся надежда на тебя. Сейчас попробую отправляемые заголовки перевести в нижний регистр. Но мало верится что поможет я уже не знаю что делать.

TLENS » 2011.09.09 23:15

Подожди дак у тебя тоже вис, это статы с твоего сервера?
1024 - 1,5020370483398E-5
1024 - 1,5020370483398E-5
348 - 60,271856069565

Gemorroj » 2011.09.09 23:16

да.
смотрю в чем дело.

Gemorroj » 2011.09.09 23:45

=))
вобщем так)
Добавлено спустя    20 секунд:

Код:

1
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();
TLENS » 2011.09.09 23:45

Слушаю

Gemorroj » 2011.09.09 23:47

Конкретно проблема в 60 задержке - в заголовке Connection: Keep-Alive
Там еще была ошибка в работе с feof

TLENS » 2011.09.09 23:50

Я твой должник. Я до сих пор толком не понял для чего Keep-Alive сейчас почитаю, А что на счет EOF?

Gemorroj » 2011.09.09 23:56

ну там получалось что 1 раз считывал лишнюю строчку.
ну там еще и сзаголовками была проблема, они же в php типа как ACCEPT_CHARSET, а передавать нужно Accept-Charsert. Как минимум _ заменить на - надо.

TLENS » 2011.09.10 00:02

А блин куда я смотрел. Но тоже кстати собирался рыть в get_accept_headers ().
Моя бабушка всегда мне говорила если долго мучится что нибудь получится.
Меня очень запутало то что с Твоего сайта не было проблем.
Спасибо огромное еще раз!

Gemorroj » 2011.09.10 01:01

вапинет отдает такое: Keep-Alive: timeout=5, max=100
т.е. задержка 5 сек, а не 60 сек, как на сасисе.

POFIGISST » 2011.09.26 20:26

Помогите плиз написать функцию,которая будет блокировать смайлы в чате в одном посте,вернее чтоб лимит был,например чтоб в одном посте показывало только 2 смайла,а остальные чтоб не выводило,а то есть умники которые в одном посте ставят по 20 смайлов,и страниц х.з. сколько грузиться,к посту прикрепляю файл отвечающий за это(( сам пробовал,но нифига не вышло,только ошибок кучу сделал((

TLENS » 2011.09.26 20:34

Это ты писал скрипт?

POFIGISST » 2011.09.26 20:37

TLENS написал:

Это ты писал скрипт?

нет,файл был написан Шахтером,а мод личных смайлов на заказ писали((
Добавлено спустя   8 минут  41 секунду:
примерно таким

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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 » 2011.09.26 20:53

Сейчас напишу дополнение.
Ток скажи честно сколько заплатил за него.

POFIGISST » 2011.09.26 20:56

TLENS написал:

Сейчас напишу дополнение.
Ток скажи честно сколько заплатил за него.

честно я не платил за него,писал тот чел что и тотал написал,ну код тотала ты видел,мы с ним договорились,что я привожу к нему на сайт 10 человек,а он мне за это пишет этот мод,без денег у нас был договор=)

TLENS » 2011.09.26 21:43

Код:

1
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/\?\.\~&amp;_=/%-:#]*)~', 'url_replace', $text);$text = preg_replace_callback('~\\[imgs=(.+?)\\](.+?)\\[/imgs\\]|((www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&amp;_=/%-:#]*)~', 'img_replace', $text);return $text;}?>

Код ужасный. Даж я такого в детстве не писал. Думал подправить потом плюнул
Добавлено спустя    57 секунд:
вверху настройка количества

POFIGISST » 2011.09.26 21:46

TLENS
с этим кодом весь чат не работает,просто белая страница(((

TLENS » 2011.09.26 21:48

Включи показ ошибок

POFIGISST » 2011.09.26 21:52

не показывает((или я не правильно включаю,хотя вот error_reporting(-1); должно выводить ошибки((
Добавлено спустя   2 минуты  17 секунд:
error_reporting (E_ALL); и так включить пытался((нифига(((

TLENS » 2011.09.26 21:56

Попробуй поставить в самом начале ведь этот инклюдится куда то
error_reporting(E_ALL);
ini_set("display_errors", 1);
Добавлено спустя   1 минуту  2 секунды:
В общем код дал рабочий. Ничего в нем не менял кроме одной функции она работает разбирайся сам. Включай мозги

Gemorroj » 2011.09.26 22:01

замени <? на
<?php

POFIGISST » 2011.09.26 22:07

TLENS
спасибо Дим,это с самим файлом хуйня какая-то,хотя раньше норм вродь работал((
Добавлено спустя   2 минуты  12 секунд:

Gemorroj написал:

замени <? на
<?php

спасиб Паш,забываю это исправлять когда редачу файлы((

POFIGISST » 2011.09.26 22:25

а если вот так

Код:

1
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/\?\.\~&amp;_=/%-:#]*)~', 'url_replace', $text);$text = preg_replace_callback('~\\[imgs=(.+?)\\](.+?)\\[/imgs\\]|((www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&amp;_=/%-:#]*)~', 'img_replace', $text);return $text;}?>

сделать? но так почему то не выводит лычный смайл,вернее показывает что должна быть картинка,но её нету,оно имя из базы не тянет,по исходному коду показывает вот так

<a><img src= "/smiles/usersmiles/.gif" alt="222"/>


имя не берет почему то((

WapStyle » 2011.09.26 22:40

Код:

1
2
3
4
5
6
7
8
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];
}

Это часть кода...

Жгёш пополной :D

POFIGISST » 2011.09.26 22:42

WapStyle написал:

Код:

1
2
3
4
5
6
7
8
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];
}

Это часть кода...

Жгёш пополной :D

чесн сказать,я сам даже такого не напишу((

TLENS » 2011.09.26 22:44

WapStyle Заценил? гг

POFIGISST » 2011.09.26 22:51

Это был мой позор(((исправил все,теперь работает((правда говнокод остался((
Добавлено спустя   4 минуты  54 секунды:
смайлы личные работают,и обычные тоже,обычных смайлов выводит только по 2 смайла в одном посте,а вот личных,скок напишешь,сток и выведет,хоть 100 штук в одном посте,теперь не знаю как ограничитель личных смайлов сделать((чтоб их тоже выводило только по два в одном посте(( в какой строке или в какой части это можно сделать подскажите((

Код:

1
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";}
POFIGISST » 2011.09.27 23:39

Блин,создаю таблицу в базе вот такую

Код:

1
2
3
4
5
6
7
`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  (

Gemorroj » 2011.09.28 00:17

тебе не нужно 2 автоинкремента. тут, на сколько я понял, нужна связь многие ко многим.

POFIGISST » 2011.09.28 00:31

Gemorroj написал:

тебе не нужно 2 автоинкремента. тут, на сколько я понял, нужна связь многие ко многим.

наверное поле name нужно убрать,ведь значения в полях id и name будут одинаковые,и поле ид можно использовать в двух значениях сразу как имя(чтоб не повторялось имя файла при загрузке) и как ид ))

TLENS » 2011.09.28 00:34

POFIGISST
Ну оно за частую так и делается.

POFIGISST » 2011.09.28 22:16

как мне в этом

Код:

1
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 '&#187;&nbsp;<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 '&#187;&nbsp;<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 как такое сделать?:(

tipsun » 2011.09.28 23:28

ID чего/кого? Юзера, смайла в дирректории по порядку?

POFIGISST » 2011.09.28 23:38

tipsun написал:

ID чего/кого? Юзера, смайла в дирректории по порядку?

в таблице user_smiles_spis первое поле идет id там автоинкремент стоит,вот хочу чтоб по умолчанию картинкам присваивалось имя их ИДа,чтоб юзер сам не мог давать имя файлу который он закидывает((

POFIGISST » 2011.09.29 19:41

а как можно сделать проверку данных которые юзер записывает в форму? то есть есть слова определенные в тхт файле,и над сделать проверку,чтоб если юзер в водит то слово которое в этом тхт файле , то чтоб писало ошибку((

Gemorroj » 2011.09.29 20:26

ну при сабмите проверяй

POFIGISST » 2011.09.29 20:29

Gemorroj написал:

ну при сабмите проверяй

напиши название  функции которая делает такую проверку?:)

Gemorroj » 2011.09.29 20:41

==

POFIGISST » 2011.09.29 20:48

это примерно так, переменная которую юзер вводит,проверяется в тхт файле,и если есть совпадения,то ошибку выдает?:)

Gemorroj » 2011.09.29 21:01

да

POFIGISST » 2011.09.29 21:08

Gemorroj написал:

да

спасиб))

TLENS » 2011.09.30 22:12

Посоветуйте как лучше перенести таблицы с сервера на сервер.
phpmyadmin переносит  с потерями. А в ручную писать скрипт нет времени. Надо успеть до 0:00

Gemorroj » 2011.09.30 22:18

какие именно "потери"?

TLENS » 2011.09.30 22:23

Ну я бекаплю частями по 10000 - 500000  запросов.
При заливке через phpmyadmin разные ошибки, так заливаю через гменеджер-ий заливщик.
пару ошибок и 10 тыс. потерялась. Ну в общем перелил только что фотки 400тыс. то проц. 5 нет в базе

Gemorroj » 2011.09.30 22:24

блин. что за "разные ошибки"?

TLENS » 2011.09.30 22:28

Да я сам фиг проссу.
То поврежденные архивы то нет никаких возвратов. А когда по одному то бывает проблема с кавычками они почему то пишутся не в специал.чаре
Добавлено спустя   8 минут  44 секунды:
Вроде перезалил все, кавычки сменил на соль и в новой базе заменил назад.

TLENS » 2011.10.01 12:21

Паша подскажи что делать.
Стоит nginx и set_time_limit включен но не работает.
Дает 504
читал в гугле решение только max_execution_time но для отдачи файлов ето не вариант надо именно set_time_limit/
Да и безопасный режим отключен

Gemorroj » 2011.10.01 13:40

это в nginx надо ковырять время ожидания ответа.
конкретную директиву не помню.

POFIGISST » 2011.10.05 19:56

Блин,написал сохранение писем,но где то ошибка в запросе,при нажатии на ссылку,в определенное поле в базу,должно заносить результат 1,но нифига не заносит его((
подскажите где в коде у мя ошибка?
вот код((

Код:

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 '&#187; <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 '&#187; <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 '&#187; <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 '&#187; <a href="privat?mod=add">Написать</a><br />';echo '&#187; <a href="privat?save">Сохранить все прочитанные</a><br />';echo '&#187; <a href="privat?delread">Удалить все прочитанные</a><br />';echo '&#187; <a href="privat?delall">Удалить все входящие</a><br />';echo '&#187; <a href="friends">Ваши Друзья</a><br />';echo '&#187; <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.'&amp;act=act&amp;'.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 '&#160;<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.'&amp;act=add&amp;'.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 '&#160;<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&amp;to='.user_inf($a['user']).'">Ответить</a>| <a href="privat?mod='.$mod.'&amp;save='.$a['id'].'">Сохранить</a> | <a href="friends?mod=add&amp;act=add&amp;nick='.user_inf($a['user']).'">В друзья</a>|<a href="ignor?mod=add&amp;act=add&amp;nick='.user_inf($a['user']).'">В черный список</a>|<a href="privat?mod='.$mod.'&amp;del='.$a['id'].'">Удалить</a>|<a href="privat?mod='.$mod.'&amp;delall='.user_inf($a["user"]).'">Удалить всё от</a> '.user($a["user"]).'';echo "<hr />";}if ($k_page>1){echo "<dl><dt></dt></dl>";str('privat?mod=in&amp;',$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&amp;to='.user_inf($a['to_user']).'">Написать ещё</a>|<a href="friends?mod=add&amp;user='.user_inf($a['to_user']).'">В друзья</a>|<a href="ignor?mod=add&amp;act=add&amp;nick='.$inf['id'].'">В черный список</a>';echo "<hr />";}if ($k_page>1){echo "<dl><dt></dt></dl>";str('privat?mod='.$mod.'&amp;',$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 » 2011.10.05 20:28

после запроса сделай вывод ошибки. какой драйвер для работы с бд используется?

POFIGISST » 2011.10.05 20:33

Gemorroj написал:

после запроса сделай вывод ошибки. какой драйвер для работы с бд используется?

ошибку не показывает,а просто обновляет страницу,ссылка на сохранение письма идет такая http://test4.ru/my/privat?mod=in&save=14
save=14 - это ид письма,которому нужно присвоить значение 1 в базе в определенную строку,а оно нифига не заносит(

Gemorroj » 2011.10.05 22:56

ну пиши ошибку в лог

POFIGISST » 2011.10.05 22:59

Gemorroj написал:

ну пиши ошибку в лог

не умею((не знаю как делать:(

Gemorroj » 2011.10.06 10:25

error_log('error');

TLENS » 2011.10.06 13:15

неужели так еще кто то пишет?

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>';

POFIGISST » 2011.10.06 15:18

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>';

вывод ошибок,а как ты предлогаешь написать?:)

TLENS » 2011.10.06 15:28

Тот вариант тоже правильный но там в место if надо использовать elseif дабы предотвратить бессмысленные проверки.
А вообще по всем принципам кодинга, да и по производительности такой вариант будет правильней.

Код:

1
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; }}
POFIGISST » 2011.10.06 15:39

TLENS написал:

Тот вариант тоже правильный но там в место if надо использовать elseif дабы предотвратить бессмысленные проверки.
А вообще по всем принципам кодинга, да и по производительности такой вариант будет правильней.

Код:

1
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 ты прав,чтоб пустых проверок небыло так нужно писать(( ступил((

POFIGISST » 2011.10.06 16:48

начал вставлять,была мелкая синтаксическая ошибка,её убрал,теперь выводит только титле вверху страницы((может я где-то ошибку сделал,даже скорее всего(( в какой строке эта ошибка?вот тот код которые вставлял(

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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.'&amp;act=act&amp;'.SID.'" method="post">';
 
$to = check($_GET['to']);
TLENS » 2011.10.06 17:11

Ты что не умеешь php валидаторами пользоватся?
http://wapinet.ru/syntax/

POFIGISST » 2011.10.06 17:16

TLENS написал:

Ты что не умеешь php валидаторами пользоватся?
http://wapinet.ru/syntax/

я им и пользовался!!! ща я те скрин сделаю!!!! смотри Дим сам скрин(((

Gemorroj » 2011.10.06 19:06

ну так мало ли, у тебя в функциях что. ты же их не валидируешь

TLENS » 2011.10.06 19:12

Нет фгурной скобы.
Я пропустил и ты с ними напортачил.

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.'&amp;act=act&amp;'.SID.'" method="post">';
 
$to = check($_GET['to']);

POFIGISST » 2011.10.06 19:23

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.'&amp;act=act&amp;'.SID.'" method="post">';
 
$to = check($_GET['to']);

а с этой скобкой вообще "Удаленный сервер или файл не найден" Гг

Gemorroj » 2011.10.06 20:32

многие IDE это умеют делать.

POFIGISST » 2011.10.06 23:04

Gemorroj написал:

многие IDE это умеют делать.

спасибо,запомню это))

POFIGISST » 2011.10.06 23:38

помогите сделать запрос на проверку существования ида в базе? нужно написать запрос на проверку переменной $user['id'], в таблице group_users в поле user_id во всех полях которые там есть,и если где нибудь переменка $user['id'] равна числу которое в поле user_id,то чтоб скрывало ссылку? как такой запрос сделать можно?

TLENS » 2011.10.06 23:43

Код:

1
span style="color: #0000BB"><?php$q = mysql_query("SELECT COUNT(*) FROM `group_users` WHERE ` user_id` = '{$user['id']}'");if (!@mysql_result($q, 0)) { echo 'нет';}
Gemorroj » 2011.10.06 23:43

='(
в чем собсно сложность?
Добавлено спустя    57 секунд:
COUNT(*) заменить на 1
нам не нужно ничего считать.
и mysql_result заменить на mysql_num_rows

POFIGISST » 2011.10.06 23:45

блин,я понимаю что для вас это не сложно,и вообще тут собрались хорошие кодеры(не считая меня,но я и не кодер) для меня синтаксис сложный если писать функции(

POFIGISST » 2011.10.07 20:26

блин,это смешно,но я запутался(( не знаю как правильно знак поставить в коде((

вот код

Код:

1
2
3
4
5
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,то чтоб дальше код нормально шел((

Gemorroj » 2011.10.07 20:40

Код:

1
span style="color: #0000BB"><?phpif (isset($user)) { if ($user['level'] < 8) { echo 'А ты что здесь забыл?'; } else { $action=htmlspecialchars(trim($_GET['action'])); switch ($action){ default:
POFIGISST » 2011.10.07 20:48

Gemorroj написал:

Код:

1
span style="color: #0000BB"><?phpif (isset($user)) { if ($user['level'] < 8) { echo 'А ты что здесь забыл?'; } else { $action=htmlspecialchars(trim($_GET['action'])); switch ($action){ default:

спасиб,а я делал не так((думал что через знак =< делать это((

POFIGISST » 2011.10.08 01:34

так я с письмами и не разобрался,поэтому решил их переписать,смысл идет в том,чтоб юзер мог сохранять важные ему письма в архиве,и при чистке чтоб они оставались,решил это сделать так,если юзер сохранил письмо то в базу заносится значение 1,и при чистке чтоб не удаляло письма у которых стоит значение 1,может есть какой нить более удобный и просто способ сделать сохранение писем?

TLENS » 2011.10.08 01:37

POFIGISST написал:

может есть какой нить более удобный и просто способ сделать сохранение писем?

А ты как думаешь, сможешь придумать лучше?

POFIGISST » 2011.10.08 01:38

TLENS написал:

POFIGISST написал:

может есть какой нить более удобный и просто способ сделать сохранение писем?

А ты как думаешь, сможешь придумать лучше?

придумать то может и смогу,но воплотить это,х\з,не смогу наверное(
Добавлено спустя   7 минут  14 секунд:
ну или можно наверное еще сделать ,создать отдельную таблу для сохраненных и чтоб те письма которые сохраняют,переносились в эту таблицу и потом уже из нее сделать вывод)

TLENS » 2011.10.08 01:50

Ну блин тебе что трудно почитать мануал?
Я в JS был полным топором. Выучил его основы за три дня. (Далее практика и логика) Кстати он мне более всего нравится. А сейчас читаю мануал по сишарпе очень интересный правда на понятие основ, структурирование и принципов пошло более недели но во всяком случае не пол года как это длится у тебя. Не повторяй моих ошибок (Я наплевал на мануал и учил php методом тыка целых пять лет)
Да но не ленись тестировать! попробуй что лучше тот вариант или тот. Ну не может быть такого что в человека не присутствует логика. Или ты вообще занимаешься херней которая тебе и нах не нужна

POFIGISST » 2011.10.08 01:54

я сначала сам пробую сделать,а потом уже на форуме пишу,у тебя опыта намного больше чем у меня,поэтому и спрашиваю совет как лучше сделать(

POFIGISST » 2011.10.08 17:33

посмотрите плиз код загрузки личных смайлов(переписан) все хорошо работает,но может что-то подправить нужно в коде или по другому сделать((вот сам код загрузчика)))

Код:

1
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&amp;act=act&amp;'.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&amp;act=act&amp;'.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 секунды:
вот это

Код:

1
2
3
4
5
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 />';

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

POFIGISST » 2011.10.08 23:30

а есть функция которая вырезает картинки со страниц,например смайлы, чтоб такой :D смайл отображался вот так :  D  если эта функция включена,а если нет,то чтоб норм показывались смайлы?

TLENS » 2011.10.08 23:58

Ну напиши и будет тебе такая функция.

POFIGISST » 2011.10.09 00:05

название хоть такой функции скажи,поищу ман по ней,и буду пробовать сам писать)

tipsun » 2011.10.10 23:11

Да просто пусть пользователь в браузере показ картинок выключит и все =)
- - - -
Или просто вырезать, с готовой к выводу страницы, <img /> тег.

Код:

1
span style="color: #0000BB"><?phpfunction img_cut($html=0) { return preg_replace('/<img[^>]+>/i', '[image]', $html); }?>
POFIGISST » 2011.10.11 00:19

tipsun написал:

Да просто пусть пользователь в браузере показ картинок выключит и все =)
- - - -
Или просто вырезать, с готовой к выводу страницы, <img /> тег.

Код:

1
span style="color: #0000BB"><?phpfunction img_cut($html=0) { return preg_replace('/<img[^>]+>/i', '[image]', $html); }?>

ну мне нужно чтоб при скрытие картинок показывало их название,а то в чате не понятно какой смайл ставят если их вырезать((
Добавлено спустя   2 минуты  24 секунды:
tipsun
спасибо,дальше сам уже разберусь))

tipsun » 2011.10.11 00:31

POFIGISST написал:

а есть функция которая вырезает картинки со страниц...

Как написал так и понял =)
- - - -
Для смайлов по-другому.
Там у тебя есть функция для вставки смайлов, её выключать и все.

POFIGISST » 2011.10.11 00:34

tipsun
спасиб,разберусь там=))

TLENS » 2011.10.11 08:24

POFIGISST написал:

название хоть такой функции скажи,поищу ман по ней,и буду пробовать сам писать)

В базу записывай не конвертированные Смайлы тип :) . А при выводе пользователю с базы обработай смайлы если надо, ну и понятно если не надо то не обрабатывай.
Добавлено спустя   4 минуты  1 секунду:
Ну или тоже самое как меняешь :) на <img ... .
Конвертируй эту функцию.

POFIGISST » 2011.10.17 09:36

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

Код:

1
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();?>
Gemorroj » 2011.10.17 11:38

многабукаф

POFIGISST » 2011.10.17 11:42

как по другому сделать я х.з. ,сначала написал этот код на 2 страницы,на одной странице была ссыль на вторую страницу с подтверждением,потом решил так написать,с функцией case ((

tipsun » 2011.10.17 11:43

Код:

1
span style="color: #0000BB"><?php$text = preg_replace('/<img[^>]+>/i', '[image]', $text);?>

Регулярному выражению есть альтернативный синтаксис, покрасивше?

Gemorroj » 2011.10.17 11:56

tipsun тебе все img теги нужно вырезать?
я бы на твоем месте не парился. норм.

POFIGISST » 2011.10.17 23:24

как делать проверку при загрузке на размер файла,например если установлено 75х75 то чтоб если файл больше,то выдавало ошибку,как такую проверку можно сделать?:)

TLENS » 2011.10.17 23:30

Ну очень просто ты уже задавал этот вопрос и полчал на него ответ.
http://php.net/manual/ru/function.getimagesize.php

POFIGISST » 2011.10.17 23:32

TLENS написал:

Ну очень просто ты уже задавал этот вопрос и полчал на него ответ.
http://php.net/manual/ru/function.getimagesize.php

ты прав Дим,завтыкал совсем,сорри((

tipsun » 2011.10.18 10:13

Gemorroj написал:

tipsun тебе все img теги нужно вырезать?
я бы на твоем месте не парился. норм.

Ну мне надо просто чтоб ограничить до символа ">" . Я, если не ошибаюсь, видел твой пост с каким-то другим ограничением, чтоб не пропустило символ нужный. Как-то с этими что-ли: |<тег>|

POFIGISST » 2011.10.20 00:53

блин,как сделать запрос в базу примерно вот такой

Код:

1
2
3
if (isset($_GET['del'])){
$db->sql_query("DELETE FROM `privat` WHERE `id` = '".intval($_GET['del'])."' and `to_id` = '$user[id]'");
}

но чтоб вместо удаления,заносилось число 1 в таблицу privat в поле save?((

TLENS » 2011.10.20 00:59

POFIGISST написал:

блин,как сделать запрос в базу примерно вот такой

UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value
Первый результат с гугла

POFIGISST » 2011.10.20 01:01

TLENS написал:

POFIGISST написал:

блин,как сделать запрос в базу примерно вот такой

UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value
Первый результат с гугла

а эта SET column1=value, column2=value2,... строка за что отвечает?

TLENS » 2011.10.20 01:02

UPDATE `privat`
SET `save` = 1
WHERE `id` = '".intval($_GET['del'])."' and `to_id` = '$user[id]'

POFIGISST » 2011.10.20 01:05

TLENS написал:

UPDATE `privat`
SET `save` = 1
WHERE `id` = '".intval($_GET['del'])."' and `to_id` = '$user[id]'

да,понял,просто запись не привычная((

TLENS » 2011.10.20 01:07

POFIGISST
А что именно не привычно?

POFIGISST » 2011.10.20 01:17

TLENS
ну я привык что запросы пишутся примерно так "$db->sql_query("DELETE FROM `privat` WHERE `id` = '".intval($_GET['del'])."' and `to_id` = '$user[id]'");" а у тя как то столбиком,и не знал для чего нужно SET не сталкивался с таким)((

tipsun » 2011.10.22 10:55

Как правильно/лучше/итд?

1)

Код:

1
span style="color: #0000BB"><?php$a = 2;if($a != 1) echo $a;?>

2)

Код:

1
span style="color: #0000BB"><?php$a = 2;if(1 != $a) echo $a;?>
POFIGISST » 2011.10.22 11:58

tipsun написал:

Как правильно/лучше/итд?

1)

Код:

1
span style="color: #0000BB"><?php$a = 2;if($a != 1) echo $a;?>

2)

Код:

1
span style="color: #0000BB"><?php$a = 2;if(1 != $a) echo $a;?>

а если переменная $a будет равна 0,то переменную а выведет))

я бы так сделал))

Код:

1
2
$a = 2;
if($a>=2) echo $a;
TLENS » 2011.10.22 12:08

tipsun
Разницы никакой

POFIGISST » 2011.10.22 17:25

Блин,нашел парс с o5wap.ru,на денвере норм работает,а на хосте вот такую ошибку выдает

Код:

1
Warning: set_time_limit() has been disabled for security reasons in /home2/d4cc1zrx/public_html/index3.php on line 4

ошибка в 4 строке,ток х.з что это за ошибка(( как её можно исправить?:)

tipsun » 2011.10.22 21:32

POFIGISST, ты кажется не понял сути моего вопроса :)
TLENS, спс.

Gemorroj » 2011.10.23 01:46

1 != $a предпочтительнее чем $a != 1, т.к. в случае если забыли ! написать php кинет ошибку. такая страховка от описок.

tipsun » 2011.10.23 08:14

Gemorroj, ок, спс.

TLENS » 2011.10.23 19:47

Gemorroj
Кстате да бывает частенько допустишь где то ошибку а а синтаксис правильный и ищи ее тогда.

Escos » 2011.10.25 14:35

есть ли возможность, изменить время последнего редактирования файла/директории?

Gemor » 2011.10.25 14:42

touch

POFIGISST » 2011.10.30 16:39

что это за  ошибка ?

Код:

1
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 » 2011.10.30 19:23

хз честно говоря, не сталкивался.
дай полный код, попробую у себя запустить.

POFIGISST » 2011.10.30 19:44

Gemorroj написал:

хз честно говоря, не сталкивался.
дай полный код, попробую у себя запустить.

Паш,я тебе в личку скину,потому что грабб платный,не могу выкладывать в паблик))
Добавлено спустя   7 минут  14 секунд:
Бля,хотя это из-за хоста (( на денвер только что поставил,работает(а на хосте ошибка((

Gemorroj » 2011.10.30 20:47

у меня проблема не воспроизвелась, но там определенно есть ошибка в построении http запроса.
попробуй в index.php исправить код вначале на это:

Код:

1
2
3
4
5
6
7
8
9
10
11
$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);
POFIGISST » 2011.10.30 23:31

Gemorroj написал:

у меня проблема не воспроизвелась, но там определенно есть ошибка в построении http запроса.
попробуй в index.php исправить код вначале на это:

Код:

1
2
3
4
5
6
7
8
9
10
11
$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 забанен на хосте,обратись в поддержку" )) напишу в поддержку,посмотрю,что они ответят,а там уже буду далее решать,что делать))

POFIGISST » 2011.10.31 03:50

Заебись,на другой хост валю(( вот что поддержка хоста ответила

"Здравствуйте, ip адрес на котором находится сайт pron.siza.us принадлежит подсети с которой совершалась атака на наш сервер, в текущий момент в бан листе находится вся подсеть. Доступ с нашего сервера к ней невозможен."

ну я в принципе так и думал((

POFIGISST » 2011.11.01 16:18

Подскажите,есть ли прога которая массово меняет кодировку в нескольких файлах сразу? Или может как-то можно сделать по другому,у меня есть скрипт,но там во всех страницах кодирока неверная стоит,и на страницах фигню выводит(( а на каждой странице менять кодировку заипусь((

DarkRiDDeR » 2011.11.01 17:35

Должна быть

Gemorroj » 2011.11.01 17:37

http://wapinet.ru/script/show.php?d=%2F … Ficonv.zip

POFIGISST » 2011.11.01 21:02

Gemorroj
Благодарю ))

POFIGISST » 2011.11.01 23:22

Блин,возникла небольшая проблема,поставил скрипт библиотеки себе,так там при создании категории имя категории если оно русскими буквами написано,то в базу не заноситься,а если английские буквы или просто цифры,то нормик заносит в базу,как можно убрать это,это в базе ошибка ошибка? или в файле который отвечает за данные которые заносятся в базу?

POFIGISST » 2011.11.04 09:55

каким кодом можно сделать очистку папок? например написать код в какой нить файл,поставить на этот файл крон на 00.00 например,и чтоб при запуске этого файла,очищалась папка files,чтоб в ней удалялись все папки,какая функция это реализовывает? без бд все идет))

\\\\\\\\\\\\\\\\\\\\\\\\\\\
хотя нах крон,без крона вот так

Код:

1
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]); } } } ?>

сделаю)) может есть вариант лучше?)

DarkRiDDeR » 2011.11.04 10:34

Тебе удалит в папке все файлы и все папки?

POFIGISST » 2011.11.04 10:38

DarkRiDDeR написал:

Тебе удалит в папке все файлы и все папки?

да,у меня идет папка files в ней подпапки ну типа kartinki и в этих подпапках файлы идут) мне нужно полностью очищать папку files )

DarkRiDDeR » 2011.11.04 15:29

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//Функция "Удаления каталога с файлами"
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);
}

Получше, наверно, будет

POFIGISST » 2011.11.04 16:00

DarkRiDDeR
в 4 строке ошибка какая то((

DarkRiDDeR » 2011.11.04 16:04

конец строки пропустил

Warwar50 » 2011.11.04 22:29

Привет. Подскажите код чтоб просмотреть всю инфу бравзера даже если юзер с оперы.

Gemorroj » 2011.11.04 23:43

print_r($_SERVER);

DarkRiDDeR » 2011.11.05 11:16

А есть такая функция, которая возвращает номер строки скрипта? К примеру эта функция написана на 15 строке скрипта, 15 она и вернёт

Gemorroj » 2011.11.05 12:35

__LINE__

DarkRiDDeR » 2011.11.05 13:35

Пасяб

Nu3oN » 2011.11.06 16:34

В общем вернулся к разработке своей cms системы, и опять работаю над mvc

Нужно определить путь к контроллеру, файл класса контроллера и метод который нам должен выдать скрипт!
В общем пока писал, запутался во всем этом! глянь те ка все нормально?

Код:

1
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']; } }}
Gemorroj » 2011.11.06 16:46

м, я тоже путаюсь тут. добавь к коду комментарии.
$get['str'] - это что?

Nu3oN » 2011.11.06 17:04

Gemorroj написал:

м, я тоже путаюсь тут. добавь к коду комментарии.
$get['str'] - это что?

это для склеивания эллементов массива в строку составляющую путь
типа: из массива array(dir1, dir2, dir3) в строку  di1/dir2/dir3

Gemorroj » 2011.11.06 17:16

ну вроде норм. хотя я не понимаю, почему меня постоянно что-то путает)

Nu3oN » 2011.11.06 18:37

Gemorroj написал:

ну вроде норм. хотя я не понимаю, почему меня постоянно что-то путает)

не знаю что там тебя пугает, но мне категорически не нравится такое колличество действий за один проход цикла...

Gemorroj » 2011.11.06 18:46

ну видимо это и путает

POFIGISST » 2011.11.07 06:04

как можно замутить время онлайна? чтоб показывало сколько времени человек провел на сайте? Например Онлайн: 3дн.4ч.56м. как такое можно замутить?

TLENS » 2011.11.07 06:35

Пиши в базу время когда последний раз был юзер и еще online_timer
И при следуещем посещении вычесли промежуток сколько небыло его, если меньше 5 мин. Тогда онлайн и до плюсовуй в online_timer эту разницу в секундах

POFIGISST » 2011.11.07 06:48

TLENS
в базу заносит когда юзер был последний раз вот так "2011-11-07 06:42:12"  это нужно все в секунды перекидывать?

Gemorroj » 2011.11.07 10:04

нет. тебе нужно использовать нормальные функции для работы со временем. http://dev.mysql.com/doc/refman/5.5/en/ … tions.html

POFIGISST » 2011.11.07 13:29

Gemorroj написал:

нет. тебе нужно использовать нормальные функции для работы со временем. http://dev.mysql.com/doc/refman/5.5/en/ … tions.html

Благодарю,за одно и английский выучу :cool:  =D

tipsun » 2011.11.07 13:32

Из любопытства пытаюсь написать http://www.kolobok.us/smiles/madhouse/mail1.gif задумку POFIGISST

Код:

1
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'];?>

Вместо того, чтоб заносить в

Код:

1
span style="color: #0000BB"><?php $_SESSION['onLineTime'] += $offTime; ?>

, получается надо в базу.
А в базе я попытался сделать поле

Код:

1
`lifeTime` DATETIME '0000-00-00 00:00:00'

и при помощи

Код:

1
`lifeTime`=DATE_ADD(`lifeTime`, INTERVAL '15' SECOND)

обновить, но сохраняет NULL (Проверил через SELECT как в примерах "там").
Значит `lifeTime` надо держать в INT/BIGINT?

Gemorroj » 2011.11.07 18:40

да.

tipsun » 2011.11.07 19:52

Gemorroj, понятно, спс.

Оптимизация немножко :D если с базой дело будет.
Для чатов думаю как раз актуально.

Код:

1
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'];?>
POFIGISST » 2011.11.08 01:26

вот такая проблема у меня возникла,в топе сайтов у меня есть функция автомодерация сайтов,то есть проверяет есть ли код счетчика на сайте,и если есть,то активирует сайт,а если нету,то не активирует(( но эта хрень не работает,ошибка какая-то в ней,посмотрите пожалуйста код этой функции

Код:

1
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 » 2011.11.08 02:35

Надо регулярку нормальную написать. У меня глаза слипаются.

POFIGISST » 2011.11.08 02:42

TLENS написал:

Надо регулярку нормальную написать. У меня глаза слипаются.

спасибо Дим,в аське все объяснил,я не прошу чтоб кто то за меня написал,хочу сам исправить,прошу только подсказать где ошибка((

TLENS » 2011.11.08 02:44

Ну видимо если есть ошибка то она в той самой регулярке.

POFIGISST » 2011.11.08 02:49

TLENS написал:

Ну видимо если есть ошибка то она в той самой регулярке.

пока отключу автомодерацию,днем еще подумаю на этой темкой,а то ща тоже уже засыпаю))

Gemorroj » 2011.11.08 11:06

а тебе там вообще регулярка не нужна. проверяй соответствие через stripos

POFIGISST » 2011.11.08 13:57

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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 "Нашел ";
}

написал вот так для проверки,пока без базы,чтоб посмотреть какое сообщение выведет, и показало только что ошибка:D
Добавлено спустя   5 минут  23 секунды:
Warning: Unexpected character in input: ''' (ASCII=39) state=1   такую ошибку вообще первый раз вижу:0

DarkRiDDeR » 2011.11.08 14:18

С кодировкой что-то наверно

POFIGISST » 2011.11.08 14:19

DarkRiDDeR написал:

С кодировкой что-то наверно

не знаю,но все равно код не верный,сейчас переделывать его буду,внимательнее вникну в него))

DarkRiDDeR » 2011.11.08 14:22

Да ты в file_get_contents адрес введи вручную, если ошибки нет, то точно с MySQL связано
Добавлено спустя   2 минуты  16 секунд:

POFIGISST написал:

if ($pos1 === false) {
echo "Не нашел";
}


if ($pos1 !== false) {
echo "Нашел ";
}

не проще ли

Код:

1
2
3
4
5
if ($pos1 === false) {
echo "Не нашел";
} else{
echo "Нашел ";
}
POFIGISST » 2011.11.08 14:27

DarkRiDDeR
ввел,все равно ошибка,код наверн не правильный,я по примеру смотрел,так и написал как в примере,но где то ошибку допустил))

DarkRiDDeR » 2011.11.08 14:31

Текс загружаемой странице возможно в другой кодировке

POFIGISST » 2011.11.08 14:33

DarkRiDDeR написал:

Текс загружаемой странице возможно в другой кодировке

так там берет код загружаемой страницу,его берет нормально,вчера проверял,и кодировка в той странице нормальная,я ищу только адрес сайта,а он на английском,думаю что не  с кодировкой проблема)

DarkRiDDeR » 2011.11.08 14:41

Неожиданный символ на входе:'''(ASCII = 39 - это перевод

POFIGISST » 2011.11.08 14:54

сделал пока вот так

Код:

1
2
3
4
5
6
7
8
9
10
11
case 'auto_moderacia':
 
$findme = 'mastop.ru';
$mystring1 = file_get_contents('http://masteram.us');
$pos1 = stripos($mystring1, $findme);
if ($pos1 === false) {
echo "Не нашел";
} else{
echo "Нашел ";
 
}

если в переменную $mystring1 засунуть адрес мастоп.ру ,то пишет что найдена строка,а я вот для проверки всунул туда мастерам.ус и вывело сообщение,что строка не найдена)

Gemorroj » 2011.11.08 14:58

смотри что в $mystring1
возможно, отдается не то, что ты ожидаешь.

POFIGISST » 2011.11.08 15:11

Gemorroj написал:

смотри что в $mystring1
возможно, отдается не то, что ты ожидаешь.

если ставлю вот так echo $mystring1; то выводит нормально ту страницу которая в переменной,а если вот так echo highlight_string($mystring1); то выводит исходный код страницы)  если вот так echo $mystring1; то оно тоже должно выводить полностью исходный код? или оно все нормально выводит?

TLENS » 2011.11.08 15:31

Highlight я тебе дал просто для тестов он переобразовует всякие кавычки ампресанты и прочее в в тип &gt; &amp; и т.д. Блин ну не леничь почитай мануал про функцию. Неужели это так трудно?

POFIGISST » 2011.11.08 15:45

вот так

Код:

1
2
3
4
5
6
7
8
9
10
11
12
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 » 2011.11.08 15:47

а там же был какой то запрос

POFIGISST » 2011.11.08 15:49

TLENS написал:

а там же был какой то запрос

все,уже все сделал,всунул запрос,и теперь работает,вот код

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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 ,чтоб чувствителен к регистру небыл)

Gemorroj » 2011.11.08 17:09

POFIGISST написал:

вместо stripos,поставил stristr ,чтоб чувствителен к регистру небыл)

stripos и так не чувствителен к регистру. к регистру чувствителен strpos

tipsun » 2011.11.08 17:31

POFIGISST,
Описание stristr()
Возвращает подстроку строки haystack начиная с первого вхождения needle до конца строки.
Эта функция не учитывает регистр.
Если подстрока needle не найдена, stristr() возвращает FALSE.
Если needle не является строкой, он приводится к целому и трактуется как код символа.

Код:

1
span style="color: #0000BB"><?php$email = 'USER@EXAMPLE.com';$domain = stristr($email, 'e');echo $domain; // выводит ER@EXAMPLE.com?>

Ты уверен, что выбрал правильную функцию?

Gemorroj » 2011.11.08 17:38

где вы маны читаете??? читайте на оф сайте!

tipsun » 2011.11.08 17:42

Я на php.su иногда читаю. Английский плохо знаю. И переводчик не по "человечески" переводит.
Добавлено спустя   3 минуты  2 секунды:
Ох еба, в натуре не сравнить. На офф все возможности описаны.

POFIGISST » 2011.11.08 18:37

Бля,чет я ща сам не пойму где вычитал про регистр((
Добавлено спустя   1 минуту  30 секунд:

tipsun написал:

Я на php.su иногда читаю. Английский плохо знаю. И переводчик не по "человечески" переводит.
Добавлено спустя   3 минуты  2 секунды:
Ох еба, в натуре не сравнить. На офф все возможности описаны.

в адресе заменяй en на ru ,примерно вот так
http://www.php.net/manual/ru/function.stristr.php и будет счастье на русском)

TLENS » 2011.11.08 19:13

Немного почистил потому что это не аська.
Для Не учитывания регистра используй в регулярке модификатор i

tipsun » 2011.11.08 19:14

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.php
PHP.NET-RU: http://www.php.net/manual/ru/function.stristr.php
| |
PHP.SU: www.php.su/functions/?stristr

Сравни полноту информации. =)

POFIGISST » 2011.11.08 19:35

tipsun
ну если я английский не знаю,то хоть там 50 текстов на одной странице будет,я всеравно нифига там не пойму:D

tipsun » 2011.11.08 20:30

Если указать в классе

Код:

1
span style="color: #0000BB"><?php class myClass { public static $myVar; } ?>

То это только чтоб она была доступна так self::$myVar в классе?
Она не сохраняется при перезагрузке страницы же?

TLENS » 2011.11.08 21:12

tipsun написал:

Если указать в классе

Код:

1
span style="color: #0000BB"><?php class myClass { public static $myVar; } ?>

То это только чтоб она была доступна так self::$myVar в классе?
Она не сохраняется при перезагрузке страницы же?

В ASP сохраняется, а в php нет

tipsun » 2011.11.08 21:36

TLENS, ок. Спс.

tipsun » 2011.11.08 22:09

Для чего делают так, указывают типы при создании функции?

Код:

1
span style="color: #0000BB"><?phpfunction test(integer $var1, bool $var2) { /**/ }?>

Можно ссылку, а то не могу найти.

TLENS » 2011.11.08 22:25

Это взято с низкоуровневого программирования.
Можно просто типо var i стековая или object obj для ссылочной
Но если введешь func..(integer var)
то она  не сможет принять например string или другой тип и компилятор даст ошибку.

tipsun » 2011.11.08 22:38

TLENS, ну вроде более-менее понятно. Спс. :)

TLENS » 2011.11.08 22:45

Блин я не сплю другие сутки хочу назад день на ночь вернуть.
С сакрытыми глазапи пишу там немного ошибок исправил.
На счет php http://php.su/learnphp/datatypes/

Gemorroj » 2011.11.08 22:54

указание типов в php 5.4 введут. нужно это чтобы точно знать какого типа данные у нас имеются.
в php ничто не сохраняется между перезагрузкой страницы. сессии - это по сути тоже "костыль" чтоли в плане сохранения состояния)

TLENS » 2011.11.08 22:56

Gemorroj
Паш а ты как с сишарпом разобрался?

Gemorroj » 2011.11.08 23:20

забил) нет задач в принципе для кодинга на десктопе, поэтому незачем. ввязался в несколько оупенсорсных проектов на javascript, поэтому времени еще и на изучение C# мало. да и состояние не то сейчас.

TLENS » 2011.11.08 23:24

Ясн.

Gemorroj » 2011.11.08 23:26

...
Добавлено спустя    35 секунд:
охуенно, хули)

TLENS » 2011.11.08 23:28

А что на счет состояние? я не понимаю

Gemorroj » 2011.11.08 23:32

ай, бред) у меня такое бывает. в блогах читай

TLENS » 2011.11.08 23:36

А я кстати наивный начал C# учить я то думал и другие языки так легко будут даватся.
И пошел за ассемблером и теперь понимаю зачем был придуман Си))

Gemorroj » 2011.11.08 23:38

мм, ну современный ассемблер тоже крут. Просто обучение идет с основ, а на практике потом проще. Я в основном с FASM знакомился, там куча уже готовых процедур написано. остается только использовать. экзамплы, по крайней мере, внушают.

TLENS » 2011.11.08 23:47

А у меня все понимаю но как говорится сказать не могу.
При практике уже строк на 500 - 1000 начинаю крупно терятся.
Еще толкового отладчика не найду да и вычисление это, новое все, не успевает усвоится в голове.
Добавлено спустя   1 минуту  37 секунд:
На masm32 начинаю.
Добавлено спустя   7 минут  48 секунд:
В общем позже обязательно изучу его. Хорошая штука. Меня больше интересуют микро контролеры я с 8 лет в проводах рос.

POFIGISST » 2011.11.09 00:33

скажите,а вот этот код

Код:

1
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);?>

отвечает за то,как на счетчиках расположены цифры хитов и хостов?

Gemorroj » 2011.11.09 00:48

он за полную отрисовку картинки отвечает.

POFIGISST » 2011.11.09 00:52

блин,а мне над найти где  только за цифры отвечает,хочу сделать чтоб хосты и хиты шли в столбик,а не горизонтально(

DarkRiDDeR » 2011.11.09 15:41

Так напиши, не вижу в этом уж такой большой проблемы

TLENS » 2011.11.09 15:56

POFIGISST
Тему надо надо создать новую. Засрали эту тему. Надо переименовать помоги Пофигисту и прикрепить. :)
Лан Дима шучу.
ps. Надо тему создать со статьей как пользоваться гуглом.
Опять шучу.
Ты Дима задавай все свои вопросы, и просьбы мы все тебе поможем и напишем любой скрипт какой ты захочешь, раз уж такой уж Лентяй что лежа на деване даже ВИДЕО КУРСЫ посмотреть лень.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Мм да я в семье был самый ленивый настолько ленивый что все родственники меня поддергивали. Но увы не настолько!
Ты даже меня переплюнул.
Обижайся не обижайся но ты конкретный Лентяй.
Добавлено спустя   2 минуты :
Но ты не унывай все это лечится.

tipsun » 2011.11.09 16:43

POFIGISST, просто пользуйся этим правилом: прежде чем писать на форум, забей в гугл пару запросов.
Добавлено спустя   7 минут  17 секунд:

POFIGISST написал:

скажите,а вот этот код

Код:

1
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);?>

отвечает за то,как на счетчиках расположены цифры хитов и хостов?

Отвечает за captcha. Мне кажется.

tipsun » 2011.11.09 17:49

POFIGISST, как видно из твоего поста за вид счетчика отвечает файл: image.php в корне скрипта. Скорее всего.

Nu3oN » 2011.11.13 23:00

Гемор, у тебя нет обработчика для set_error_handler() уже написанного?
а то лень самому все условия подберать...

Gemorroj » 2011.11.13 23:09

неа. в гменеджере что-то вроде есть, но мне не оч нравится

POFIGISST » 2011.11.15 00:54

блин,что я делаю не так? у меня идет страница вот такая

Код:

1
span style="color: #0000BB"><?phpheader('Content-type: text/html; charset=utf-8');echo '<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru"><head><title>Порнушка для всех</title><meta name="description" content="wap порно, шафка, шульц, нси, sieg heil, сиськи, грудь, угар,Частное, разврат, эротика, секс, бесплатно, халявка, сотовый, мобильный, качай, скачать, клипы, 2011 порно новинки, новинки, хиты, порно, все бесплатно" /><link rel="stylesheet" href="http://dimax.in/style.css" type="text/css" /><link rel="shortcut icon" href="favicon.ico" /></head><body><div class="head"><img src="http://dimax.in/video/logo.png"/></div>';echo'<div class="head"><img src="http://dimax.in/video/reklama.gif" alt="rek"/><br/></div>';echo'<div class="block">';echo'Сайт содержит материалы <strong>порнографического</strong> характера.<br/>';echo'Убедительная просьба - если вам еще не исполнилось 18 лет покиньте данный сайт!<br/>';echo'<a href="http://dimax.in/ind.php">Продолжить просмотр?</a><br/></div>';echo '<div class="foot">include "video/foot.php";</div></body></html>';?>

но инклюд внизу не работает вот этот include "video/foot.php"; на странице его выводит как текст вот так include "video/foot.php"; в чем может быть причина того,что не инклюдит? по разному уже пробовал,но все равно выводит просто текст(

TLENS » 2011.11.15 00:56

echo '<div class="foot">';

include "video/foot.php";
echo '</div></body></html>';

POFIGISST » 2011.11.15 01:00

TLENS
спасибо,работает,а то заипался на каждой странице счетчики прописывать(

Gemorroj » 2011.11.15 10:56

POFIGISST, подсветка ни о чем не говорит?

POFIGISST » 2011.11.15 10:59

Gemorroj написал:

POFIGISST, подсветка ни о чем не говорит?

честно сказать нет =(

нужно было позакрывать строки чтоб между ними всунуть инклюд,а я между открытыми строками совал его,поэтому выводило как текст:(

TLENS » 2011.11.15 13:47

POFIGISST написал:

Gemorroj написал:

POFIGISST, подсветка ни о чем не говорит?

честно сказать нет =(

нужно было позакрывать строки чтоб между ними всунуть инклюд,а я между открытыми строками совал его,поэтому выводило как текст:(

В ГМенеджере есть встроенный валидатор и он покажет тебе все буквально в один клик

TLENS » 2011.11.15 14:04

POFIGISST Чета мне кажется что ты создаешь копию моего сайта.
Брось это а то я обижусь

POFIGISST » 2011.11.24 01:10

Пишу грабб порно видео,и вот возникла проблемка,когда тыкаю на ссыль "Скачать" мне выдает 404 ошибку,адрес ссыли идет примерно такой http://мой сайт.ру/d/?fid=3488,а нужно сделать чтоб в ссыле вместо "мой сайт.ру" был адрес kiss.siza.us , как мне нужно написать код,чтоб так получалось?

TLENS » 2011.11.24 01:12

Логично было бы заменить в исходном коде ссылку

POFIGISST » 2011.11.24 01:20

TLENS
мне над чтоб все остальные ссыли шли с моего сайта,только чтоб адрес ссылки "Скачать" был полностью настоящий,то есть тот откуда я тырю файлы(

TLENS » 2011.11.24 01:20

Ну так замени

POFIGISST » 2011.11.24 01:23

TLENS написал:

Ну так замени

пробовал,нихера у мя не получается(( руки кривые,уже часа два над этой ссылью долблюсь,а она нихера не заменяется(

TLENS » 2011.11.24 01:24

Извини ничем помочь не могу. Я не провидец

POFIGISST » 2011.11.24 01:32

TLENS
пока не сделаю спать не пойду,самому интересно сделать:D

TLENS » 2011.11.24 01:46

Дай ссыль на установленный скрипт. впадло ставить на хост

POFIGISST » 2011.11.24 01:46

юзайте кому надо =)  я спать пойду =)
Добавлено спустя   1 минуту  2 секунды:

TLENS написал:

Дай ссыль на установленный скрипт. впадло ставить на хост

у мя он у самого на денвере,ща поставлю куда нить =D

TLENS » 2011.11.24 01:48

Я в душ. Жди
Добавлено спустя   1 минуту  18 секунд:
Можешь не ставить дай просто исходный html код

POFIGISST » 2011.11.24 01:55

TLENS
я уже поставил,ток диз еще не подогнал,вот мое г http://xporno.in/vid/ )

TLENS » 2011.11.24 02:01

у меня постоянный таймаут дай исходник

POFIGISST » 2011.11.24 02:04

TLENS написал:

у меня постоянный таймаут дай исходник

вот http://kiss.siza.us/ исходник,откуда граблю файлы)

TLENS » 2011.11.24 02:05

Корочь я не могу так там исходник там код какая. Давай уже завтра проснешся и сам.

POFIGISST » 2011.11.24 02:07

TLENS написал:

Корочь я не могу так там исходник там код какая. Давай уже завтра проснешся и сам.

оки,хорошо,под вечер уже мозг немного тупит,днем посмотрю свежим глазом)))

TLENS » 2011.11.24 02:12

$vid = str_replace('<a href="d/?fid=4836">Скачать</a>', '<a href="http://kiss.siza.us/d/?fid=4836">Скачать</a>', $vid);

POFIGISST » 2011.11.24 02:19

TLENS
так тоже не изменился адрес,забей Дим,я днем сам сделаю,за одно и потренируюсь граббы писать))

TLENS » 2011.11.24 02:20

Как это не изменился как изменился. Ставь перед echo

POFIGISST » 2011.11.24 02:28

TLENS
извиняюсь,беру свои слова обратно,адрес изменился,просто не в том файле посмотрел:(

POFIGISST » 2011.11.24 21:13

Скажите а есть такая функция на пыхе,которая накладывает копирайт на видео,ну например на первых 15 кадров видео?)

TLENS » 2011.11.24 21:14

На пыхе нет.
Добавлено спустя   1 минуту  1 секунду:
Есть команда для ffmpeg. Но она долго работает нужен проц хороший

POFIGISST » 2011.11.24 21:17

TLENS
спасибо,буду знать,поищу другое альтернативное решение задачи с копирайтом :)

TLENS » 2011.11.24 21:19

Возьми себе vds/vps они не дорого стоят видел и по 3$. За то сможешь установить себе любую программу и обращатся к ним с php скриптов.

POFIGISST » 2011.11.24 21:21

TLENS написал:

Возьми себе vds/vps они не дорого стоят видел и по 3$. За то сможешь установить себе любую программу и обращатся к ним с php скриптов.

это мысль,ток за 3$ хорошего нету ничего,ща инет поюзаю,посмотрю цены и характеристики))

TLENS » 2011.11.24 21:24

colobridge.net советую. кстати если решишся стукнишь я тебе дам промокод.
там и isp бесплатно

Newmastja » 2011.11.29 23:46

Привет. Скажите пожалоста как с сайта php показать число онлайна людей на сайте вен.ру с исполь. Javascript

TLENS » 2011.11.29 23:48

вопрос по точнее можно. Что именно тебе сказать?

POFIGISST » 2011.11.30 01:48

TLENS
он наверн хочет сделать примерно так,чтоб на венике показывало сколько людей сейчас на  сайте "spaces.ru(любой сайт на пыхе)"  я так понял его вопрос)

DarkRiDDeR » 2011.11.30 03:15

Да, да, есть специальные сервисы, надо поискать

TLENS » 2011.11.30 03:51

POFIGISST написал:

TLENS
он наверн хочет сделать примерно так,чтоб на венике показывало сколько людей сейчас на  сайте "spaces.ru(любой сайт на пыхе)"  я так понял его вопрос)

Бля я что тупой. Объясни тогда ты мне что надо ему сказать! Я жду.

POFIGISST » 2011.11.30 03:58

TLENS написал:

POFIGISST написал:

TLENS
он наверн хочет сделать примерно так,чтоб на венике показывало сколько людей сейчас на  сайте "spaces.ru(любой сайт на пыхе)"  я так понял его вопрос)

Бля я что тупой. Объясни тогда ты мне что надо ему сказать! Я жду.

скажи ему если знаешь,как такую хрень делать через Javascript )

TLENS » 2011.11.30 03:59

Мда... Я то знаю дак что ему целый скрипт писать?

POFIGISST » 2011.11.30 04:19

TLENS
я сомневаюсь,что он тут еще появится=)

tipsun » 2011.11.30 15:18

Newmastja написал:

Привет. Скажите пожалоста как с сайта php показать число онлайна людей на сайте вен.ру с исполь. Javascript

Ахтунг! Я не силен в JS и болен на голову...
Почти так же, я думаю, как:

Код:

1
<img src="http://serv.ru/ololo/script/image.php?id=100500" alt="onLine" />

Только надо сделать, чтоб php файл на сервере подсчета отправлял не картинку, а GET/POST данные и ява их принимать и отображать.

Nu3oN » 2011.11.30 21:34

Можно ли как то в MySQL при создании новой строки указать в одном из полей будующий id ?
А то два запроса подряд вообще не радует )=
А то на данный момент есть такое:

Код:

1
span style="color: #0000BB"><?php$strDir = '1/2/3/4/5/';/* * Создаем новую строку. */DB :: $dbh -> query("INSERT INTO %category% (`cat_title`) VALUES (?);", array($title));/* * Узнаем ID только что добавленой строки. */$intLastID = DB :: $dbh -> lastInsertId();/* * Указываем путь к папке. */$strDir = $strDir . $intLastID . '/';/* * Обновляем только созданую строку. */DB :: $dbh -> query("UPDATE %category% SET `cat_path` = ? WHERE `cat_id` = ? LIMIT 1;", array($strDir, $intLastID));

Хотелось бы что-то типа такого:

Код:

1
SQL -> INSERT INTO `table` (`cat_title`, `cat_path`) VALUES ('value', LAST_INSERT_ID());

З.ы LAST_INSERT_ID() и вьюхи не предлогать :-D

Gemorroj » 2011.12.01 10:55

ну можно подзапросом select сделать на последний id, но это бред.
оставляй как есть. если используется innodb, то оберни еще в транзакцию.

Nu3oN » 2011.12.01 11:59

Плохо...

TLENS » 2011.12.01 15:19

Nu3oN написал:

Плохо...

Бедный, вчера целый вечер ломал голову))

Nu3oN » 2011.12.01 19:37

TLENS написал:

Nu3oN написал:

Плохо...

Бедный, вчера целый вечер ломал голову))

Осталось только пойти повеситься  =D

POFIGISST » 2011.12.07 23:54

Помогите пожалуйста написать запрос на смену пароля,в базе пароль идет в мд5,я пишу вот такой запрос

Код:

1
2
3
4
5
6
7
8
9
case "smpass":
echo '<b>Смена пароля</b><br/>';
echo'<input name="password" type="text" value="'.$user['password'].'"/><br/>';
echo '<a href="editanketa.php?act=ssm">Сменить</a><br/>';//подтверждаем...
break;
case "ssm":
mysql_query("UPDATE `user` SET `password` WHERE id=".$user['id']."");
echo 'Вы успешно сменили пароль<br />';
break;

но какую то я ошибку делаю,и сам не пойму какую( пароль который вводят в поле должен заноситься в переменную $user['password'] , потом эта переменная должна шифровать тот пасс который юзер ввел в мд5 и результат (пароль в мд5) должен уже идти в базу в поле password тому юзеру у которого ид равен иду того кто меняет пароль(

Gemorroj » 2011.12.08 00:11

Код:

1
span style="color: #0000BB"><?phpswitch ($_GET['act']) { case 'smpass': echo '<b>Смена пароля</b><br/>'; echo '<input name="password" type="text" value=""/><br/>'; echo '<a href="editanketa.php?act=ssm">Сменить</a><br/>';//подтверждаем... break; case 'ssm': if (mysql_query("UPDATE `user` SET `password` = " . md5($_POST['password']) . " WHERE id=" . $user['id'])) { echo 'Вы успешно сменили пароль<br />'; } break;}
POFIGISST » 2011.12.08 00:21

Gemorroj
спасибо огромное Паш))

POFIGISST » 2011.12.08 01:01

Не заносит в базу новый пароль,я поставил else чтоб если не заносит в базу,то выводило сообщение о том что пароль не сменен, и вывод  md5($_POST['password']) сделал,чтоб было видно значение которое в ней содержится,в ней идет совсем левый хеш "d41d8cd98f00b204e9800998ecf8427e" я рашивровал его и вот какой текст там "<No password>" хотя я ввожу совсем другие пассы((

POFIGISST » 2011.12.08 02:08

Написал немного по другому код,добавил проверку старого пароля при смене и  подтверждение нового пароля,вродь гуд работает)

Gemorroj » 2011.12.08 08:24

POFIGISST написал:

я рашивровал его

крутой чел)

POFIGISST » 2011.12.08 23:15

Gemorroj написал:

крутой чел)

http://crackfor.me/index.php

POFIGISST » 2011.12.08 23:37

бля,опять у меня криворукость =(  ночью что-то не так замутил с проверкой старого пароля на соответствие с тем паролем который в базе,и теперь когда пишу правильный пароль,проверка не срабатывает,пишет что старый пароль не верный,посмотрите пожалуйста мой код,и подскажите в чем моя ошибка =(

вот так я наговнокодил

Код:

1
span style="color: #0000BB"><?php case 'smpass':echo '<b>Смена пароля</b><br/>';echo '<form action="editanketa.php?act=ssm" method="post"><input name="old_password" type="password" value=""/><br/><input name="new_password" type="password" value=""/><br/><input name="confirm_new_password" type="password" value=""/><br/><input type="submit" value="Сменить пароль"/></form>';break;case 'ssm':if(mysql_query("SELECT * FROM `users` WHERE id ='" . $user['id']."', `password` = " . md5($_POST['old_password']) )){if(!empty($_POST['new_password']) && $_POST['new_password']==$_POST['confirm_new_password']){if(mysql_query("UPDATE `users` SET `password` = " . md5(mysql_real_escape_string($_POST['password'])) . " WHERE id =" . $user['id'])){echo 'Вы успешно сменили пароль<br />';}else{echo 'Пароль сменить не удалось<br />'.mysql_error().'<br/>';}}elseecho 'Пароль сменить не удалось<br />Не заполнен новый пароль или неправильное его подтверждение<br/>';}elseecho 'Пароль сменить не удалось<br />Старый пароль указан неправильно!<br/>';break;
POFIGISST » 2011.12.09 01:36

разобрался уже со сменой,вотЬ мой говнокодЬ

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
case 'smpass':
echo '<b>Смена пароля</b><br/>';
echo '
<form action="editanketa.php?act=ssm" method="post">
Старый пароль:<br/>
<input name="old_password" type="password" value=""/><br/>
Новый пароль:<br/>
<input name="new_password" type="password" value=""/><br/>
Подтвердите новый пароль:<br/>
<input name="confirm_new_password" type="password" value=""/><br/>
<input type="submit" value="Сменить пароль"/>
</form>
';
 
break;
 
case 'ssm':
if(mysql_query("SELECT * FROM `users` WHERE `id` ='" . $user['id']."' AND `password` = '" . md5($_POST['old_password'])."' " ))
{
if(!empty($_POST['new_password']) && $_POST['new_password']==$_POST['confirm_new_password'])
{
if(mysql_query("UPDATE `users` SET `password` = '" . protect(md5($_POST['new_password'])) . "' WHERE `id` ='" . $user['id']."' "))
{
echo 'Вы успешно сменили пароль<br />';
}
else
{
echo 'Пароль сменить не удалось2<br />'.mysql_error().'<br/>';
}
 
}
else
echo 'Пароль сменить не удалось3<br />Не заполнен новый пароль или неправильное его подтверждение<br/>'.mysql_error().'<br/>';
}
else
echo 'Пароль сменить не удалось4<br />Старый пароль указан неправильно!<br/>'.mysql_error().'<br/>';
 
break;

напишите какие есть замечания по коду))

DarkRiDDeR » 2011.12.09 09:58

лучше сначало проверить это
if(!empty($_POST['new_password']) && $_POST['new_password']==$_POST['confirm_new_password']))
И проверить лучше на существование все данные формы if(isset($_POST['new_password'], $_POST['confirm_new_password'], $_POST['new_password']) && $_POST['new_password']==$_POST['confirm_new_password'])).

Я бы ещё на всякий случай обрабатывал md5($_POST['old_password']) с помощью mysql_real_escape_string, хотя это скорее даже лишнее, но я бы сделал так

Gemorroj » 2011.12.09 10:50

POFIGISST написал:

Gemorroj написал:

крутой чел)

http://crackfor.me/index.php

ну так тупо перебор по заданным хэшам - не интересно)

TLENS » 2011.12.09 14:26

Gemorroj
У меня когда то была идея закупить серьезное оборудование чтобы перебрать в базы. Для обыгрывания казино.
Я по высчетам дошел до квинтилиона, далее понял что достаточно бредить.
Если и закуплю данное оборудование надо минимум пару лет для создания базы хешов. Да и в казино нет столько денег что бы окупить затраты на оборудование.

TLENS » 2011.12.09 15:09

Только что реально посчситал.
Вот дурная идея надо хешев корочь я даже не знаю как назвать в общем 70в32 ст.

DarkRiDDeR » 2011.12.09 17:24

Ну собирать хэши - дурнаю идея, а вот раскодировать. md5 - это по сути своеобразное кодирование данных. А что имело определённую сущность, можно привести к первообразному.

Gemorroj » 2011.12.09 17:25

DarkRiDDeR веперед) вот только приведение у тебя вся жизнь уйдет)

DarkRiDDeR » 2011.12.09 17:28

Я и не собирался вперёд. Я говорю, что можно, но это не значит, что возможно :D

POFIGISST » 2011.12.10 22:40

Gemorroj написал:

ну так тупо перебор по заданным хэшам - не интересно)

а как тогда делать? самому расшифровывать? если не ошибаюсь,то точного алгоритма мд5 нету(
Добавлено спустя   6 минут  10 секунд:
вот так сделал на быструю руку,а то было уже 4 часа утра когда доделывал ( как убивать  Cookies я х.з. поэтому сделал вот так

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
case 'smpass':
echo '<b>Смена пароля</b><br/>';
echo '
<form action="editanketa.php?act=ssm" method="post">
Старый пароль:<br/>
<input name="old_password" type="password" value=""/><br/>
Новый пароль:<br/>
<input name="new_password" type="password" value=""/><br/>
Подтвердите новый пароль:<br/>
<input name="confirm_new_password" type="password" value=""/><br/>
<input type="submit" value="Сменить пароль"/>
</form>
';
 
break;
 
case 'ssm':
if(mysql_query("SELECT * FROM `users` WHERE `id` ='" . $user['id']."' AND `password` = '" . md5($_POST['old_password'])."' " ))
{
if(!empty($_POST['new_password']) && $_POST['new_password']==$_POST['confirm_new_password'])
{
if(mysql_query("UPDATE `users` SET `password` = '" . protect(md5($_POST['new_password'])) . "' WHERE `id` ='" . $user['id']."' "))
{
echo 'Вы успешно сменили пароль<br />';
header("Location: ./sign.php?act=exit ");
exit();
 
}
else
{
echo 'Пароль сменить не удалось2<br />'.mysql_error().'<br/>';
}
 
}
else
echo 'Пароль сменить не удалось3<br />Не заполнен новый пароль или неправильное его подтверждение<br/>'.mysql_error().'<br/>';
}
else
echo 'Пароль сменить не удалось4<br />Старый пароль указан неправильно!<br/>'.mysql_error().'<br/>';
 
break;

при смене пароля cookies не удалялись,поэтому я сделал редирект на страницу выхода,там они убиваются,это каешн ужасный г код((

tipsun » 2011.12.11 19:09

POFIGISST написал:

как убивать  Cookies я х.з.

Ну в мануале почитай. :)
- - - -
Поздно, я за тебя прочитал :D

Код:

1
span style="color: #0000BB"><?phpsetcookie('cookieName', '', $_SERVER['REQUEST_TIME'] - 3600);//Задаешь имя, тут ничего, время за счет которого кука будет считаться истекшей; - браузер это дело сразу удаляет.?>
POFIGISST » 2011.12.11 21:31

tipsun написал:

POFIGISST написал:

как убивать  Cookies я х.з.

Ну в мануале почитай. :)
- - - -
Поздно, я за тебя прочитал :D

Код:

1
span style="color: #0000BB"><?phpsetcookie('cookieName', '', $_SERVER['REQUEST_TIME'] - 3600);//Задаешь имя, тут ничего, время за счет которого кука будет считаться истекшей; - браузер это дело сразу удаляет.?>

если так сделать,то нужно будет каждый час заново авторизововаться((

tipsun » 2011.12.11 21:35

POFIGISST написал:

если так сделать,то нужно будет каждый час заново авторизововаться((

Почему? Не, это удаляет куку, а не устанавливает её. :)

POFIGISST » 2011.12.12 00:40

есть у меня файл,который должен делать скрины с тем для нокиа,но он чет нихера не делает,для меня код в файле сложный( скажите плиз,он вообще рабочий,или нет?

вот он весь

Код:

1
lt;?function make_screen_nokia($file_them,$file_image){include_once H.'sys/inc/zip.php';$xml=false;$scr_file=false;$zip=new PclZip($file_them);$content = $zip->extract(PCLZIP_OPT_BY_NAME,'theme_descriptor.xml',PCLZIP_OPT_EXTRACT_AS_STRING);$xml=@$content[0]['content'];if (!$xml)return 'Невозможно открыть дескриптор темы';//echo output_text($xml);if (preg_match('#main_display_graphics="(.*?)"#si', $xml, $res))$scr_file=$res[1];elseif (preg_match('#main_default_bg="(.*?)"#si', $xml, $res))$scr_file=$res[1];if (!$scr_file)return 'Скриншот не обнаружен';$string_img = $zip->extract(PCLZIP_OPT_BY_NAME, $scr_file,PCLZIP_OPT_EXTRACT_AS_STRING);if (!$scr=@imagecreatefromstring(@$string_img[0]['content']))return 'Ошибка файла изображения';unset($string_img);if (@imagejpeg($scr, $file_image, 100)){imagedestroy($scr);return 'Скриншот успешно извлечен';}else return 'Ошибка сохранения скриншота';}?>
Gemorroj » 2011.12.12 00:50

есть такая штука - отладка называется.
берешь и ставишь по коду запись в лог ключевых переменных.
тут как минимум видно $content, $xml, $res, $string_img
и на основании того, что в них находится находишь где происходит сбой.

POFIGISST » 2011.12.12 00:54

Gemorroj написал:

есть такая штука - отладка называется.
берешь и ставишь по коду запись в лог ключевых переменных.
тут как минимум видно $content, $xml, $res, $string_img
и на основании того, что в них находится находишь где происходит сбой.

благодарю за совет,завтра вечером буду искать где сбой ;)

Nu3oN » 2011.12.15 21:33

можно ли перевести ini_get('upload_max_filesize') в байты?
Добавлено спустя   1 минуту  19 секунд:
необходимо для примерно такого условия

Код:

1
span style="color: #0000BB"><?phpif ($_FILES['add']['screen'][2]['size'] > ini_get('upload_max_filesize')) { // ошибка ёба!!!}
DarkRiDDeR » 2011.12.16 10:40

ini_get('upload_max_filesize') возвращает чаще в мегабайтах("2M"), следовательно надо определит, что если это мегабайты, то выковыриваем только цифры, потом их умножаем на 1024 и ещё - на 1024. Вот тебе и байты. Если другие значения, то и делаем малость по другому.

Gemorroj » 2011.12.16 11:52

Ну да, по последней букве смотреть надо.

Nu3oN » 2011.12.16 19:37

Я сделал уже иначе :-)
з.ы я и так знаю что он выдает, я надеялся что существует стандартная функция для такого случая :)

DarkRiDDeR » 2011.12.17 03:13

И как сделал?

Gemorroj » 2011.12.18 22:00

так как?)

Nu3oN » 2011.12.19 21:33

я вроде бы соберался написать, и наверно забыл гг
да просто сделал в админке выбор ограничения по размеру, и указал что сервер допускает максимальный размер такой то!

POFIGISST » 2011.12.23 08:59

Посоветуйте как сделать,у меня идет рейтинг в виде рисунка полоски,ну и чем больше рейтинг тем больше полоска закрашена,но она закрашивается только когда число рейтинга в базе положительное,а если отрицательное то полоска просто пустая,и вот задача,хочу сделать чтоб если рейтинг отрицательный,то полоска закрашивалась синим цветом,а если положительный то красным(как сейчас) ,в одном файле сам не знаю как это реализовать,чтоб определяло каким цветом её закрашивать,думаю сделать так,создать еще один такой файл который отвечает за рейтинг,только в нем поставить вместо красного цвета синий,а потом в анкете делать проверку на то,какое число в базе,если положительное,то запускать файл 1 с красным цветом,а если отрицательное число,то запускать файл 2,где синяя полоска,это конечно Г код,но по другому не знаю как сделать такую вещь(

Nu3oN » 2011.12.23 11:08

Экстрасенсов не наблюдал тут :)
давай код в студию!
З.ы помню тоже мучался с этой идеей, только я делал при отрицательном рейтинге, зарисовку в обратную сторону с другим цветом

POFIGISST » 2011.12.23 20:00

код специально не выкладывал,не хочу чтоб за меня делали,у меня там идет когда отрицательный рейтинг,то в закрашивания вообще нету,только пишет цифру рейтинга с - минусом) вот код который у меня идет,написал паро коментариев к коду

Код:

1
span style="color: #0000BB"><?php$rat = (int)$_GET['rat'];$limit = (int)$_GET['limit'];$rats = $rat;if ($rat >= 100) { $rats = 99; }if ($rat > 100) { $rat = 100; }if ($limit == "") { $limit = 50; }if ($limit > 100) { $limit = 100; } header("Content-type: image/gif"); $im = imageCreateFromGIF("grafic.gif"); //---------------пустой участок,после закрашеного идет-------------------------// $color = imagecolorallocate($im, 234, 237, 237); $color2 = imagecolorallocate($im, 227, 222, 222); $color3 = imagecolorallocate($im, 204, 200, 200); $color4 = imagecolorallocate($im, 185, 181, 181); $color5 = imagecolorallocate($im, 197, 195, 195); imagefilledrectangle ($im, 2, 1, 99, 2, $color); imagefilledrectangle ($im, 1, 3, 100, 4, $color2); imagefilledrectangle ($im, 1, 5, 100, 6, $color3); imagefilledrectangle ($im, 1, 7, 100, 8, $color4); imagefilledrectangle ($im, 2, 9, 99, 10, $color5); //----------------Закрашиваемая часть(синий,без градиента)----------------------------// $color = imagecolorallocate($im, 000, 000, 255); $color2 = imagecolorallocate($im, 000, 000, 255); $color3 = imagecolorallocate($im, 000, 000, 255); $color4 = imagecolorallocate($im, 000, 000, 255); $color5 = imagecolorallocate($im, 000, 000, 255); $color6 = imagecolorallocate($im, 0, 0, 0); if($rat > 0) { imagefilledrectangle ($im, 2, 1, $rats, 2, $color); imagefilledrectangle ($im, 1, 3, $rat, 4, $color2); imagefilledrectangle ($im, 1, 5, $rat, 6, $color3); imagefilledrectangle ($im, 1, 7, $rat, 8, $color4); imagefilledrectangle ($im, 2, 9, $rats, 10, $color5); } ImageString($im, 1, 78, 2, "$rat%", $color6); ImageGIF($im);?>

и прикрепляю к посту полоску рейтинга такая как у мя)
Добавлено спустя   6 минут  5 секунд:
Nu3oN
А у мя идет рейтинг начиная с самого начала картинки полоски рейтинга,получается что в обратную сторону при отрицательном значении не может идти,и вот решил сделать чтоб было разными цветами при положительном и отрицательным значением)

tipsun » 2011.12.23 20:17

За логичность не знаю, но так работает. Замени прежний кусок на этот.

Не, вот весь. =)

Код:

1
span style="color: #0000BB"><?php$rat = (int)$_GET['rat'];$limit = (int)$_GET['limit'];$rats = $rat;if ($rat >= 100) $rats = 99;if ($rat > 100) $rat = 100;if ($limit == "") $limit = 50;if ($limit > 100) $limit = 100;header('Content-type: image/gif');$im = imageCreateFromGIF('grafic.gif');//---------------пустой участок,после закрашеного идет-------------------------// if($rat < 0) { $color = imagecolorallocate($im, 255, 0, 0); $color2 = imagecolorallocate($im, 255, 0, 0); $color3 = imagecolorallocate($im, 255, 0, 0); $color4 = imagecolorallocate($im, 255, 0, 0); $color5 = imagecolorallocate($im, 255, 0, 0); imagefilledrectangle ($im, 2, 1, -$rats, 2, $color); imagefilledrectangle ($im, 1, 3, -$rat, 4, $color2); imagefilledrectangle ($im, 1, 5, -$rat, 6, $color3); imagefilledrectangle ($im, 1, 7, -$rat, 8, $color4); imagefilledrectangle ($im, 2, 9, -$rats, 10, $color5); }//----------------Закрашиваемая часть(синий,без градиента)----------------------------// if($rat > 0) { $color = imagecolorallocate($im, 0, 255, 0); $color2 = imagecolorallocate($im, 0, 255, 0); $color3 = imagecolorallocate($im, 0, 255, 0); $color4 = imagecolorallocate($im, 0, 255, 0); $color5 = imagecolorallocate($im, 0, 255, 0); imagefilledrectangle ($im, 2, 1, $rats, 2, $color); imagefilledrectangle ($im, 1, 3, $rat, 4, $color2); imagefilledrectangle ($im, 1, 5, $rat, 6, $color3); imagefilledrectangle ($im, 1, 7, $rat, 8, $color4); imagefilledrectangle ($im, 2, 9, $rats, 10, $color5); }$textColor = imagecolorallocate($im, 0, 0, 0);imageString($im, 1, 78, 2, "$rat%", $textColor);imageGIF($im);?>

Наоборот идет отрицательный рейтинг. [<==]

Код:

1
span style="color: #0000BB"><?php$rat = (int)$_GET['rat'];$limit = (int)$_GET['limit'];$rats = $rat;if ($rat >= 100) $rats = 99;if ($rat > 100) $rat = 100;if ($limit == "") $limit = 50;if ($limit > 100) $limit = 100;header('Content-type: image/gif');$im = imageCreateFromGIF('grafic.gif');//---------------пустой участок,после закрашеного идет-------------------------// if($rat < 0) { $color = imagecolorallocate($im, 255, 0, 0); $color2 = imagecolorallocate($im, 255, 0, 0); $color3 = imagecolorallocate($im, 255, 0, 0); $color4 = imagecolorallocate($im, 255, 0, 0); $color5 = imagecolorallocate($im, 255, 0, 0); imagefilledrectangle ($im, 102+$rats, 1, 99, 2, $color); imagefilledrectangle ($im, 101+$rat, 3, 100, 4, $color2); imagefilledrectangle ($im, 101+$rat, 5, 100, 6, $color3); imagefilledrectangle ($im, 101+$rat, 7, 100, 8, $color4); imagefilledrectangle ($im, 102+$rats, 9, 99, 10, $color5); }//----------------Закрашиваемая часть(синий,без градиента)----------------------------// if($rat > 0) { $color = imagecolorallocate($im, 0, 255, 0); $color2 = imagecolorallocate($im, 0, 255, 0); $color3 = imagecolorallocate($im, 0, 255, 0); $color4 = imagecolorallocate($im, 0, 255, 0); $color5 = imagecolorallocate($im, 0, 255, 0); imagefilledrectangle ($im, 2, 1, $rats, 2, $color); imagefilledrectangle ($im, 1, 3, $rat, 4, $color2); imagefilledrectangle ($im, 1, 5, $rat, 6, $color3); imagefilledrectangle ($im, 1, 7, $rat, 8, $color4); imagefilledrectangle ($im, 2, 9, $rats, 10, $color5); }$textColor = imagecolorallocate($im, 0, 0, 0);imageString($im, 1, 78, 2, "$rat%", $textColor);imageGIF($im);?>
POFIGISST » 2011.12.23 21:44

tipsun
Работает  :O  спасибо большое  ;)

tipsun » 2011.12.23 23:47

POFIGISST,

Код:

1
span style="color: #0000BB"><?phpdefine('RATING', (int)$_SERVER['QUERY_STRING']);//<img src="image.php?5"... Так будет выглядеть address :)?>
POFIGISST » 2011.12.24 00:00

tipsun
у мя в анкете вот так идет

echo "Рейтинг: <br/><img src='grafic.php?rat=$ank[rating]' alt=''/> <br />";

не знаю как правильнее,но работает)

tipsun » 2011.12.24 20:57

Рейтинг картинка составляется из расчета 0-100%, которые должен сам кодер расчитать и проценты уже в картинку направить.
- - - -
Картинка показывает:
- при 10% "+" голосов относительно "-": [/////////\]
- при 50% "+" голосов относительно "-": [/////\\\\\]
- при 90% "+" голосов относительно "-": [/\\\\\\\\\]

Это вроде как: (+/-)*100. Или если общий расчет, то хмм... не знаю пока.
- - - -
Указывать проценты можно так:

Код:

1
<img src="rating.php?70%" alt="Rating" />

Код:

1
span style="color: #0000BB"><?phpdefine('WIDTH', 50);define('HEIGHT', 5);define('IMAGE', imageCreateTrueColor(WIDTH, HEIGHT));define('M_RATING_COLOR', imageColoralLocate(IMAGE, 220, 0, 0));define('P_RATING_COLOR', imageColoralLocate(IMAGE, 0, 220, 0));$percent = abs((int)$_SERVER['QUERY_STRING']);if (0 != $percent)imageFill(IMAGE, WIDTH-1, HEIGHT-1, P_RATING_COLOR);if (100 > $percent)imageFilledRectangle(IMAGE, WIDTH-1-$percent*(WIDTH/100), HEIGHT-1, 0, 0, M_RATING_COLOR);header('Content-Type: image/jpeg');imagejpeg(IMAGE);?>
POFIGISST » 2011.12.24 21:00

tipsun
кул идея,мне такая даже в голову не приходила=(

tipsun » 2011.12.24 21:11

POFIGISST написал:

tipsun
кул идея,мне такая даже в голову не приходила=(

Это и не моя идея. Я помню на ютубе так же, вроде.

tipsun » 2011.12.24 21:57

Размер картинки можно свободно менять. Индикация не нарушится =)

POFIGISST » 2011.12.24 23:09

tipsun написал:

Размер картинки можно свободно менять. Индикация не нарушится =)

Точно,ты прав насчет ютюба,там сеня смотрел +100500 и заметил такой рейтинг(

tipsun » 2011.12.24 23:12

Да ниче. Теперь будет такой же у любого :)

POFIGISST » 2011.12.24 23:29

tipsun
Ой,а я и не видел код,когда смотрел пост,там еще кода не было=)

tipsun » 2011.12.25 11:22

over9000 раз уже отредактировал код.
Лишний раз заливать не стоит... Заодно и % ограничил. =)

POFIGISST » 2011.12.26 01:37

Была поставлена такая задача, показ ссылки только для жителей из России и Украины,реализовал её вот так

Код:

1
2
3
4
5
6
7
8
9
$ip_adr = $_SERVER['HTTP_X_FORWARDED_FOR'];
$ip_adr = trim(strtok($ip_adr, ','));
$xml = file_get_contents('http://ipgeobase.ru:7020/geo?ip='.$ip_adr);
$xml_object = simplexml_load_string($xml);
$country = $xml_object->ip->country;
if($country == "RU" or $country == "UA")
{
echo '<a href="">Адрес нужной ссылки</a>';
}

подскажите,может быть как нибудь по другому можно сделать? или у меня какие либо ошибки в коде?:)

Gemorroj » 2011.12.26 12:56

почему $ip_adr = $_SERVER['HTTP_X_FORWARDED_FOR']; ? nginx?

tipsun » 2011.12.26 20:52

tipsun написал:

Рейтинг картинка составляется из расчета 0-100%, которые должен сам кодер расчитать и проценты уже в картинку направить.
- - - -
Картинка показывает:
- при 10% "+" голосов относительно "-": [/////////\]
- при 50% "+" голосов относительно "-": [/////\\\\\]
- при 90% "+" голосов относительно "-": [/\\\\\\\\\]

Это вроде как: (+/-)*100. Или если общий расчет, то хмм... не знаю пока.
- - - -
Указывать проценты можно так:

Код:

1
<img src="rating.php?70%" alt="Rating" />

Код:

1
span style="color: #0000BB"><?phpdefine('WIDTH', 50);define('HEIGHT', 5);define('IMAGE', imageCreateTrueColor(WIDTH, HEIGHT));define('M_RATING_COLOR', imageColoralLocate(IMAGE, 220, 0, 0));define('P_RATING_COLOR', imageColoralLocate(IMAGE, 0, 220, 0));$percent = abs((int)$_SERVER['QUERY_STRING']);if (0 != $percent)imageFill(IMAGE, WIDTH-1, HEIGHT-1, P_RATING_COLOR);if (100 > $percent)imageFilledRectangle(IMAGE, WIDTH-1-$percent*(WIDTH/100), HEIGHT-1, 0, 0, M_RATING_COLOR);header('Content-Type: image/jpeg');imagejpeg(IMAGE);?>

Все это чушь!
html+css спокойно так же сделать можно.
Кстате, на ютубе так же и сделано.

tipsun » 2011.12.29 21:13

session_write_close();
Там какой-то баг с сессией. Можете поподробней рассказать, пример показать?
Я на другом ресурсе читал это, а закладку не сохранил :(

Gemorroj » 2011.12.29 21:48

где ТАМ?

tipsun » 2011.12.29 21:58

Ссылка на коммент.
- - - -
Черт, вроде корректная была.
- - - -
Anonymous 25-Mar-2010 07:44
You can have interesting fun debugging anything with sleep( ) initif you have a session stillactive. For example, a page that makes an ajax request, where the ajax request polls a server-side event (and may not return immediately) . If the ajax function doesn't do session_write_close(), then your outer page will appear to hang, and opening other pages in new tabs will also stall.

Gemorroj » 2011.12.30 10:51

ну и? известная штука, кто поллинг делал, наверняка сталкивался уже.

POFIGISST » 2012.01.02 09:00

Скажите,что это "Fatal error: Call to undefined function аrrау() in Q:\home\test5.ru\www\test.php on line 2" за ошибка такая?
по идее там у меня должно выводить значение из массива,вот такой код

$meat = аrrау("chicken", "steak", "turkey");
echo $meat[1];

в чем тут ошибка?

хотя можно еще другими вариантами массив создавать,например
///////////////////////////////////
$meat  = array(
        "1" => "11",
                "2" => "22",
                "3" => "33",
                "4" => "44",
        "5" => "55",
        "6" => "66",
        "7" => "77"
        );

echo $meat[1];
/////////////////////////////////////////////

или же вот так

$meat[] = "chicken";

$meat[] = "steak";

Smeat[] = "turkey";

echo $meat[1];

но хочется чтоб кода меньше было)

Gemorroj » 2012.01.02 13:31

POFIGISST, у тебя в слове array - русские буквы a и у.

POFIGISST » 2012.01.02 14:21

Gemorroj Спасибо Паш,моя не внимательность (( копировал слово из учебника по пыху((

POFIGISST » 2012.01.03 09:22

Блин,в книге написано,что вот таким кодом
$a = 8;
$b = 0;
print  $a == $b;

должно выводить 0 если переменные не равны,и если равны то 1,когда они равны выводит 1,а если не равно,то нифига не выводит,хотя должно выводить 0
хотя если нужно чтоб выводило 0 или 1 то можно сделать так

$a = 8;
$b = 0;
if ($a == $b) print "1";
else print "0";
но хочется чтоб кода было поменьше) так вот вопрос,должно в первом коде выводить 0 или нет если там значения не равны?)

Gemorroj » 2012.01.03 11:35

ну да, false не преобразуется в 0. опечатка, наверное.
можно так print (int)($a == $b); или так print $a == $b ? 1 : 0;

POFIGISST » 2012.01.03 12:18

Gemorroj Спс=) учебник качал с php.su , наверное опечатка=)

Nu3oN » 2012.01.04 01:01

Как лучше в классе навигации передавать в шаблон навигацию? (всмысле список страниц типа: 1,2,3,4...10)
Обычно строкой уже выдавал, но неудобно выходит с разметкой! если надо поменять что-то, то надо менять в классе!
Есть идея отдавать в виде массива, но тогда придется в шаблоне делать цикл!

tipsun » 2012.01.04 09:42

Nu3oN, у меня в классе в виде массива отдается ранжировка. Кстати ты свой класс навигации выложить можешь, для ознакомительных целей? На ранжировку (1, 2, 3, 4, ..., 10) посмотреть хочу, как она у тебя генерируется.

Gemorroj » 2012.01.04 11:27

Nu3oN, можно хэлперы добавить, которые будут генерить html код по объекту или массиву. т.е. в фреймворке заранее написать несколько наиболее частых видов навигации. ну эт так, мысли по теме..)

Nu3oN » 2012.01.04 14:21

tipsun написал:

Nu3oN, у меня в классе в виде массива отдается ранжировка. Кстати ты свой класс навигации выложить можешь, для ознакомительных целей? На ранжировку (1, 2, 3, 4, ..., 10) посмотреть хочу, как она у тебя генерируется.

я его уже как то тут выкладывал! чуть попозже скину =)
Я вообще идею у кого-то воровал, уже не помню!

warwap » 2012.01.06 00:02

привет. вопрос;
как вивести темы закрипленые вверху? вот структура  $q = mysql_query("SELECT * FROM `forum_podtems` WHERE `fid` = '".$f."' ORDER BY `times` DESC LIMIT $start, 10;");  `pr` = 1 тема закреплена

Nu3oN » 2012.01.06 00:11

В общем такая беда, необходимо из класса вызвать определенный метод!
Я делаю это так:

Код:

1
span style="color: #0000BB"><?php/* * Создаем объект класса контроллера. */$objController = new $_RTR -> get('name') -> controller;/* * Вызываем необходимый нам метод из $objController. */call_user_func_array( array( $objController, $_RTR -> get('name') -> method ), array() );?>

Но жопой чувствую что можно это сделать более красиво!

Gemorroj » 2012.01.06 01:02

warwap написал:

привет. вопрос;
как вивести темы закрипленые вверху? вот структура  $q = mysql_query("SELECT * FROM `forum_podtems` WHERE `fid` = '".$f."' ORDER BY `times` DESC LIMIT $start, 10;");  `pr` = 1 тема закреплена

Код:

1
2
3
4
5
6
7
$q = mysql_query("
SELECT *
FROM `forum_podtems`
WHERE `fid` = $f
ORDER BY `pr` DESC, `times`DESC
LIMIT $start, 10;
");
warwap » 2012.01.06 01:11

Gemorroj, болъшое спасибо

Gemorroj » 2012.01.06 01:13

Nu3oN написал:

Но жопой чувствую что можно это сделать более красиво!

Код:

1
2
$objController = new $_RTR -> get('name') -> controller;
$objController -> {$_RTR -> get('name') -> method}();

но вообще, мне кажется в классе RTR (не знаю что это) хорошо бы сделать метод для более простого вызова метода контроллера.
т.е что-то такое

Код:

1
$_RTR->get('name')->run();
Nu3oN » 2012.01.07 02:13

честно сказать я сам х.з что там творится xD
я там такой херни налепил, что черт ногу сломает)))))

POFIGISST » 2012.01.07 16:09

нужно было сделать в чате,отключение вывода фоток в анкетах,чтоб у кого не безлим могли отключать и траф не жрало,сделал через базу вот таким кодом

Код:

1
2
3
4
5
if($inf[otkl]=='0') {
if($inf[photo]!=NULL) echo '<a href="'.H.'photo'.$inf[id].'"><img src="'.H.'photo_img?'.$inf[id].'" alt="Фото" title="Комментарии к фото"/></a><br />'.links.'» <a href="'.H.'photo'.$inf[id].'">Комментарии к фото</a>'.div.'';
else echo '<img src="'.H.'img/no-photo.gif" alt="no_photo"/><br /><br />';
}
else echo '';

по умолчанию в базе идет 0 , то есть вывод фоток, первый раз делал такую вложенность в конструкции if else , код работает,но наверное есть более оптимальный вариант как сделать такую конструкцию((

tipsun » 2012.01.07 17:01

POFIGISST, вроде так вот тоже можно.

Код:

1
span style="color: #0000BB"><?phpif (! $inf['otkl']) { if($inf['photo']) echo '<a href="' . H . 'photo' . $inf['id'] . '">'. '<img src="' . H . 'photo_img?' . $inf['id'] . '" alt="Фото" title="Комментарии к фото"/>'. '</a><br/>' . links . '» <a href="' . H . 'photo' . $inf['id'] . '">Комментарии к фото</a>' . div; else echo '<img src="' . H . 'img/no-photo.gif" alt="no_photo"/><br/><br/>';}
Gemorroj » 2012.01.07 21:39

первое что бросается в глаза - otkl. Транслитом назвать переменные никогда нельзя)

POFIGISST » 2012.01.08 11:03

Gemorroj
а почему нельзя транслитом называть?=)
Добавлено спустя   1 минуту  53 секунды:
попытался под авы переписать,но чет запутался немног в if else ((вот такой код

Код:

1
span style="color: #0000BB"><?php$sit = $_SERVER['HTTP_HOST'];if($inf['no_ava']=='0') {if($izm['sil']!='')echo '<img src="'.$izm['sil'].'" width="120" height="120> alt="ava"/><br/>';if($izm['sil']=='')echo '<img src="http://'.$sit.'/'.$inf['myavatar'].'" width="120" height="120> alt="ava"/><br/>';else echo '';}}?>

ошибку не показывает,но и работать тоже не хочет(

tipsun » 2012.01.08 11:33

Вроде { лишняя попалась.
А вообще лучше пиши какая ошибка была, так понятней будет.

POFIGISST написал:


Код:

1
span style="color: #0000BB"><?php$sit = $_SERVER['HTTP_HOST'];if(! $inf['no_ava']) { if($izm['sil']) echo '<img src="'.$izm['sil'].'" width="120" height="120> alt="ava"/><br/>'; if(! $izm['sil']) echo '<img src="http://'.$sit.'/'.$inf['myavatar'].'" width="120" height="120> alt="ava"/><br/>';}//}?>
Gemorroj » 2012.01.08 11:33

POFIGISST, потому что, например, Расмус Лердорф не поймет ='(

POFIGISST » 2012.01.08 11:42

tipsun
syntax error, unexpected $end такая ошибка если убрать { , получается что закрытия нету(
Добавлено спустя   1 минуту :
Gemorroj
сомневаюсь,что кто-то увидит когда нибудь мой код,тем более Лердорф Расмус =(

tipsun » 2012.01.08 12:01

Ой не "{", а эта лишняя "}"
Ты правильно скопировал код?

POFIGISST » 2012.01.08 12:01

Код:

1
span style="color: #0000BB"><?php$sit = $_SERVER['HTTP_HOST'];if($inf['no_ava']!='0') {if($izm['sil']!=''){echo '<img src="'.$izm['sil'].'" width="120" height="120> alt="ava"/><br/>';}else{echo '<img src="http://'.$sit.'/'.$inf['myavatar'].'" width="120" height="120> alt="ava"/><br/>';}}else echo '';}?>

вот так гуд)

tipsun » 2012.01.08 12:03

POFIGISST, Ну вот, можешь когда хочешь :)
- - - -
Расмус Лердорф
По словам разработчика языка, первая версия PHP была написана буквально за день в промежутках между деловыми встречами.
Ох нифига умище!

POFIGISST » 2012.01.08 12:38

tipsun написал:

POFIGISST, Ну вот, можешь когда хочешь :)
- - - -
Расмус Лердорф
По словам разработчика языка, первая версия PHP была написана буквально за день в промежутках между деловыми встречами.
Ох нифига умище!

ну над же как-то учиться  ;)

Расмус Лердорф

tipsun » 2012.01.08 12:50

Да-да, я как раз с вики прочитал.

Gemorroj » 2012.01.08 15:30

POFIGISST, пейсатели всяких бодрчатов и прочих ваплогов так же думали ;)

Nu3oN » 2012.01.10 20:35

Раньше особо не работал с изображениями, в общем это нормально?

Код:

1
span style="color: #0000BB"><?php/* * Отправляем заголовки. */header('Content-type: image/gif');header('Content-Disposition: attachment; filename=' . PREFIX_DOWN_FILES . time() . '.gif');header('Content-Transfer-Encoding: binary');/* * Получение информации о изображении. */$getSize = getimagesize($strFile);/* * Открываем изображение для дальнейшей работы. */switch (strrchr($getSize['mime'], '/')): case '/gif': $getImage = imagecreatefromgif($strFile); break; case '/jpeg': case '/jpg': $getImage = imagecreatefromjpeg($strFile); break; case '/png': $getImage = imagecreatefrompng($strFile); break; endswitch;/* * Узнаем соотношения. */$getRatioOne = $strWidth / $getSize[0];$getRatioTwo = $strHeight / $getSize[1];$getRatio = ($getRatioOne > $getRatioTwo) ? $getRatioTwo : $getRatioOne;if ($boolProportion) { /* * Если пропорции сохранять не надо. */ $newWidth = $strWidth; $newHeight = $strHeight;} else { /* * Если надо сохранить пропорции. */ $newWidth = intval($getSize[0] * $getRatio); $newHeight = intval($getSize[1] * $getRatio);}/* * Создаем новое изображение. */$newImage = imagecreatetruecolor($newWidth, $newHeight);/* * Изменяем размер изображения. */imagecopyresampled($newImage, $getImage, 0, 0, 0, 0, $newWidth, $newHeight, $getSize[0], $getSize[1]);/* * Выводим полученое изображение. */imagegif($newImage, null, 75);/* * Очищаем буфер. */imagedestroy($getImage); imagedestroy($newImage);?>
Gemorroj » 2012.01.10 21:10

тип изображения определяй с помощью getimagesize, а не по расширению.

Nu3oN » 2012.01.10 21:26

Исправил! помню как то я аккуратно резал изображение подгоняя под ширину и длинну!
не могу вспомнить! удобно бы было заместо

Код:

1
span style="color: #0000BB"><?php$newWidth = $strWidth;$newHeight = $strHeight;?>

А то такая ерунда растягивает изображение!

Gemorroj » 2012.01.10 21:46

http://wapinet.ru/script/show.php?d=%2F … p;f=im.php
то, что там по расширению определяется - не верно, но посмотри оттуда ресайз с сохранением пропорций.

Nu3oN » 2012.01.10 23:11

Gemorroj написал:

http://wapinet.ru/script/show.php?d=%2F … p;f=im.php
то, что там по расширению определяется - не верно, но посмотри оттуда ресайз с сохранением пропорций.

Что-то и идея и реализация не очень!
Вот намудрил, вроде исправно работает:

Код:

1
span style="color: #0000BB"><?php/* * Отправляем заголовки. */header('Content-type: image/gif');header('Content-Disposition: attachment; filename=' . PREFIX_DOWN_FILES . time() . '.gif');header('Content-Transfer-Encoding: binary');/* * Получение информации о изображении. */$getSize = getimagesize($strFile);/* * Открываем изображение для дальнейшей работы. */switch (strrchr($getSize['mime'], '/')): case '/gif': $getImage = imagecreatefromgif($strFile); break; case '/jpeg': case '/jpg': $getImage = imagecreatefromjpeg($strFile); break; case '/png': $getImage = imagecreatefrompng($strFile); break; endswitch;/* * Узнаем соотношения. */$getRatioOne = $strWidth / $getSize[0];$getRatioTwo = $strHeight / $getSize[1];$getRatio = max($getRatioOne, $getRatioTwo);if ($boolProportion) { /* * Если пропорции сохранять не надо. */ $getSize[1] = $strHeight / $getRatio; $getShift = ($getSize[0] - $strWidth / $getRatio) / 2; $getSize[0] = $strWidth / $getRatio; /* * Создаем новое изображение. */ $newImage = imagecreatetruecolor($strWidth, $strHeight); /* * Изменяем размер изображения. */ imagecopyresampled($newImage, $getImage, 0, 0, $getShift, 0, $strWidth, $strHeight, $getSize[0], $getSize[1]); } else { /* * Если надо сохранить пропорции. */ $newWidth = intval($getSize[0] * $getRatio); $newHeight = intval($getSize[1] * $getRatio); /* * Создаем новое изображение. */ $newImage = imagecreatetruecolor($newWidth, $newHeight); /* * Изменяем размер изображения. */ imagecopyresampled($newImage, $getImage, 0, 0, 0, 0, $newWidth, $newHeight, $getSize[0], $getSize[1]);}/* * Выводим полученое изображение. */imagegif($newImage, null, 75);/* * Очищаем буфер. */imagedestroy($getImage); imagedestroy($newImage);?>
Gemorroj » 2012.01.10 23:42

http://www.php.net/manual/ru/function.g … php#102418 лучше не по миме определять.
работает - ок)
и еще, почему гиф? png - тру)

Nu3oN » 2012.01.10 23:50

Ну это скрипт зц для мобильников! думаю по весу gif будет проще для трафика пользователей =)

Gemorroj » 2012.01.11 01:10

Nu3oN, по моим прикидкам, как раз таки png меньше весит чаще.

Nu3oN » 2012.01.11 01:13

Сейчас проверю, но на сколько мне известно, пнг за счет своего хорошего качества всегда весит больше
Добавлено спустя   1 минуту  33 секунды:
Это я опираюсь на мою практику работы в графических редакторах! Как себя ведет пых в таких ситуациях х.з

Nu3oN » 2012.01.11 01:23

Хм... По неизвестной мне причине png файл создаваться не хочет о_О
Добавлено спустя   2 минуты  12 секунд:
А все! туплю! В общем я был прав, gif -37кб, png-89кб, а вот выигрывает вообще jpg, у него 10кб
::thumb982::  ::thumb983:: ::thumb984::
Разницы в качестве не видно (если не увеличивать), так зачем пользователю лишний слив трафика?)))

Gemorroj » 2012.01.11 01:57

ну это смотря какая картинка тоже.

Warwap » 2012.01.13 01:50

Привет, подскажи пожалоста кад для mp3 id3.

Чтоб при импортировке файла на хост (пример:  wapinet.ru/music.mp3)  файл сохранялся с тегом альбома site.ru

Nu3oN » 2012.01.13 02:33

А какое отношение id3 имеет к названию импортируемого файла?
Добавлено спустя   2 минуты  22 секунды:
А! Понял! Тебе надо в тегах (метаданных) записать имя песни? если да, то вот:

Код:

1
span style="color: #0000BB"><?php require_once ('Mp3_Id.php'); $id3 = new MP3_Id(); $result = $id3 -> read('путь к mp3 файлу'); $id3 -> setTag('name', 'название песни'); $id3 -> write();?>

А вот класс MP3_Id http://wapinet.ru/forum/download.php?aid=986

Warwap » 2012.01.13 04:29

Ошибка
Fatal error: Class 'PEAR' not found in /home/warwap/public_html/obmen/MP3_Id.php on line 194

Gemorroj » 2012.01.13 11:57

поставь PEAR. И еще этот класс работает только с Idv1, а не с Idv2

Nu3oN » 2012.01.13 17:12

Gemorroj ну тогда http://pear.php.net/package/MP3_IDv2

Gemorroj » 2012.01.13 18:00

http://getid3.sourceforge.net/

Nu3oN » 2012.01.13 18:33

Gemorroj написал:

http://getid3.sourceforge.net/

Что-то я не догоню как там инфу вытянуть

Gemorroj » 2012.01.13 18:41

я тоже, но по описанию либа всемогущая))
там экзамплы просто пиздец. как будто сам эти теги разгребаешь, безо всякой помощи.

Nu3oN » 2012.01.20 00:19

Не могу вникнуть! как вытащить скриншет из тем для мобилок?
я понял что надо его открыть, а вот откуда его брать? :/
Там много изображений, но как понять какое нужно мне?
Я думал wallpaper.jpg но не во всех темах оно есть!

Nu3oN » 2012.01.20 00:32

Кажется разобрался с одним из форматов тем!
логика такова: открываем nth файл, открываем theme_descriptor.xml узнаем что у нас в <wallpaper  ...> если изображение, то как обычно выводим изображение!
если swf то ничего не выводим =)
Добавлено спустя   3 минуты  20 секунд:
с thm та же логика! открываем thm файл, открываем Theme.xml узнаем что у нас в <Background_image> и узнаем имя файла фона
utz таже логика что и у thm, только смотрим что у нас в <preview>

а что делать с sis?

POFIGISST » 2012.01.20 01:30

Такой вопрос у меня,как можно сделать определение поддерживается ли сжатие страниц софтом ?

Gemorroj » 2012.01.20 12:37

Nu3oN, там вроде еще есть варианты с nth,utz,thm. а с sis, да, проблема. открыть этот формат у меня так и не вышло. готовых реализаций работы с sis я не видел, а реализовывать свое, основываясь на доках нокии побоялся)
POFIGISST, заголовки Accept-Encoding или TE.

POFIGISST » 2012.01.21 00:41

Gemorroj
спс Паш=)

TLENS » 2012.01.22 02:38

Не срабатывает сборщик мусора в сессиях.
в php.ini все настроено для чистки:
шанс запуска 1 к 10 и время 24 минуты.
session.gc_probability = 1
session.gc_divisor = 10
session.gc_maxlifetime = 1440
И права все выставленные правильно, владелец www-data
Но все же забивает сотни тысяч файлов и сайты выходят из строя
Прблема решена. Забыл об apachectl restart

POFIGISST » 2012.01.22 16:03

а можно как нить сделать,чтоб ссылка не показывалась на определенной странице? у меня идет файл foot и там ссыль на главную,и на всех страницах эта ссыль показывается, и на главной в том числе,и вот хочу как нибудь сделать,чтоб эта ссылка показывалась на всех страницах,а на главной она не выводилась,это мне для главной над другой файл фоот писать? или же можно как то сделать чтоб ссылка на главной не отображалась?

tipsun » 2012.01.22 16:07

POFIGISST

Код:

1
span style="color: #0000BB"><?php$main = 1; // на главной//на остальных ниче не надо.//а файле foot.phpif (! $main) echo '<a href="/">Главная</a>';
POFIGISST » 2012.01.22 21:26

tipsun
Спасибо,работает,даже обидно,что сам не додумался=(

POFIGISST » 2012.01.25 00:06

Реклама от бегуна мне покоя не дает уже неделю дет, накатал простой грабб поиска музыки с o5wap.ru все вырезал (счетчики,рекламные ссылки,копирайт и т.д.) а рекламу от бегуна не могу ни как вырезать,помогите с вырезкой этой рекламы,или её вырезать нельзя? вот мое г творение  http://xporno.in/ppoissk/   ( там сразу под кнопкой "Найти" реклама,и  ссылка там на пол страницы если посмотреть исходный код,подскажите как её вырезать((

Gemorroj » 2012.01.25 00:32

Код:

1
2
3
$file = file_get_contents('http://xporno.in/ppoissk/');
$file = preg_replace('/<div id="begun_block.+[^<\/div>]/', '', $file);
echo $file;
POFIGISST » 2012.01.25 01:00

Gemorroj
Ты как волшебник Паш,всегда все знаешь,спасибо огромное=)

POFIGISST » 2012.01.25 23:13

Gemorroj написал:

почему $ip_adr = $_SERVER['HTTP_X_FORWARDED_FOR']; ? nginx?

Эт чтоб юзеры которые сидят с оперы  из России и Украины тоже видели ссыль,идет реальный ип юзера и ип прокси =)

warwap » 2012.01.26 00:24

привет. вопрос как сделать чтоб название файла менялось? вот код
<?php
$font='Turtles.ttf';
$line=''.$_SERVER['HTTP_HOST'].'';
$head='image/jpeg';
if (isset($_GET['file']) and preg_match('/^[A-z0-9_\.\/\-]+$/',$_GET['file'])) {
$url='http://wapos.ru/im/base/'.$_GET['file'];
$get=get_headers($url,1);
if ($get[0]!='HTTP/1.1 200 OK') {header ('location:index.php'); exit;}
if ($get['Content-Type']==$head)
{$new_image=@file_get_contents($url);
$new_image=imagecreatefromstring($new_image);
$f=imagecolorallocate($new_image,200,200,200);
imagettftext($new_image,15,0,14,14,$f,$font,$line);
header('Content-Type: image/jpeg');
imagejpeg($new_image);
imagedestroy($new_image);}else{header ('location:'.$url);}
}else{header ('location:index.php');}
?>

Gemorroj » 2012.01.26 00:31

O_o

warwap » 2012.01.26 00:35

?

tipsun » 2012.02.05 13:15

Если, допустим, с файла index.php отправить на свой же сайт заголовки (с данными/GET|POST), то файл, который принимает эти заголовки, будет выполнять работу, при отсутствии браузера?

Nu3oN » 2012.02.05 14:04

Откуда берется еще один тик?

Код:

1
span style="color: #0000BB"><?php$a = 0;function getLimitParse($b) { global $a; print $a++ . ' -> next <br />';}print 'start <br />';register_tick_function ('getLimitParse'); declare (ticks=1){ 1;}print 'end';?>

Результат выполнения

start
0 -> next
1 -> next
end

Gemorroj » 2012.02.06 12:23

Код:

1
span style="color: #0000BB"><?phpfunction getLimitParse() { static $a = 0; print $a++ . ' -> next' . "\n";}register_tick_function ('getLimitParse');print 'start' . "\n";declare(ticks=1) { '1 tick'; '2 tick';}print 'end';

я не работал с тиками, но так погоняв код, склоняюсь к мысли, что один тик (нулевой в данном случае) происходит всегда. мб само объявление declare считается тоже.

POFIGISST » 2012.02.12 21:18

а если такой $posts=rand(1,200); ранд задаеться,это же число будет колебаться от 1 до 200 ?))

Gemorroj » 2012.02.12 21:29

лучше mt_rand

POFIGISST » 2012.02.13 20:49

это тогда вот так будет $posts=mt_rand(1,200) , увеличивает скорость генерации чисел по сравнению с   rand =) Спс =)

tipsun » 2012.02.13 23:53

session_regenerate_id() - регенерирует id
А при этом сохраняется срок/домен/итд самой куки?
Если указать true - то она удаляет старый файл или создает новый и сохраняет инфу старого файла?

tipsun » 2012.02.14 00:09

tipsun написал:

session_regenerate_id() - регенерирует id
А при этом сохраняется срок/домен/итд самой куки?
Если указать true - то она удаляет старый файл или создает новый и сохраняет инфу старого файла?

Она удаляет старый файл И сохраняет инфу старого файла/копирует.
Но не копирует инфу со старой куки: срок/домен/итд... Если явно не указано тобой/мной через session_set_cookie_params()

tipsun » 2012.02.16 17:06

Как представить секунды в виде даты?
Так можно? Или легче есть?

Код:

1
span style="color: #0000BB"><?php//Для юзера обычно запускается.session_start();//Обычно для счетчика онЛайн бывает уже задан.$offTimeLimit = 240; //seconds = 4 minutes//$_SESSION = array();///*$_SESSION['lastActivity'] -= $_SERVER['REQUEST_TIME'];if ($offTimeLimit > -$_SESSION['lastActivity']) { $_SESSION['onLineTime'] -= $_SESSION['lastActivity'];} $_SESSION['lastActivity'] = $_SERVER['REQUEST_TIME'];//*/function secToDate($value){ $array = getDate($value); $array['mday'] -= 1; $array['mon'] -= 1; $array['year'] -= 1970; return sprintf('%01d/%01d/%01d %02d:%02d:%02d', $array['mday'], $array['mon'], $array['year'], $array['hours'], $array['minutes'], $array['seconds']);}echo '<pre>';echo secToDate($_SESSION['onLineTime']);echo '</pre>';
POFIGISST » 2012.02.17 18:58

Такой вопрос по бд возник,если делать функцию как в вк 'мне нравится' то как там ид того кому понравилось в базу заносится? Неможет же в бд для каждого кому понравилось создаватся новое поле) а если ид всех заносить в одно поле,то скрипт не разделит то число что в базе на иды тех кому понравилось,так как же в базу ИДы заносятся?

tipsun » 2012.02.17 19:29

Учесть повторы.
"Объект любви" должен быть.

Код:

1
| table_id | object_address | browser | ip | referer |

Наверно такая таблица нужна.

POFIGISST » 2012.02.18 04:31

Ну учесть повторы можно через ид,если юзер кликает,то его ид идет,ну и потом делать проверки из базы,если в ней есть уже ид юзера,ну тоесть он уже кликал,то повторно незасчитывать клик)я прост х.з как в базу ИДы тех кто клинул заносить чтоб потом можно было посмотреть кто кликал,ведь юзеров может быть и 1000,вот как эту 1000 ИДов заносить в базу,а потом выводить их по отдельности я х.з.(

tipsun » 2012.02.18 10:23

Я думал для всех, даже для гостей будет система работать.
Тогда наверно так:

Код:

1
| table_id | object_address/id | user_id |
POFIGISST » 2012.02.18 14:09

tipsun спасиб,дома буду еще код блогов посмотрю,там такая функция есть,посмотрю как там это сделано:-)

ByVlad » 2012.02.18 15:26

как вы все знаете в mysqli нету метода result.
как его можно прикрутить так, что бы он работал не как функция $mysqli -> result($mysqli -> query())
а как $mysqli -> query("SOME QUERY") -> result();
буду благодарен за помощь.

Gemorroj » 2012.02.18 23:13

ByVlad, использовать mysqli не как нативный класс, а наследовать его своим классом и воротить там все что угодно.
т.е.
MyMySqli extends mysqli
{

}

POFIGISST » 2012.02.21 08:15

какой функцией заменяют в граббах реальный адрес на адрес домена где стоит грабб,чтоб скрыть реальный адрес?=)

Gemorroj » 2012.02.21 11:44

трах тибидох

POFIGISST » 2012.02.21 12:04

пи*датая функция:D

tipsun » 2012.02.21 22:10

Gemorroj
:D
POFIGISST
» str_replace()
» preg_replace()
» substr_replace()

POFIGISST » 2012.02.22 11:43

Блее,почему может кнопка не работать? код вродь весь правильно написал,а кнопка не кликабельна(( и х.з почему((

вот такой код идет у мя

Код:

1
span style="color: #0000BB"><?phpinclude 'inc/head.php'; include 'inc/config.php';?><form action="/inc/insert.php" method="post" name="form"></form><p> Введите название фильма: <br/><input name="nazv" type="text" size="50" maxlength="200"></p><p> Введите описание фильма:<br/> <input name="opis" type="text" size="50" maxlength="255"></p><p> Введите код фильма:<br/> <input name="kod" type="text" size="50"></p><p> Введите дату добавления:<br/> <input name="data" type="text" size="50"></p><input class="submit" type="submit" value="Добавить">

и кнопка "Добавить" не работает нихера(( какая тут ошибка у меня?

проверил обработчик,с ним все норм,добавляет инфу в базу))

tipsun » 2012.02.22 13:27

POFIGISST, </form> - закрыл не там, где надо.

Код:

1
span style="color: #0000BB"><?php//HTML<form action="/inc/insert.php" method="post" name="form"> <p> Введите название фильма: <br/> <input name="nazv" type="text" size="50" maxlength="200" /></p> <p> Введите описание фильма:<br/> <input name="opis" type="text" size="50" maxlength="255" /></p> <p> Введите код фильма:<br/> <input name="kod" type="text" size="50" /></p> <p> Введите дату добавления:<br/> <input name="data" type="text" size="50" /></p> <input class="submit" type="submit" value="Добавить" /></form>
POFIGISST » 2012.02.22 15:31

tipsun
спасибо,чет я ступил(( теперь нормик работает)))

Siddhesh » 2012.02.27 00:37

Hey friends, i want know how to make 'download counter" for AutoIndex Script(its means how many times files has been download). Please use english because i don't know russian language .i m using google translator using reading this forum

Gemorroj » 2012.02.27 11:34

http://wapinet.ru/script/show.php?d=%2F … %2Fout.zip

POFIGISST » 2012.02.27 16:34

пишу запрос в базу,который будет в файле запускаться по крону, но он не работает(( вот сам запрос mysql_query("update `users` where day = '".date("d")."' and month = '".date("m")."' set `posts`=`posts`+'200'"); то есть над обновить поле posts в таблице users где инфа в поле  day совпадает с сегодняшним днем и так же где инфа из поля month совпадает с текущим месяцем и если условия совпадают то в поле posts добавить 200 ( но дет я накосячил,и запрос нихера не работает(

Gemorroj » 2012.02.27 18:59

сначала set, а потом where

POFIGISST » 2012.02.27 19:18

Gemorroj
Спс =) тогда вот так запрос идет mysql_query("update `users` set `posts`=`posts`+'200' where day = '".date("d")."' and month = '".date("m")."'"); теперь работает все =)

Nu3oN » 2012.03.03 18:46

Как облегчить учесть такого запроса?

Код:

1
span style="color: #0000BB"><?php DB :: $dbh -> query("UPDATE ".RotorPrivat :: TABLE_LIST." l, ".RotorPrivat :: TABLE_PRIVAT." p, ".RotorPrivat :: TABLE_PRIVAT." o, `users` u SET l.`list_new` = '0', p.`privat_read` = '1', o.`privat_read` = '1', u.`users_newprivat` = u.`users_newprivat` - ".$getCorresp['list_new']." WHERE l.`list_id` = ? AND u.`users_login` = ? AND p.`privat_user` = ? AND p.`privat_author` = ? AND o.`privat_user` = ? AND o.`privat_author` = ?;", array($getCorresp['list_id'], self :: $_userLogin, self :: $_userLogin, $user, $user, self :: $_userLogin) );?>

Когда записей больше 10 000 этот запрос очень тяжко переживает этот процесс...

Gemorroj » 2012.03.03 20:15

какие индексы на таблицах стоят?
я не вижу связи таблицы TABLE_LIST и TABLE_PRIVAT

Nu3oN » 2012.03.03 20:27

Индексы стоят везде где выборка происходит!
P/s проблема решена! просто разделил все на отдельные запросы и все стало работать на порядок быстрее

Gemorroj » 2012.03.03 21:06

у тебя не связаны эти 2 таблицы. почти уверен что проблема в этом.

POFIGISST » 2012.03.09 02:58

бля,написал код для очистки файлов по запуску крона,но не хочет работать(( крон выставляю 100% правильно,так как у меня там еще 2 задания стоят которые норм работают,файл тоже 100% рабочий,если вручную запускать,то срабатывает)) а по крону не хочет(( может проблема в коде,вот сам код)

Код:

1
span style="color: #0000BB"><?php$dir='sxv/files';$dh = opendir($dir);while(($file=readdir($dh))!==false){if($file!='.' && $file!='..'){unlink($dir.'/'.$file);echo 'файл "'.$file.'" удален нах<br/>';}}closedir($dh);?>
Gemorroj » 2012.03.09 13:52

делай логирование ошибок. т.е.

Код:

1
span style="color: #0000BB"><?php$dir = 'sxv/files';$dh = opendir($dir);if (!$dh) { exit('Невозможно открыть директорию "' . $dir . '"');}while (($file = readdir($dh)) !== false) { if ($file != '.' && $file != '..') { if (unlink($dir . '/' . $file)) { echo 'файл "' . $file . '" удален' . PHP_EOL; } else { echo 'ошибка при удалении файла "' . $file . '"' . PHP_EOL; } }}closedir($dh);

+ там нужна проверка на то, что это файл или директория, как минимум.

tipsun » 2012.03.11 20:42

Еще лучше сделать возможно?
И вообще стоит http_build_query() использовать?
Вроде как тот запрос, что содержится в url никуда не исчезает
+ должно действовать по принципу: <a href="/">/</a>

Код:

1
span style="color: #0000BB"><?phpfunction redirect ($url='', $params=''){ $redirect = $_SERVER['HTTP_HOST']; if ($url and '/' == $url{0}) { $redirect .= DIRECTORY_SEPARATOR . subStr($url, 1); } else { $redirect .= dirName($_SERVER['PHP_SELF']) . DIRECTORY_SEPARATOR . $url; } if (is_array($params) and array() <> $params) { $redirect .= (strPos($url, '?') ? '&' : '?') . http_build_query($params, null, '&'); } //Windows "\" and "/+" $redirect = preg_replace('#[\\\\/]+#', '/', $redirect); header('Location: http://' .