Вы не зашли.
Главная » PHP » PHP+MySQL
#1. Admin Off (-1)
Administrator
2007.11.03 03:03
Постараюсь помочь в данном направлении smile
сердце пронзенное ветром
#2. qwetek
Гость
2007.12.03 16:04
Admin написал:
Постараюсь помочь в данном направлении smile
Я хочу в чате в анкете сделать вывод постов сказанных за сутки. Допустим Постов:1089(34) в скобках посты за последние сутки. Как это исполнить? Нужно писать таблицу, а я в этом не очень smile.
#3. Gemor
Гость
2007.12.03 17:05
приведи пример таблицы, в которой сообщения хранятся.
тут просто надо сделать запрос с условием чтобы время добавления сообщения не было старше заданного времени
что-то вроде такого
Код:
mysql_query('SELECT COUNT(*) FROM `messages` WHERE `time` > '.time()-86400);
Это если время и сообщения хранятся в одной таблице, если в разных, то так
Код:
mysql_query('SELECT COUNT(*) FROM `messages`, `times` WHERE times.post > '.time()-86400);
#4. Серый
Гость
2008.01.14 18:06
Gemorroj, а как закрыть страницу паролем, как в твоих скриптах новостей? Очень надо, а как не поймуsad помоги пожалуйста.
#5. Gemorroj Off (107)
Administrator
2008.01.14 21:09
Код:
span style="color: #0000BB"><?phpif(!@$_SERVER['PHP_AUTH_PW'] || !@$_SERVER['PHP_AUTH_USER']){header('WWW-Authenticate: Basic realm="Authentification"');header('HTTP/1.0 401 Unauthorized');header('Content-type: text/html; charset=utf-8');exit('<html><head><title>Error</title></head><body><p style="color:red;font-size:24pt;text-align:center">Ошибка авторизации</p></body></html>');}$pass = 'пароль';$login = 'логин';// Проверяем пароль и логинif((trim($_SERVER['PHP_AUTH_PW']) == $pass) && (trim($_SERVER['PHP_AUTH_USER']) == $login)){// авторизация пройдена}else{// авторизация не пройдена}?>
это называется BASIC авторизация
довольно хорошая и надежная вещь.
#6. Серый
Гость
2008.01.15 08:08
Gemorroj, я создаю страницу pass.php, вставляю в неё этот код, обновляю, а проверки пароля нет, сразу ошибка авторизации. Почему?
#7. Gemorroj Off (107)
Administrator
2008.01.16 11:11
Без понятия. Код 100% рабочий. Перезапусти браузер, очисти кэш и еще раз обнови.
#8. Серый
Гость
2008.01.16 11:11
Код:
span style="color: #0000BB"><?phpif(!@$_SERVER['PHP_AUTH_PW'] || !@$_SERVER['PHP_AUTH_USER']){header('WWW-Authenticate: Basic realm="Authentification"');header('HTTP/1.0 401 Unauthorized');header('Content-type: text/html; charset=utf-8');exit('<html><head><title>Error</title></head><body><p style="color:red;font-size:24pt;text-align:center">Ошибка авторизации</p></body></html>');}$pass = '1234';$login = 'Admin';if((trim($_SERVER['PHP_AUTH_PW']) == $pass) && (trim($_SERVER['PHP_AUTH_USER']) == $login)){exit('<html><head><title>OK</title></head><body>Авторизация пройдена</body></html>');}else{header('Location: /');exit;}?>
И сразу ошибка авторизации, без проверки пароля.
#9. Серый
Гость
2008.01.16 11:11
Очистил кэш, обновил - то же самое. Пробовал в Опере и IE всё одно и то жеsad
#10. Gemorroj Off (107)
Administrator
2008.01.18 14:02
я не знаю... версия оперы? только что скопировал это, запустил в опере 9.50 - запросило авторизацию...
Код:
WWW-Authenticate: Basic realm="Authentification"
- это запрос авторизации.
http://ru2.php.net/manual/ru/features.http-auth.php вот мануал на русском по поводу Basic авторизации
попробуй оттуда код
Код:
span style="color: #0000BB"><?php if (!isset($_SERVER['PHP_AUTH_USER'])) { header('WWW-Authenticate: Basic realm="My Realm"'); header('HTTP/1.0 401 Unauthorized'); echo 'Текст, отправляемый в том случае, если пользователь нажал кнопку Cancel'; exit; } else { echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>"; echo "<p>Вы ввели пароль {$_SERVER['PHP_AUTH_PW']}.</p>"; }?>
#11. Серый
Гость
2008.01.19 08:08
Опера 8.01 тот код тоже не робит. В скрипте  news2 авторизация работает. Копирую эту страницу в другую папку - работает, что-то изменяю или переименовываю страницу - перестаёт.
#12. Gemorroj Off (107)
Administrator
2008.01.19 10:10
пользуйся девятой оперой smile код рабочий, проблема в браузере.
#13. Серый
Гость
2008.01.22 08:08
ГГ, хорошо, как разживусь 9 оперой - отпишусь, но твои новости и на этой работают. Есть ещё один вопрос: может помнишь, я писал про форум PunBB, у меня был глюк с авторизацией, побродил по punbb.ru, но без толку. Не подскажешь, что можно сделать?
#14. Gemorroj Off (107)
Administrator
2008.01.22 10:10
нет, как вариант, подождать когда я выложу то что у меня стоит smile тут переписано побольше кода и проблем таких не возникало. выложу постараюсь на следующей неделе.
#15. Серый
Гость
2008.01.22 11:11
Такая проблема и с твоей версией, и с punbb.ru может глюк из-за хостинга? т.к. на h2m и на денвере всё нормально работает. А в какой проге переписывать PHP+WML? А то после блокнота WML не робит.
#16. Casper Off (-1)
Модератор-невидимка
2008.01.22 12:12
В блокноте нельзя. Я использую Notepad++, хотя, говорят почему то им тоже нельзя. Есть ещё PHP Expert Editor Хорошая прога, но не руссифицированнаяsmile
#17. Gemorroj Off (107)
Administrator
2008.01.22 13:01
Про редакторы есть отдельная тема. Там я написал чем пользуюсь. PHP Expert Editor вобщет русифицирован, и вообще это отечественная разработка smile А блокнотом ни в коем случае не пользуйся, это же мазохизм smile

Добавлено спустя   1 минуту  49 секунд:
а в чем именно проблема с авторизацией? у меня что-то никаких проблем не возникало
#18. Casper Off (-1)
Модератор-невидимка
2008.01.22 13:01
А как называется эта тема? Что то я не нашел. Есть у тебя PHP Expert Editor на русском?
#19. Gemorroj Off (107)
Administrator
2008.01.22 14:02
http://wapinet.ru/forum/wap/viewtopic.php?id=7 там русский встроен по умолчанию, просто в настройках выбрать надо.
#20. Серый
Гость
2008.01.22 16:04
PHP Expert Editor!!! Точно!!! А я и забыл, что у меня такая прога есть (месяц назад систему переустанавливал - теперь бардак жуткий, до сих пор порядка нет), теперь всё получается. А с форумом такое: вводишь логин и пароль, нажимаешь войти - "Успешный вход. Переадресация." потом попадаешь на главную, а там написано "Вы не зашли" после регистрации нового пользователя - тоже самое. Куки включены, реферер передаётся, на денвере робит, на h2m тоже, а на новом хосте - нет, хотя везде форум из одного архива.
#21. Helqg Off (2)
Участник
2008.01.25 11:11
Ээ... Такое дело. Библиотека. Как сделать чтобы слова не делились по страницам. fread(файл, 5000 и еще до ближайшего провела); ???

Добавлено спустя   4 минуты  29 секунд:
А соответственно на следующей что бы fseek(файл, указанное количество+до ближайшего пробела, от начала файла);
Стране нужны автобусы!
#22. Gemorroj Off (107)
Administrator
2008.01.25 11:11
Код:
span style="color: #0000BB"><?php$sz = 5000; // кол-во символов$pg = intval($_GET['pg']); // Это номер страиницыif($pg > 0){$sss = ($sz*$pg)-1;}else{$sss = $sz*$pg;}$f = fopen('file.txt', 'r');fseek($f, $sss, SEEK_SET);$str = fread($f, $sz+16);fclose($f);$str2 = mb_substr($str,0,strrpos($str,' '));$str3 = mb_substr($str,0,strrpos($str,'.')+1);$wp = ceil(filesize('file.txt')/$sz); // всего страницif(strlen($str3) > strlen($str2)){$str = $str3;}elseif($pg == $wp){$str = $str;}else{$str = $str2;}print $str;?>
вот такая абракадабра
Отредактировано Gemorroj (2008.01.25 11:11)
#23. Helqg Off (2)
Участник
2008.01.25 17:05
Шо за mb_substr? Описание к ней бы где-нибудь. Справочник на php.Net н
Отредактировано Helqg (2008.01.25 17:05)
Стране нужны автобусы!
#24. Helqg Off (2)
Участник
2008.01.25 17:05
Все. Нашел. Теперь думать. // твой справочник функций че то неправильно работает. Так сказать не там ищет.
Стране нужны автобусы!
#25. Helqg Off (2)
Участник
2008.01.25 17:05
Ыыы. Просто. Только зачем нам один символ? ($sz*pg)-1
и так вроде 16 берем...
Отредактировано Helqg (2008.01.25 17:05)
Стране нужны автобусы!
#26. Gemorroj Off (107)
Administrator
2008.01.25 19:07
да, это можешь убрать smile я это из своей библиотеки выдрал, там вобщем свои заморочки smile не до конца код почистил
#27. Helqg Off (2)
Участник
2008.01.25 21:09
Какая то муть выходит. Гг. Плохо. Может лучше передавать указатель... Тогда количество страниц не посчитаешь. Гм.

Добавлено спустя   5 минут  14 секунд:
Ща надо глянуть, как дионисий читалку продумал.
Стране нужны автобусы!
#28. Gemorroj Off (107)
Administrator
2008.01.26 20:08
кстати если что-то интересное нароешь, сюда напиши. мне и самому интересно.
#29. Helqg Off (2)
Участник
2008.01.26 23:11
Сильно пока не смотрел. Это довольно сложно назвать библиотекой, именно читалка. Потому как в админке надо вводить текст статьи. В этой статье \r\n меняются на [br] и по ним при чтении создается массив. Пока не смотрел как он считает страницы и переносит слова.
Стране нужны автобусы!
#30. Gemorroj Off (107)
Administrator
2008.01.26 23:11
хм... точно... надо думать в сторону массива =DDD
#31. Helqg Off (2)
Участник
2008.01.27 12:12
А нет. Там полный писец smile // По [br] только делится статья и заголовок. Затем скрипт берет всю статью и начинает с ней работать.

Добавлено спустя   1 минуту  2 секунды:
А если она будет весить 100 килов... Тормозить не будет? Хм
Стране нужны автобусы!
#32. Helqg Off (2)
Участник
2008.01.27 13:01
$strrpos=strrpos($ar_text[1], " ");
$pages=1;
$t_si=0;
while($t_si<$strrpos){
$string = substr($ar_text[1], $t_si, $simvol);
$t_ki=strrpos($string, " ");
$m_sim=$t_ki;
$strings[$pages] = substr($string, 0, $m_sim);
$t_si=$t_ki+$t_si;
if($pa==$pages){$page_text=$strings[$pages];}
if($strings[$pages]==""){$t_si=$strrpos++;}
else{$pages++;}

Добавлено спустя   2 минуты  7 секунд:
Это наверно может по
Стране нужны автобусы!
#33. Gemorroj Off (107)
Administrator
2008.01.27 13:01
ужс smile
#34. Helqg Off (2)
Участник
2008.01.27 15:03
Ща скрипт нашел smile на
tegos.ru // я конечно ниче не понимаю в напряге сервер, но мне кажется что то не то. Собирается из файла строка и с нужного символа по нужный работой скрипта читаем по 1! Символу. Так сделано что бы узнать что наступил конец файла. А если мне надо по 10000 символов выводить? smile
Отредактировано Helqg (2008.01.27 15:03)
Стране нужны автобусы!
#35. mssk
Гость
2008.01.28 14:02
Народ такая проблемка, мне нужно из базы вывевести все данные у которых  $id_user =$ id
делаю запрос
$sql = mysql_query("SELECT * FROM `users_project` WHERE `id_user` = '$id'");
$data = mysql_fetch_array($sql);
$url = $data['url'];
$pref = $data['pref'];
$name = $data['name'];
$wm = $data['wm'];
$email = $data['email'];
$status = $data['status'];
вывожу все данные на страницу данные выводяться но не все, у меня в бд две записи у которых id_project=2 и 3 выводиться только та у котрой $id_project=2
вот структура бд
CREATE TABLE `users_project` (
  `id_project` int(10) unsigned NOT NULL auto_increment,
  `id_user` int(10) unsigned NOT NULL default '0',
  `pref` varchar(255) character set cp1251 NOT NULL default '',
  `url` varchar(50) character set cp1251 NOT NULL default '',
  `name` varchar(150) character set cp1251 NOT NULL default '',
  `md5key` varchar(250) character set cp1251 NOT NULL default '',
  `email` varchar(30) character set cp1251 NOT NULL default '',
  `wm` varchar(13) character set cp1251 NOT NULL default '',
  `status` char(1) character set cp1251 NOT NULL default '',
  PRIMARY KEY  (`id_project`),
  KEY `word` (`pref`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1250 PACK_KEYS=0 AUTO_INCREMENT=9 ;
#36. Gemorroj Off (107)
Administrator
2008.01.28 14:02
Код:
span style="color: #0000BB"><?php$sql = mysql_query('SELECT * FROM `users_project` WHERE `id_user` = '.$id);while($data = mysql_fetch_assoc($sql)){$url = $data['url'];$pref = $data['pref'];$name = $data['name'];$wm = $data['wm'];$email = $data['email'];$status = $data['status'];// делаем что-то с этими переменными}?>
Вроде так =)
Отредактировано Gemorroj (2008.01.28 14:02)
#37. mssk
Гость
2008.01.28 14:02
Работаетbig_smile Сенкс ))
#38. Helqg Off (2)
Участник
2008.01.28 20:08
$open=fopen($file,'r');
fseek($open,$page*$length,SEEK_SET);
$textfull=fread($open,1020);
$last=strrpos($textfull,' ');
$textnotend=substr($textfull,0,$last);
if($page!=0)
{
$start=strpos($textnotend,' ');
;
$text=substr($textnotend,$start);
echo $text;} else echo $textnotend;

Добавлено спустя   2 минуты  1 секунду:
Во так решил оставить. Вроде ниче так smile осталось сделать красиво, коротко и защищенно.

Добавлено спустя   3 минуты  52 секунды:
Вообщем остальное мелочи... Выбор папки и так далее... Решена главная проблема: при делении слов у меня браузер никак не хотел читать. А опера заходила
Стране нужны автобусы!
#39. Gemorroj Off (107)
Administrator
2008.01.28 21:09
Код:
span style="color: #0000BB"><?php$length = 5000; // Кол-во символов$page = intval($_REQUEST['page']); // Номер страницы$file = 'file.txt'; // Текст$open = fopen($file,'r');fseek($open,$page*$length,SEEK_SET);$textfull = fread($open,$length);$last = strrpos($textfull,' ');$textnotend = substr($textfull,0,$last);if($page){print substr($textnotend,strpos($textnotend,' '));}else{print $textnotend;}?>
Насколько я понял это должно выглядеть так?

Добавлено спустя   1 минуту  15 секунд:
Пользуйтесь BB кодами!! код выделяется с помощью кода [cоde]код[/cоde]
#40. Helqg Off (2)
Участник
2008.01.28 21:09
Ага. Ты правильно понял. Но думаю все таки во
Код:
fread();
надо добавлять пару символов. Ща надо глянуть что за request.
Отредактировано Helqg (2008.01.28 21:09)
Стране нужны автобусы!
#41. Gemorroj Off (107)
Administrator
2008.01.28 22:10
насчет fread(); я что-то не понял. а $_REQUEST - это массив в котором и GET и POST и COOKIES.
#42. Helqg Off (2)
Участник
2008.01.29 06:06
Там $length+20. Если же кому то нужен перенос слово в слово. То на следующей странице надо сделать строку из первых 20 символов, найти последний провел и использовать его. // а зачем использовать request, smile понял. Если создавать выбор количества символов. Почему ты пишешь print? Есть разница с echo?
Стране нужны автобусы!
#43. Helqg Off (2)
Участник
2008.01.30 20:08
Проблемко. Ставлю тысячу символов-все нормально. Работает. Ставлю 2000 и более уже все плохо. Слова исчезают, начинает их делить. sad это плохо. Мысли есть?
Стране нужны автобусы!
#44. Gemorroj Off (107)
Administrator
2008.01.30 21:09
мысль стандартна - UTF-8, 2 байта, следовательно функции должны быть именно для этой кодировки. т.е. не скажем strlen а mb_strlen.
Разница между print и echo есть какая-то, я сам толком не знаю. Но на практике различий в я не замечал. Использование зависит скорее просто от привычки smile
Отредактировано Gemorroj (2008.01.30 21:09)
#45. Helqg Off (2)
Участник
2008.01.31 11:11
А как писать? mb_strlen(строка, кодировка); и как мне указать в кодировке utf-8?
Стране нужны автобусы!
#46. Helqg Off (2)
Участник
2008.01.31 12:12
вот че гугл говорит. Мнение?
Отредактировано Helqg (2008.01.31 12:12)
Стране нужны автобусы!
#47. Gemorroj Off (107)
Administrator
2008.01.31 12:12
да да, очень хороший материал smile
вот могу привести кусок из своего главного .htaccess
Код:
# Магические кавычки
php_flag magic_quotes_gpc Off
php_flag mаgiс_quоtes_runtime Off
php_flag mаgiс_quоtes_sybаse Off
 
# Не создаются переменные argc и argv
php_flag register_argc_argv Off
 
# Глобальные переменные!
php_flag register_globals Off
 
#Отладка
php_flag display_errors Off
php_flag error_reporting 0
php_flag log_error Off
 
# Автоматическое подставление идентификатора сессии к ссылкам
php_flag session.use_trans_sid On
 
Options -Indexes
AddDefaultCharset UTF-8
php_value default_charset UTF-8
 
# Макс размер
php_value upload_max_filesize 2M
php_value post_max_size 2M
 
# Время
php_value date.timezone "Europe/Moscow"
 
# mbstring
# Автозамена на мультибайтную кодировку!
php_value mbstring.func_overload 6
считаю что то же самое должно быть на всех сайтах smile
Как видишь php_value mbstring.func_overload 6. т.е. стоит автопреобразование. Хотя все равно всегда стараюсь писать с mb_.
Использовать какие-либо самописные функции для работы с UTF-8 считаю в корне не правильным.
1) Это сильно снизит, так сказать, юзабельность кода, т.е. посторонним людям будет с ним сложнее работать, да и самому.
2) Как говорилось по ссылке, в PHP6 работа с юникодом нормализуется, так что ждем, хотя еще очень долго ждать придется smile
В PHP6 будут вообще устранены EREG функции, для лучшей совместимости, на будущее, сразу привыкаем к PERL регуляркам.
Отредактировано Gemorroj (2008.01.31 12:12)
#48. Helqg Off (2)
Участник
2008.01.31 16:04
Ага. Обьяснил вполне нормально smile только на h2m.ru htaccess не дают трогать. // ща попробуемс с mb_*
Стране нужны автобусы!
#49. Helqg Off (2)
Участник
2008.01.31 19:07
Не. Может че хостинг или браузер... Мдя // вопросик: если к mb_ereg передать не в utf8 она нормально проверит? Надо что бы нет.

Добавлено спустя   3 минуты  30 секунд:
А точнее что бы выдал false.
Отредактировано Helqg (2008.01.31 19:07)
Стране нужны автобусы!
#50. Gemorroj Off (107)
Administrator
2008.01.31 20:08
что-то я не понял, нужно специально чтобы не правильно проверяло? smile по умолчанию кодировка для mbstring обычно ставится windows-1251, так что с UTF-8 работать будет не корректно (если есть кирилица)
#51. Helqg Off (2)
Участник
2008.01.31 21:09
Ну я так понял все нормально будет. Не пропустит. Надо добивать эту библиотеку. Нет какой нить функции стандартной чтобы узнать количество файлов в папке? Или придется читать ее?

Добавлено спустя   5 минут  51 секунду:
И вот еще что. filesize нормально работает с файлом в юникоде? Вроде бы должен нормально.
Стране нужны автобусы!
#52. Gemorroj Off (107)
Administrator
2008.01.31 22:10
нету. читать... и в подпапках еще читать...
#53. Helqg Off (2)
Участник
2008.02.01 09:09
Тогда может функцию сляпать. Передавать ей папку. Там если не каталог переменную увеличиваем на одну. Выводим ее. Как то так в теории будет : ). У тебя как? В каждом файле?

Добавлено спустя   1 минуту  16 секунд:
И вообще эту функцию в корень. Пригодится.
Стране нужны автобусы!
#54. Gemorroj Off (107)
Administrator
2008.02.01 09:09
http://wapinet.ru/forum/wap/viewtopic.php?pid=77#p77 тут ответ smile
#55. Helqg Off (2)
Участник
2008.02.01 19:07
Ага. Мне понравилось. Что то об админке навеяло... .dat файлы. // Но есть непонятность. Если я в админке поставлю форму для загрузки файлов, то не получится ли что любой сможет добавить файл откуда угодно? Очень было б неприятно
Стране нужны автобусы!
#56. Gemorroj Off (107)
Administrator
2008.02.01 20:08
ну дак... защиту делай чтоб в админку никто не зашел smile
#57. Helqg Off (2)
Участник
2008.02.01 20:08
Я может че недопонимаю. : ) ща гляну как делается форма uploada и уже буду более серьезно говорить
Отредактировано Helqg (2008.02.01 20:08)
Стране нужны автобусы!
#58. Helqg Off (2)
Участник
2008.02.01 21:09
Итак, вопрос. Как защищен мой каталог? Он вообще защищен? Если кто то создаст подобное у себя он сможет загрузить мне что то функцией copy();? Ну наверно нет. Но хотелось бы наверняка знать

Добавлено спустя   3 минуты  33 секунды:
В правах доступа на каталог ему еще на редактирование ставить?703?
Стране нужны автобусы!
#59. Gemorroj Off (107)
Administrator
2008.02.01 21:09
прежде чем выполнится это copy(); должна выполниться проверка пароля. на какой каталог? имеется ввиду папка куда файлы загружаться будут? тогда 777.
#60. Helqg Off (2)
Участник
2008.02.02 09:09
Что то не нашел... Благодаря чему в мой каталог не могут загрузить файлы с других сайтов? В copy, rename можно писать только относительный путь (надеюсь на это)?
Стране нужны автобусы!
#61. Gemorroj Off (107)
Administrator
2008.02.02 12:12
в copy можно писать какой угодно путь, в том числе копировать файлы с других сайтов, если директива allow_url_fopen включена, т.е. On. загрузить не смогут (надеюсь smile) тому, что скрипт не станет копировать файл, если пароль не подойдет.
Отредактировано Gemorroj (2008.02.02 12:12)
#62. Helqg Off (2)
Участник
2008.02.02 13:01
Ладно, скажем так. Кто то пытается скопировать при помощи copy(); файл мне в каталог с правами 777. Ему это удастся? Копирует скриптом на каком нибудь левом сайте.
Стране нужны автобусы!
#63. Gemorroj Off (107)
Administrator
2008.02.02 13:01
нет, еслиб так можно было бы, представь что бы творилось в нете smile
#64. Helqg Off (2)
Участник
2008.02.02 13:01
Да я и думал что нет. Но просто не знал так изначально или че где надо подправить. // ща вот на распутье. Как лучше админку сделать? Один большой файл или на 2 разделить? И нормально будет если будет на доступ проверяться так: if($_GET['enter']!=='очень сложный пароль') exit('не судьба');
Стране нужны автобусы!
#65. Gemorroj Off (107)
Administrator
2008.02.02 14:02
да, нормально. насчет кол-ва файлов... это как тебе удобно будет. смотря на сколько большой еще файл.
#66. Helqg Off (2)
Участник
2008.02.02 21:09
готово. Все на дат файлах smile. Теперь надо подумать о новостной ленте.
Отредактировано Helqg (2008.02.02 21:09)
Стране нужны автобусы!
#67. Gemorroj Off (107)
Administrator
2008.02.02 21:09
Кста, недавно пришлось поработать с XML, вещь. Была мысля комментарии замутить в XML, да как-то все не до того. Советую вобщем поковырять этот XML и если на фалах делать будешь, то с использованием XML smile
инфа тут: http://php.su/functions/?cat=xml
#68. Helqg Off (2)
Участник
2008.02.03 09:09
Че такое .xml? Первый раз вижу это расширение. Как оно может помочь?
Отредактировано Helqg (2008.02.03 09:09)
Стране нужны автобусы!
#69. Серый
Гость
2008.02.03 16:04
Gemorroj, привет. Про Basic авторизацию: скопировал твой код в PHP Expert Editor и всё заработало! Опера таже// ты говорил, что в новом форуме нашёл ошибку, не подскажешь где, и как закрыть? И ещё вопрос: решил немного переделать твой скрипт "Инфа о браузере", в где-то видел, что показывает разрешение экрана, кол-во цветов и наличие камеры, не знаешь, с помощью каких функций это сделать? Заранее СПАСИБО!
#70. Gemorroj Off (107)
Administrator
2008.02.05 14:02
Серый, теоретически это можно выдрать с помощью JavaScript, но это ОЧЕНЬ не надежно, да и я лично подсказать не смогу. Как правило это просто собирается база с моделями телефонов и их характеристиками. Собственно инфа берется из этой базы.
Ошибка в форуме - письма на емыло отправляются в не верной кодировке. Просто надо убрать все iconv
Насчет XML я же ссылку дал smile это РАСШИРЯЕМЫЙ язык разметки. Дело в том, что там в УДОБНОЙ форме можно хранить данные. К примеру RSS лента - это обычный XML документ. Так же можно и что-то свое сделать.
#71. Серый
Гость
2008.02.05 15:03
Gemorroj, спасибо, всё ясно. Не посчитай за тупость, но где эти iconv и что это такое
#72. Gemorroj Off (107)
Administrator
2008.02.05 16:04
В папке include файл email.php функция pun_mail
замени на это:
Код:
function pun_mail($to, $subject, $message, $from = '')
{
global $pun_config, $lang_common;
 
$to = trim(preg_replace('#[\n\r]+#s', '', $to));
$subject = '=?utf-8?B?'.base64_encode(trim(preg_replace('#[\n\r]+#s', '', $subject)))."?=\n";
$from = '"Forum Mailer" <'.$pun_config['o_webmaster_email'].'>';
 
$headers = 'From: '.$from."\r\n".'Date: '.date('r')."\r\n".'MIME-Version: 1.0'."\r\n".'Content-transfer-encoding: 8bit'."\r\n".'Content-type: text/plain; charset='.$lang_common['lang_encoding']."\r\n".'X-Mailer: PunBB Mailer';
 
$message = str_replace(array("\n", "\0"), array("\r\n", ''), pun_linebreaks($message));
 
if ($pun_config['o_smtp_host'] != '')
smtp_mail($to, $subject, $message, $headers);
else
{
if (strtoupper(substr(PHP_OS, 0, 3)) == 'MAC')
$headers = str_replace("\r\n", "\r", $headers);
else if (strtoupper(substr(PHP_OS, 0, 3)) != 'WIN')
$headers = str_replace("\r\n", "\n", $headers);
 
mail($to, $subject, $message, $headers);
}
}
Отредактировано Gemorroj (2008.02.05 16:04)
#73. Серый
Гость
2008.02.05 17:05
Gemorroj, всё заменил, огромное тебе спасибоsmile
#74. Helqg Off (2)
Участник
2008.02.05 17:05
Браузер поймет такую страницу? Она собственно для браузеров, или универсальная? // да там на твоей ссылке только функции для работы. Надо глянуть шо за хмлъ
Стране нужны автобусы!
#75. Gemorroj Off (107)
Administrator
2008.02.05 17:05
Какую такую? XML это РАСШИРЯЕМЫЙ язык, т.е. из него хоть собственный аналог HTML слепить можно. Но это все же XML для него нужен свой парсер. если выдать в заголовке что это RSS, то будет RSS и откроется в соответствующем приложении. Других распространенных WEB сервисов на XML я не знаю smile Так же XHTML и WML отвечают (ну должны отвечать) XML правилам.
#76. Helqg Off (2)
Участник
2008.02.08 23:11
Вот втыкаю в html. Есть какая то суровая разница между html и xhtml?
Стране нужны автобусы!
#77. Gemorroj Off (107)
Administrator
2008.02.09 01:01
Ага, самое суровое как раз там, это обязательное соответствие XHTML стандартам XML. И как следствие очень жесткий контроль ошибок. Если в HTML браузер попытается игнорировать ошибку, то в XHTML, W3C консорциум рекомендует производителям браузеров показывать сообщение об ошибке. Это то, что сразу бросается в глаза. Так же, есть сведения, что поисковики (Google) больше ценят страницы на XHTML. Я когда-то сам верил в XHTML и что он спасет мир smile но меня ждал облом. Блин, скрестили бы как-нибудь WML и HTML.
#78. Helqg Off (2)
Участник
2008.02.09 19:07
Усе. Все в xhtml. Все прологи взял твои. Заголовок тоже где то взял: application/xhtml+xml. Наверно верно. // новостную ленту я добил. Надо сделать терь простенький форум на mysql. smile
Стране нужны автобусы!
#79. Gemorroj Off (107)
Administrator
2008.02.09 20:08
еще есть 1 серьезный ньюанс. если смотреть, например, мои скрипты, то там MIME тип отправляется так:
Код:
span style="color: #0000BB"><?phpif(substr_count($_SERVER['HTTP_USER_AGENT'], 'MSIE')){header('Content-type: text/html; charset=utf-8');}else{header('Content-type: application/xhtml+xml; charset=utf-8');}?>
т.е. если в юзер агенте есть MSIE отправляем MIME тип что это HTML а не XHTML.
Интернет Эксплорер и все что построено на его движке не понимают MIME тип XHTML smile
#80. Helqg Off (2)
Участник
2008.02.10 09:09
Ага. Я прочитал об этом. Но там написано что IE нечего делать в вапе. Пусть оперу ставятsmile
Стране нужны автобусы!
#81. Helqg Off (2)
Участник
2008.02.10 15:03
Вопросы по форуму. Че хранить в базе,а что в файлах? Юзеров понятно в бд, а посты, темы, разделы. // далее как передавать переменные тем, разделов постов. Может в сессии? У тебя наверно печеньями.
Стране нужны автобусы!
#82. Gemorroj Off (107)
Administrator
2008.02.10 15:03
все в базе храни. переменные с темами, разделами, постами - думаю лучше просто через GET, а вот авторизацию через сессии.
#83. Helqg Off (2)
Участник
2008.02.16 15:03
Мдыц. А че в сессии то тащить только ник? А если она не обьявленна, то выкидывать? Таблицы: одна на юзеров, другая название разделов, третья ээ... Как содержимое тем вклинивать? Точнее так: в таблице темы как то делить по разделам? Или не надо. Гм
Стране нужны автобусы!
#84. Гемор
Гость
2008.02.16 16:04
Просто если через сессии, то нельзя будет ни закладку сделать, ни ссылку на тему например где-нибудь в сети скинуть. В сессиях логин и пароль. А насчет таблиц это уже тебе решать. Просто старайся чтобы данные в базе НЕ ДУБЛИРОВАЛИСЬ.
#85. Helqg Off (2)
Участник
2008.02.17 20:08
Куда то все исчезло... Я спрашивал о том, зачем пароль таскать в сессии.
Стране нужны автобусы!
#86. Gemorroj Off (107)
Administrator
2008.02.17 22:10
Мы переехали на новый сервер, бэкап базы немного старый smile
Насчет сессий, ну чтобы не перехватили сниффером. Хотя с другой стороны, например, в форуме софттайма пароль передается открыто в куках. Сессии нужны для безопасности, т.к. пароль нигде не светится.
#87. Caspеr
Гость
2008.02.18 05:05
Админ, помоги пожалуйста. У меня в чате в комнатах в самом верху ссылка на новости, если они есть. Как сделать, чтоб эта ссылка там висела только, например, в течение пяти дней с момента добавления последней новости? Вот файл.
#88. Helqg Off (2)
Участник
2008.02.18 06:06
Ясно, что он нигде не светится. Я вот не пойму зачем его передавать, как его использовать? Проверять на правильность на каждой странице? Ээ. А сессию юзер сможет создать как то, кроме как авторизуясь?
Отредактировано Helqg (2008.02.18 06:06)
Стране нужны автобусы!
#89. Gemorroj Off (107)
Administrator
2008.02.18 09:09
Casper, я так понимаю, дата новости записывается именно датой, а не timestamp? Если так, то надо изменить так, чтобы записывался timestamp. А поттом уже работать с news.php, а chat.php я не понял зачем.
Helqg, передавать чтобы пользователю не пришлось каждый раз авторизовываться если он хочет например добавить сообщение. Данные сесси проверяются 1 раз, при ее создании, после передается ИДЕНТИФИКАТОР уже созданной сессии, и данные будут те, которые мы проверили в 1 раз. Почитай о сессиях на PHP.SU
#90. Helqg Off (2)
Участник
2008.02.18 11:11
Я читал о сессиях. Я не въеду зачем пароль передавать. Страница входа- сверяются логин и пароль. Если верно, то стартует сессия с одной переменной-логин. Никак не пойму где мне нужен будет пароль.
Стране нужны автобусы!
#91. Gemorroj Off (107)
Administrator
2008.02.18 12:12
А почему с одной переменной? Запихивай туда логин и пароль. И потом никаких проверок, просто смотриш идентификатор сессии, если такой есть, то значит это авторизованный пользователь с паролем и логином которые занесены в эту сессию.
#92. Helqg Off (2)
Участник
2008.02.18 14:02
Ну вот допустим пользователя авторизован. В сессии у него и логин и пароль. Логин я буду использовать(от этой переменной посты будут писаться), а пароль? Да он лишний просто smile
Стране нужны автобусы!
#93. Gemorroj Off (107)
Administrator
2008.02.18 14:02
неееееет, если без пароля, то от этого логина каждый писать сможет.
#94. Helqg Off (2)
Участник
2008.02.18 16:04
Как он сможет писать, если авторизацию проходят с паролем?
Стране нужны автобусы!
#95. Gemorroj Off (107)
Administrator
2008.02.18 17:05
похоже мы друг друга не понимаем =/ ну прошел он авторизацию и что? перешел на другую страницу и снова проходить авторизацию?
#96. Helqg Off (2)
Участник
2008.02.18 20:08
Нет на другой странице проверяем наличие $_SESSION['user']. Если нету переадрессовываем
Отредактировано Helqg (2008.02.18 20:08)
Стране нужны автобусы!
#97. Gemorroj Off (107)
Administrator
2008.02.18 20:08
ну попробуй, о результатах сообщи smile
#98. Helqg Off (2)
Участник
2008.02.19 10:10
Гг. Ага
Стране нужны автобусы!
#99. Helqg Off (2)
Участник
2008.02.19 17:05
CREATE TABLE `users`
(
`nick` char(10) NOT NULL,
`pass` char(20) NOT NULL,);

Добавлено спустя   1 минуту  52 секунды:
без последней запятой перед скобкой. // Ну, красивая будет таблица? smile
Отредактировано Helqg (2008.02.19 18:06)
Стране нужны автобусы!
#100. Gemorroj Off (107)
Administrator
2008.02.19 18:06
нет smile подозреваю что таблица должна выглядеть как минимум вот так
Код:
CREATE TABLE `users` (
`id` INT(11) NOT NULL auto_increment,
`name` VARCHAR(24) CHARACTER set utf8 collate utf8_general_ci NOT NULL,
`pass` VARCHAR(24) NOT NULL
) TYPE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
Не забывай делать все в UTF-8 и поле с auto_increment тоже наверняка тебе потребуется. Т.к. идентифицировать пользователя по ID много удобней. Да и надежней.
Отредактировано Gemorroj (2008.02.19 18:06)
#101. Helqg Off (2)
Участник
2008.02.19 18:06
Шо за collate? И шо за тип myisam? Последняя кодировка это только для авто вырасталки?

Добавлено спустя   1 минуту  57 секунд:
ALTER DATABASE имя_базы DEFAULT CHARACTER SET имя_кодировки. Вот што у меня в книжке пишут. В админе писать? Катит?
Стране нужны автобусы!
#102. Gemorroj Off (107)
Administrator
2008.02.19 20:08
Посмотри в том же phpmyadmin'е, UTF-8 многогранен smile collate уточняет кодировку
MyISAM - тип таблиц в БД. Он и так по умолчанию в принципе используется.
#103. Helqg Off (2)
Участник
2008.02.20 11:11
CREATE TABLE `users`
(
`id` INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`nick` VARCHAR( 10 ) CHARACTER SET utf8 NOT NULL,
`pass` VARCHAR(20) CHARACTER SET utf8 NOT NULL
)

Добавлено спустя   2 минуты  50 секунд:
Вот што осталось в итоге. Тут смесь всегоВсякие, что нашел. разные ошибки были smile Про MyISAN страшные вещи пишут, что его в 5 версии не будет.
Стране нужны автобусы!
#104. Admin Off (-1)
Administrator
2008.02.20 11:11
покажи мне плиз где это пишут... у меня пятая версия MySQL и на локалхосте и собсна здесь, на боевом сервере...
сердце пронзенное ветром
#105. Helqg Off (2)
Участник
2008.02.22 18:06
5 версия mysql. Гг. Че то я какое то старье читаю. sad

Добавлено спустя   3 минуты  17 секунд:
Вопросик: как запрос написать для вставки новой записи. А именно что мне отправлять в поле с авто вырасталкой?
Стране нужны автобусы!
#106. Admin Off (-1)
Administrator
2008.02.22 19:07
ничего. ноль туда пиши, MySQL сам прибавит 1 к предыдущему значению
сердце пронзенное ветром
#107. Helqg Off (2)
Участник
2008.02.22 20:08
Это хорошо. Теперь такая проблемко. #1054. Unknown column 'здесь как бы то, что я отправляю для вставки. Значение логина' in 'field list'
Стране нужны автобусы!
#108. Admin Off (-1)
Administrator
2008.02.22 21:09
Полный запрос напиши. А вообще "Unknown column" - не существует соответствуещей колонки, куда ты данные записать пытаешся.
сердце пронзенное ветром
#109. Helqg Off (2)
Участник
2008.02.23 09:09
mysql_query('INSERT INTO `users`(`nick`,`pass`) VALUES (`'.$nick.'`,`'.$pswd.'`)')
Стране нужны автобусы!
#110. Gemorroj Off (107)
Administrator
2008.02.23 10:10
Сам запрос верный. У тебя точно есть таблица users а в ней поля nick и pass ???
#111. Helqg Off (2)
Участник
2008.02.23 22:10
CREATE TABLE `users`
(
`id` INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`nick` VARCHAR( 10 ) CHARACTER SET utf8 NOT NULL,
`pass` VARCHAR(20) CHARACTER SET utf8 NOT NULL
);
Может надо че id передавать?

Добавлено спустя   1 минуту  55 секунд:

Добавлено спустя   3 минуты  11 секунд:
Ну или права доступа какие надо?
Стране нужны автобусы!
#112. Helqg Off (2)
Участник
2008.02.23 22:10
Усе. Это починил. Убрал `` из значений добавляемых данных. Заработало. // насчет авто вырасталки- ты прав. Даю ноль, а ей фиолетово smile
Стране нужны автобусы!
#113. Helqg Off (2)
Участник
2008.02.24 10:10
Попытался кодировку изменить в базе через ALTER. Фига. Синтаксис еррор smile поддержке написал. Поддержка х2м. Ответят ли? :-(
Стране нужны автобусы!
#114. Helqg Off (2)
Участник
2008.02.24 16:04
http://www.google.ru/gwt/n?u=http%3A%2F%2Fwww.phpfaq.ru%2Fslashes&hl=ru&mrestrict=xhtml&q=ALTER+DATABASE+DEFAULT+CHARACTER+%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0.+%D0%BF%D0%BE%D1%87%D0%B5%D0%BC%D1%83%3F&source=m&site=search

Добавлено спустя   2 минуты  4 секунды:
А это ответ на все мои проблемы. Данные должны быть в ''. Хорошая статья

Добавлено спустя   4 минуты  49 секунд:
А в поддержке вообще кадры сидят. "мы не даем рекомендаций по настройке баз данных". smile но хоть обещали обновить с 4.0.Скокототам до последней. И на том спасибо.
Стране нужны автобусы!
#115. Gemorroj Off (107)
Administrator
2008.02.24 16:04
Так зачем ты с h2m вообще связываешся??? возьми хоть недорогой но платных хост. имхо даже начинать с подобных хостингов нельзя, потому что слишком уж многое работать не будет.
#116. Helqg Off (2)
Участник
2008.02.24 21:09
Ну да... // smile у меня тормоз как всегда. Допустим юзер заполнил формы входа и передает все это дело. Когда стартовать сессии?
Стране нужны автобусы!
#117. Helqg Off (2)
Участник
2008.02.24 21:09
Да вроде нормально все будет. Создание сессии до проверки условий всяких-разных. Тысячи сессий никак не возникнут? Ээ
Отредактировано Helqg (2008.02.24 21:09)
Стране нужны автобусы!
#118. Gemorroj Off (107)
Administrator
2008.02.24 22:10
А что мешает создавать сессию после проверки? Да и время жизни сессии ограниченно, спустя некоторое время она самоустраняется.
#119. Helqg Off (2)
Участник
2008.02.25 16:04
Да там сессию объявлять, после вывода заголовков в браузер... Ну это я сляпал. Идем дальше-> как сделать регистрозависимые логин и пароль? Я ща что не введу- прохожу все равно.

Добавлено спустя   2 минуты  5 секунд:
И даже что то мыслей нет. sad Не знаю где подправить запрос: пхп, муску
Стране нужны автобусы!
#120. Gemorroj Off (107)
Administrator
2008.02.25 19:07
хмммм... а с какого перепуга они стали регистроНЕзависимые?
#121. Helqg Off (2)
Участник
2008.02.25 20:08
Да уж sad пишут либо COLLATE либо BINARY.
Первое вряд ли, а вот бинарные поля может пойдет. Гм

Добавлено спустя   1 минуту  25 секунд:
Опять таблицы мучить. Ыы
Отредактировано Helqg (2008.02.25 20:08)
Стране нужны автобусы!
#122. Gemorroj Off (107)
Administrator
2008.02.25 21:09
что за бред???? varchar или text используй.
#123. Helqg Off (2)
Участник
2008.02.26 11:11
Varchar и использую. Но не тянет. Я думал может любой пароль подойдет. Но нет. Именно проблемко с регистром. С логином тоже самое
Отредактировано Helqg (2008.02.26 11:11)
Стране нужны автобусы!
#124. Gemorroj Off (107)
Administrator
2008.02.26 11:11
и вообще при чем здесь тип строки? ты как сравниваешь пароль и логин? наверняка где-нибудь strtolower или strtoupper
#125. Helqg Off (2)
Участник
2008.02.27 16:04
$query=mysql_query("SELECT * FROM `users` WHERE `nick`='$nick' AND `pass`='$pass'");
if(mysql_num_rows($query)<1) {mysql_close($connect);
exit($prolog.'Вы не зарегистрированны!'.$end);}
else {
mysql_close($connect);
session_start();
$_SESSION['login']=$nick;
Стране нужны автобусы!
#126. Helqg Off (2)
Участник
2008.02.27 18:06
Ну и еще substr(); обрезает до заданной длины
Стране нужны автобусы!
#127. Helqg Off (2)
Участник
2008.02.27 19:07
А вот вырезка из книжки пхп 5. Колисниченко. "При поиске с помощью оператора SELECT не учитывается регистр символов"      "Бинарные данные также можно использовать для хранения текста, но при поиске будет учитываться регистр символов"
Стране нужны автобусы!
#128. Gemorroj Off (107)
Administrator
2008.02.27 19:07
посмотри через phpmyadmin в каком виде хранятся логин и пароль в  базе. сохраняется ли регистр символов?
#129. Gemorroj Off (107)
Administrator
2008.02.27 19:07
насчет SELECT... видимо там имеется ввиду следующий запрос
Код:
SELECT * FROM `test` WHERE `name` LIKE '%search%';
хотя я не уверен. всю жизнь изспользовался этот селект для проверки, где-то ты недосмотрел с регстром. ищи проблему в коде.
#130. Helqg Off (2)
Участник
2008.02.29 19:07
Да я поставил бинарные поля. smile пусть. Кстати, разрешать ли русские буквы в логине, пароле? И если да, то как? Сразу отправлять в базу или транслитировать на входе/выходе? Переживаю от незнания.

Добавлено спустя   1 минуту  52 секунды:
Дельный был совет. Но поздно sad
Стране нужны автобусы!
#131. Admin Off (-1)
Administrator
2008.02.29 19:07
Да, конечно, ВЕЗДЕ и ПОВСЮДУ используй UTF-8. Главное условие - ВЕЗДЕ, а не как в одном мерзком скрипте, называемом еще  "бодр-чатом", и тогда проблем не будет. В БД данные тоже должны храниться в UTF-8.
Часто проблема возникает с тем, что сервера настроены на ISO 8859 или windows-1251, а нам нужен UTF-8.
Решается это следующим образом: сразу после соединения с базой отправляем MySQL серверу информацию, что мы будем работать с UTF-8.
Код:
span style="color: #0000BB"><?php// Хост, пользователь, парольmysql_connect('localhost', 'root', '') or die('Can not connect to MySQL');// UTF-8mysql_query('SET NAMES `utf8`');// БДmysql_select_db('blog') or die('Error select the database');?>
лично я этот код как правило выделяю в отдельный файл - connect.php и где надо подключаю через require
Еще, твой код
Код:
span style="color: #0000BB"><?php$query=mysql_query("SELECT * FROM `users` WHERE `nick`='$nick' AND `pass`='$pass'");if(mysql_num_rows($query)<1) {mysql_close($connect);exit($prolog.'Вы не зарегистрированны!'.$end);}else {mysql_close($connect);session_start();$_SESSION['login']=$nick;?>
вот это
if(mysql_num_rows($query)<1) {mysql_close($connect);
exit($prolog.'Вы не зарегистрированны!'.$end);}

в принципе фигня. но лучше писать более грамотно и красиво, а именно
if(!mysql_num_rows($query) {
mysql_close($connect);
exit($prolog.'Вы не зарегистрированны!'.$end);
}

дальше...
else {
mysql_close($connect);
session_start();
$_SESSION['login']=$nick;

хм... mysql_close($connect); - спорная вещь. соединение (если оно не постоянное (pconnect)) само закроется через 60 сек (по умолчанию). Но дело в том, что пользователь у тебя здесь таки прошел авторизацию, и далее он теоретически пойдет дальше бродить по форуму, т.е. будет коннектится к MySQL, так вот... не стоит лишний раз передергивать такие соединения. Если подразумевается что пользователь в дальнейшем будет использовать скрипт, то соединение закрывать не стоит, это открытое соединение используется при следующем действии пользователя. Оптимизация епт =) Я на ней помешан =)
сердце пронзенное ветром
#132. Helqg Off (2)
Участник
2008.02.29 23:11
Гм. Ага. Не подумал об этом. В следующем же скриптеsmile. Купить бы где учебник по мускулу. Один оракул продают. Че нить знаешь о нем?
Отредактировано Helqg (2008.02.29 23:11)
Стране нужны автобусы!
#133. Gemorroj Off (107)
Administrator
2008.02.29 23:11
Об Оракуле? не smile основы MySQL я лично брал из книжки Кузнецова & Симдянова PHP 5, потом какия-то инфа из сети. Часто пользуюсь этим http://wapinet.ru/textbook/mysql/ построение SQL запросов как правило не вызывает особых проблем. Главное изначально грамотно спроектировать Базу Данных.
#134. Helqg Off (2)
Участник
2008.03.01 10:10
Тякс. Как вывести из базы постранично? Можно ли как переносить указатель у mysql_fetch array?
А то mysql_result и 2 цикла, это повеситься можно.
Стране нужны автобусы!
#135. Gemorroj Off (107)
Administrator
2008.03.01 10:10
Оператор LIMIT wink
Код:
SELECT * FROM `table` WHERE `xz`=1 LIMIT 0,10
#136. Helqg Off (2)
Участник
2008.03.02 21:09
Как пользоваться COUNT()?
$запрос=мускул_запрос("SELECT COUNT(*) FROM таблица");
Что вернет $запрос? Точнее какой тип данных, может просто число?smile
Стране нужны автобусы!
#137. Серый
Гость
2008.03.03 09:09
Gemorroj, привет, подскажи плиз как сделать отсчёт времени от какого - нить события, где-то видел, а как не помнюsad
#138. Admin Off (-1)
Administrator
2008.03.03 10:10
Helqg, вот что по этому поводу сказано на ru2.php.net
Только для запросов SELECT, SHOW, EXPLAIN, DESCRIBE, mysql_query() возвращает указатель на результат запроса, или FALSE если запрос не был выполнен. В остальных случаях, mysql_query() возвращает TRUE в случае успешного запроса и FALSE в случае ошибки. Значение не равное FALSE говорит о том, что запрос был выполнен успешно. Он не говорит о количестве затронутых или возвращённых рядов. Вполне возможна ситуация, когда успешный запрос не затронет ни одного ряда.
для подсчета пользуйся следующей конструкцией
Код:
span style="color: #0000BB"><?php$count = mysql_result(mysql_query('SELECT COUNT(*) FROM `tables` WHERE `xz` = "xz2"'),0);?>
в переменной $count будет требуемый результат.
сердце пронзенное ветром
#139. Admin Off (-1)
Administrator
2008.03.03 10:10
Серый, не совсем понятен вопрос...
Код:
span style="color: #0000BB"><?php// текущая дата$date = date('r',time());// текущая дата - 1 день$date = date('r',time()-86400);?>
сердце пронзенное ветром
#140. Helqg Off (2)
Участник
2008.03.03 11:11
Ясно. Жалко конечно. Ну не число, так не число.
Стране нужны автобусы!
#141. Серый
Гость
2008.03.03 11:11
Ну да, немного не так выразился, нада чтобы показывалось время, которое прошло, к примеру, с твоего дня рожденияsmile
#142. Admin Off (-1)
Administrator
2008.03.03 12:12
Код:
span style="color: #0000BB"><?php// от текущего времени отнимаем время даты рождения и делим на кол-во секунд в 1 дне$date = (time() - mktime(0, 0, 0, 10, 30, 1984)) / 86400;// получаем сколько дней я прожил =)print $date;// можно округлить до целых в большую сторонуprint ceil($date);?>
сердце пронзенное ветром
#143. Серый
Гость
2008.03.03 13:01
Спасибоsmile а как посчитать часы, минуты, секунды, к примеру сколько времени сайту?
#144. Admin Off (-1)
Administrator
2008.03.03 15:03
Код:
span style="color: #0000BB"><?php// от текущего времени отнимаем время даты рождения сайта, получаем сколько секунд прожил сайт$date = time() - mktime(0, 0, 0, 10, 30, 2007);$d = floor($date/86400); // дни$h = floor(($date-($d*86400))/3600); // часы$m = floor(($date-($d*86400)-($h*3600))/60); // минуты$s = $date-($d*86400)-($h*3600)-($m*60); // секундыprint "сайт живет $d дней, $h часов, $m минут, $s секунд";?>
правда код идиотский наверно sad
сердце пронзенное ветром
#145. Helqg Off (2)
Участник
2008.03.03 21:09
http://gazenwagen.com/forum/index.php?id=6145 Хы. Прочитай. Конкуренция wapcms. Компроматы всплывают.
Стране нужны автобусы!
#146. Admin Off (-1)
Administrator
2008.03.03 22:10
ппц... ужоз... никогда не притрагивался к этому дерьму и никому не советую.
сердце пронзенное ветром
#147. Серый
Гость
2008.03.04 12:12
Спасибо за код, и вовсе он не идиотскийsmile Про мотор: почитал, аж обидно стало, нах так делать? И так никогда его не юзал, а теперь и подавно не буду.
#148. Helqg Off (2)
Участник
2008.03.09 18:06
Ы. Форум встал. Емое. Как то невнятно работает  substr();. Красиво режет буквы не по буквам. Пишу md_ пустая страница. Как обрезать строку до заданной длины? smile

Добавлено спустя   2 минуты  47 секунд:
Через SET NAMES может попробовать? Хм. Мдя
Стране нужны автобусы!
#149. Helqg Off (2)
Участник
2008.03.09 18:06
Это я удачно заглянул %) mb_
Стране нужны автобусы!
#150. Admin Off (-1)
Administrator
2008.03.10 09:09
чтобы mb_ работало нужна библиотека mbstring smile
залезь в php.ini и расскомментируй соответствующую строку.
Код:
span style="color: #0000BB"><?php$test = 'тест ххх';$out = mb_substr($test,0,4,'UTF-8');// $out = 'тест';?>
так же можно использовать iconv
Код:
span style="color: #0000BB"><?php$test = 'тест ххх';// PHP 5$out = iconv_substr($test,0,4,'UTF-8');// $out = 'тест';?>
сердце пронзенное ветром
#151. Helqg Off (2)
Участник
2008.03.10 09:09
Да не просто я в упор писал md_ а надо mb_. И думал, почему ничего не работает... Гг. ///

Добавлено спустя   2 минуты  56 секунд:
Да не. Я там буковку напутал просто. sad /// Ща такое дело- надо новые темы наверх выводить. Чем? Может в базе создать столбик с временем последнего изменения записи? Ну там в секундах unix овых. И сравнивать их MAX()?
Стране нужны автобусы!
#152. Admin Off (-1)
Administrator
2008.03.10 11:11
вообще по ID это можно, чем больше id записи, тем она новее, но я думаю записывать время создания темы полюбому надо) чтобы собсна показать когда создана запись.
сердце пронзенное ветром
#153. Helqg Off (2)
Участник
2008.03.10 15:03
Новее то да. Но с добавлением поста id не изменяется. Надо как то время колоть. У меня в базе уже строкой xx.xx.xxxx XX:XX хранится. Надо в timestamp перебить...
Стране нужны автобусы!
#154. Gemorroj Off (107)
Administrator
2008.03.10 16:04
А, тогда да. Еще можно в таблице постов писать ID темы. И делать запрос к постам, сортируя их по времени. Соответственно берем из полученных данных ID тем и выводим. Я делаю именно так)
#155. Helqg Off (2)
Участник
2008.03.10 21:09
не. Посты будут по старинке- с первого и так далее. Без времени сляпал. А вот в темах нельзя без времени. У тя как время хранится? В секундах?
Стране нужны автобусы!
#156. Gemor
Гость
2008.03.10 23:11
Время всегда храни как timestamp. Я темы и имел ввиду, из таблицы с постами ты вибираешь id тем.
#157. Helqg Off (2)
Участник
2008.03.11 11:11
По id я отбираю темы для нужного раздела среди кучи всяких тем. Так. Допустим. Эта куча отсортированна по id. А как выбрать по времени? Гм.
Стране нужны автобусы!
#158. Gemorroj Off (107)
Administrator
2008.03.11 11:11
ты выбираешь ID но сортируешь по времени.
Код:
SELECT `id_theme` FROM `posts` ORDER BY `time` DESC LIMIT 10
Отредактировано Gemorroj (2008.03.11 11:11)
#159. Helqg Off (2)
Участник
2008.03.12 19:07
"SELECT `id`,`time`,`title`,`quantity` FROM `tems` WHERE `forum`='$kat' ORDER BY `time` LIMIT $start,$over"

Добавлено спустя   4 минуты  31 секунду:
Должно прокатить. Там пока пыхадмин в ауте. Гг. Зато разрешили самим .htaccess трогать. // как лучше написать time(); или date("U"); ? Блин. В коде двумерные массивы smile Они ниче не будут тормозить? Как выводить время работы скрипта?
Стране нужны автобусы!
#160. Admin Off (-1)
Administrator
2008.03.12 19:07
наверное time smile насчет двумерным массивов, если они нужны, то пусть будут. я очень сомневаюсь что они будут узким местом.
время работы скрипта:
Код:
span style="color: #0000BB"><?php// в самом верху// смотрим время$time = array_sum(explode(' ', microtime()));/*тут всякий код...*/// в конце снова смотрим время// отнимаем от него время начала работы скрипта, и обрезаем до 4 цифр после точкиprint round(array_sum(explode(' ', microtime()))-$time,4);?>
сердце пронзенное ветром
#161. Helqg Off (2)
Участник
2008.03.13 06:06
Ы. Да, прост
Стране нужны автобусы!
#162. Helqg Off (2)
Участник
2008.03.13 20:08
Не катит. Мдя. Ща глянем что ты за DESC написал, если ниче значимого, то надо столбик id с авто вырасталкой удалять. Будет первичным ключом время.
Стране нужны автобусы!
#163. Helqg Off (2)
Участник
2008.03.15 12:12
Иххо. Заработало. Id оставил, но снял с него первичный ключ. ORDER BY это умная вещь.
Стране нужны автобусы!
#164. Admin Off (-1)
Administrator
2008.03.15 15:03
когда рабочий пример форума будет? smile я вот тоже щаз глобальную переработку форума устроил) надолго это првдва)
сердце пронзенное ветром
#165. Helqg Off (2)
Участник
2008.03.15 23:11
да основа уже есть. http://helqg.h2m.ru/forum
smile ща админку ляпаю. Форум пока страшный, но вроде без ошибок. smile
да у тебя форум наверно огромный. Килов 700 весит. Да и код наверно полный паштет...
Стране нужны автобусы!
#166. Admin Off (-1)
Administrator
2008.03.16 17:05
весит болшье даже) и код, да... жуть) в скриптах форум punbb_mod примерно то, что здесь стоит.
сердце пронзенное ветром
#167. Helqg Off (2)
Участник
2008.03.19 21:09
На h2m 5 мускул поставили. Ура. Только я как сидел с бинарными полями, так и остался сидеть. Зато пока искал utf8_*_cs нашел
http://oszone.ru/4743/MySQL
разницу между char & varchar.
Стране нужны автобусы!
#168. Gemorroj Off (107)
Administrator
2008.03.19 21:09
отличная ссылка. cs — case sensitive — чувствительно к регистру, ci — case insensitive — не чувствительно) - этого я не знал.
Для кодировки UTF-8 сервер выделяет разное количество байт для разных символов (в соответствии с кодировкой) в случае VARCHAR и 3 байта на каждый символ в случае CHAR. Таким образом, в UTF-8 строка CHAR(10) всегда занимает 30 байт, а VARCHAR(10) — от 1 до 31 байта. - этого тоже не знал. Можно было конечно и самому догадаться, но я как-то не догадался)
#169. Helqg Off (2)
Участник
2008.03.19 21:09
ага. Еще я немного для себя представил разницу между unicode и utf8. весьма хороший пример про то как обидели азиатов.
Стране нужны автобусы!
#170. Gemorroj Off (107)
Administrator
2008.03.19 21:09
Да почему ж обидели??? Глобализация, никуда не денешся. Наша кирилица тоже 2 байта занимает на символ. Ради совместимости, я лично готов этим лишним байтом пожертвовать, поскольку проблема-то серьезная. А если беспокоит вопрос экономии трафика в нете, то есть GZIP. Меня уже просто достали эти проблемы с кодировками sad Из ничего порой такой гемор из-за этих кодировок бывает, просто ужас =/
#171. Helqg Off (2)
Участник
2008.03.20 11:11
То есть? Почему к примеру не выбрал за основную кодировку 1251? Она ща многими телефонами поддерживается. В отличие от Koi8r, эта даже с моей sis kовской оперы не превратится в буквы.
Стране нужны автобусы!
#172. Gemorroj Off (107)
Administrator
2008.03.20 13:01
Потому что в отличае от win-1251, в UTF-8 предусмотрены все символы. А koi8-r вообще не рассматривается smile
#173. Helqg Off (2)
Участник
2008.03.21 08:08
ээ... ну хоть пример один. Че там нету? € знак евро есть?
Стране нужны автобусы!
#174. Helqg Off (2)
Участник
2008.03.21 11:11
по форуму: как сделать онлайн юзеров?
Стране нужны автобусы!
#175. Gemorroj Off (107)
Administrator
2008.03.21 12:12
сделай в какой-нибудь таблице колонку с временем последнего посещения. при посещении зарегистрированным пользователем форума, соответственно заноси туда timestamp. ну и потом если этот timestamp больше time()-300, то пользователь в онлайне. 300 - это сколько секунд считать в онлайне.
по поводу Win-1251 vs UTF-8. В ACSII таблице 255 символов. Вот они
Код:
span style="color: #0000BB"><?phpfor($i=0; $i<=255; ++$i){print "&#$i;<br/>";}?>
255! разве это много?? в Unicode я насчитал их больше миллиона! всякие пиктограммы, иероглифы.
вот почитай http://ru.wikipedia.org/wiki/Юникод
Отредактировано Gemorroj (2008.03.21 12:12)
#176. Casper Off (-1)
Модератор-невидимка
2008.03.21 13:01
Блокировка по юзер-агенту:
Код:
if($_SERVER['HTTP_USER_AGENT'] == 'Nokia6021/2.0 (04.50) Profile/MIDP-2.0 Configuration/CLDC-1.1'){exit('Вам сюда нельзя!');}
Как сделать, чтоб пользователь с таким юзер-агентом переадрисовывался на другую страницу?
Отредактировано Casper (2008.03.21 13:01)
#177. Gemorroj Off (107)
Administrator
2008.03.21 13:01
Код:
span style="color: #0000BB"><?phpif($_SERVER['HTTP_USER_AGENT'] == 'Nokia6021/2.0 (04.50) Profile/MIDP-2.0 Configuration/CLDC-1.1'){header('Location: redirect.php',true,301);exit;}?>
еще замечу, что при переадресации через Location в заголовке, следует отправлять код 301. По умолчанию отправляется 302.
Это нужно для того чтобы поисковики нормально относились к подобным переадресациям. При частых переадресациях с кодом 302, есть риск попасть в бан у поисковиков или по крайней мере снизить PR.
На переадресациях построены дорвеи, посему поисковые машины таким образом им противостоят.
#178. Casper Off (-1)
Модератор-невидимка
2008.03.21 14:02
Благодарю!
#179. Helqg Off (2)
Участник
2008.03.21 15:03
это пользователь открывает страницу, а там? Отбираю всех юзеров у которых открытие страницы было недавно. Такс... То есть на каждой странице надо обновлять юзеру дату своего последнего действия?
Стране нужны автобусы!
#180. Gemorroj Off (107)
Administrator
2008.03.21 15:03
да. сделай отдельно функцию которая будет это делать. и вставь ее везеде.
#181. Stepan
Гость
2008.03.22 23:11
Хочу сделать свои поисковик на сайте,а в php почти не разбираюсь.Может кто нибудь может помочь?
#182. Gemorroj Off (107)
Administrator
2008.03.23 08:08
просто представь что должен делать поисковый робот. все ремя быть в работе, ходить по ссылкам, ранжировать полученные данные в зависимости от содержимого, разумно противостоять различным SEO ухищрениям, хранить огромный объем информации у себя на сервере. Вероятно еще много всего требуется. В т.ч. и собственные мощные сервера. Вот например что пишет о себе яндекс.
В поиске Яндекса сегодня
сайтов: 11 896 113,
веб-страниц: 2 677 821 253,
объем проиндексированной
информации: 79 239 ГБ.
еще есть вопросы? smile
Отредактировано Gemorroj (2008.03.23 14:02)
#183. Helqg Off (2)
Участник
2008.03.23 14:02
так. Время работы готово. smile с онлайн думаю пока погодить... Надо сделать анкету юзера. Че б туда всунуть, почту, дату регистрации, постов живых, тем живых, ээ. Картинки наверное будут много места занимать...
Добавлено спустя   3 минуты  58 секунд:
кстати ушел от двумерных массивов. Как оказалось возможно такое:
Код:
while($f=mysql_fetch_assoc($)){}
Стране нужны автобусы!
#184. Gemorroj Off (107)
Administrator
2008.03.23 15:03
ну да, будет выполняться, пока не получит false
#185. Helqg Off (2)
Участник
2008.03.24 20:08
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
Хорошо знаешь английский? Я чет ниче не понял. Может важное че.
Стране нужны автобусы!
#186. Gemorroj Off (107)
Administrator
2008.03.24 21:09
да, английский там жестокий. может это американский, а не английский даже.
ну 1 - echo быстрее чем print
2 - $ret = print "hello"; так можно, и переменная $ret будет равняться 1, в то время как с echo такие штуки не прокатя. На счет AND, OR and XOR я не понял sad что-то говориться что они более низкоуровневые, но как это связать я не понял.
3 -  echo  "and a ", 1, 2, 3; - так можно, а вот с print не выйдет.
хреновый из меня переводчик, как смог перевел)
вот еще пара ссылок
http://www.phpforum.ru/index.php?showtopic=346]
http://otvety.google.ru/otvety/thread?t … ae2ec5eac1
от себя добавлю что я и сам не первый раз копаюсь в отличиях echo и print, но толку это дает мало. Одни говорят что быстрее print другие echo. В любом случае если и есть разница в скорости, то она крайне мала, на столко что вот даже выяснить толком не могут, что же все-таки быстрее)
Думаю лучше просто использовать то, что ближе душе. Мне вот print больше нравится почему-то.
#187. Helqg Off (2)
Участник
2008.03.28 18:06
регулярное выражение бунтует :
[[:alnum:]-.]+@[[:alnum:]-]+(\\.[[:alnum:]-]+)*
никак не пойму в чем трабл
Стране нужны автобусы!
#188. Helqg Off (2)
Участник
2008.03.28 19:07
увидел ща про клик клуб и регулярку, но все таки хотелось бы понять в чем я промахнулся. Мне вот конечно круглые скобки не нравятся, но у меня в книжке именно пример с такими скобками
Стране нужны автобусы!
#189. Admin Off (-1)
Administrator
2008.03.28 21:09
возможно из-за 2-х слешей [[:alnum:]-.]+@[[:alnum:]-]+(\\.[[:alnum:]-]+)*
сердце пронзенное ветром
#190. Helqg Off (2)
Участник
2008.03.29 23:11
трабл однако. Взял с маговского форума регулярку- тоже не пашет. Ща местную возьмем// Warning: ereg(): REG_ERANGE in... on line ...
Стране нужны автобусы!
#191. Gemorroj Off (107)
Administrator
2008.03.30 10:10
Код:
preg_match("/^[[:alnum:]][a-z0-9_\.\-]*@[a-z0-9\.\-]+\.[a-z]{2,6}$/i", $mail);
пробуй эту еще, если снова ошибка вылезет, будем думать.
#192. Helqg Off (2)
Участник
2008.03.30 12:12
чет аще ниче не работает
Код:
lt;?include('./time.php');include('./xhtml.php');header('Content-type:application/xhtml+xml;charset=utf-8');echo $prolog;if(!isset($_POST['nick'])||!isset($_POST['pswd'])||!isset($_POST['mail'])) exit('не все поля заполнены!<br/>'.$end);$nick=$_POST['nick'];$pswd=$_POST['pswd'];$mail=$_POST['mail'];if((mb_strlen($nick)>10)||(mb_strlen($pswd)>20)) exit('имя до 10 символов, пароль до 20<br/>'.$end);if(!eregi('[a-z0-9_]+',$nick)||!eregi('[a-z0-9_]+',$pswd)) exit('разрешено использовать только буквы латинского алфавита, цифры и знак подчеркивания в логине и пароле<br/>'.$end);if(!preg_match('/^[[:alnum:]][a-z0-9_\.\-]*@[a-z0-9\.\-]+\.[a-z]{2,6}$/i',$mail)) exit('Неверный адрес электронной почты'.$end);if(isset($_POST['info']))$info=mb_substr($_POST['info'],0,500); else $info='не указано';if(!$connect=mysql_connect('localhost','db_helqg','превед'))exit ('база в ауте :-(<br/>'.$end);mysql_select_db('db_helqg',$connect);$info=mysql_real_escape_string($info);echo 'Регистрация<br/>Логин: <b>'.$nick.'</b><br/>Пароль: <b>'.$pswd.'</b><br/>Почта:<br/><b>'.$mail.'</b><br/>О себе:<br/>'.$info.'<br/>';if(mysql_num_rows(mysql_query("SELECT `id` FROM `users` WHERE `nick`='$nick'"))) exit('логин занят<br/><a href="reg.php">обдумать</a><br/>'.$end);else {mysql_query("INSERT INTO `users`(`nick`,`pass`,`mail`,`mnenie`,`info`,`old`,`went`,`create`,`write`,`ban`,`exp`) VALUES ('$nick','$pswd','$mail','начинающий форумист','$info','".timestamp()."','0','0','0','0','0')"); echo 'запрос отправлен';}mysql_close($connect);echo '<br/><a href="index.php">к формам</a><br/>';slow();echo $end;?>
Стране нужны автобусы!
#193. Gemorroj Off (107)
Administrator
2008.03.30 13:01
Код:
span style="color: #0000BB"><?phpinclude('./time.php');include('./xhtml.php');// не забывай о пробелах, без них бывают проблемыheader('Content-type: application/xhtml+xml; charset=utf-8');echo $prolog;// убираем лишние пробелы$nick=trim($_POST['nick']);$pswd=trim($_POST['pswd']);$mail=trim($_POST['mail']);// проверяем не пустые ли переменныеif(!$nick || !$pswd || !$mail){exit('не все поля заполнены!<br/>'.$end);}if((mb_strlen($nick)>10) || (mb_strlen($pswd)>20)){exit('имя до 10 символов, пароль до 20<br/>'.$end);}if(!eregi('^[a-z0-9_]+$',$nick) || !eregi('^[a-z0-9_]+$',$pswd)){exit('разрешено использовать только буквы латинского алфавита, цифры и знак подчеркивания в логине и пароле<br/>'.$end);}if(!preg_match('/^[[:alnum:]][a-z0-9_\.\-]*@[a-z0-9\.\-]+\.[a-z]{2,6}$/i',$mail)){exit('Неверный адрес электронной почты'.$end);}if(isset($_POST['info'])){$info=mb_substr($_POST['info'],0,500);}else{$info='не указано';}if(!$connect=mysql_connect('localhost','db_helqg','превед')){exit('база в ауте :-(<br/>'.$end);}// Соединение с базой в UTF-8mysql_query('SET NAMES `utf8`');mysql_select_db('db_helqg',$connect);$info=mysql_real_escape_string($info);// желательно использовать <strong>, а не <b>echo 'Регистрация<br/>Логин: <strong>'.$nick.'</strong><br/>Пароль: <strong>'.$pswd.'</strong><br/>Почта:<br/><strong>'.$mail.'</strong><br/>О себе:<br/>'.$info.'<br/>';if(mysql_num_rows(mysql_query("SELECT `id` FROM `users` WHERE `nick`='$nick'"))){exit('логин занят<br/><a href="reg.php">обдумать</a><br/>'.$end);}else{mysql_query("INSERT INTO `users`(`nick`,`pass`,`mail`,`mnenie`,`info`,`old`,`went`,`create`,`write`,`ban`,`exp`) VALUES('$nick','$pswd','$mail','начинающий форумист','$info','".timestamp()."','0','0','0','0','0')");echo 'запрос отправлен';}mysql_close($connect);echo '<br/><a href="index.php">к формам</a><br/>';slow();echo $end;?>
на сколько я понимапю проблема была не в регулярке.
isset проверяет СУЩЕСТВУЕТ ли переменная, а она у тебя будет существовать, хоть и пустая.
#194. Helqg Off (2)
Участник
2008.03.30 20:08
да вряд ли. Не фатально. У меня страница что то грузит не том объеме, в каком должна.
Код:
$test=mysql_query("SELECT `id` FROM `users` WHERE `nick`='$nick'");
echo 'Логин: ';
if(mysql_num_rows($test))
exit('занят<br/><a href="reg.php">обдумать</a><br/>'.$end);
else {
я даже так условие распаковал, но даже слово логин не появляется. В чем то блин серьезный косяк
Добавлено спустя   1 минуту  53 секунды:
isset заменил на !empty
Стране нужны автобусы!
#195. Gemorroj Off (107)
Administrator
2008.03.30 21:09
в данном коде ошибок нет. может быть ошибка спряталась в каком-нибудь файле, который инклудится в этот файл.
#196. Helqg Off (2)
Участник
2008.03.31 11:11
в одном две переменные начала и конца. Второй сразу смотрит время, и потом вычитает его функцией slow(). В форум то я захожу все нормально.
Too many connections- для мускула это как ? Из моего скрипта или идет для всех баз хостинга?
Добавлено спустя   4 минуты  46 секунд:
о, вложения работают красиво.
Отредактировано Helqg (2008.03.31 11:11)
Стране нужны автобусы!
#197. Helqg Off (2)
Участник
2008.03.31 21:09
вроде заработало. Все с нуля переписал, не подглядывая smile
Стране нужны автобусы!
#198. vandal Off (0)
Участник
2008.04.03 00:12
Gemorroj подскажи как вывести например последние две темы форума на главную страницу.форум на мускуле
Я не Google,я не Yahho!!!Есть вопрос?Идите на ХУЙ!!!
#199. Gemorroj Off (107)
Administrator
2008.04.03 11:11
как можно на это ответить не зная структуры БД???
в общем случае примерно так
Код:
span style="color: #0000BB"><?php$sql = mysql_query('SELECT * FROM `tables` ORDER BY `id` DESC LIMIT 2');$result1 = mysql_fetch_assoc($sql);$result2 = mysql_fetch_assoc($sql);?>
#200. вандал
Гость
2008.04.03 14:02
ну я щас через час пример таблицы кину
#201. Helqg Off (2)
Участник
2008.04.04 19:07
тяк.
Вот что хочется вспомнить. Как проверить, что юзер добавляет на сайт картинку? Просто проверить расширение файла?
Стране нужны автобусы!
#202. Gemorroj Off (107)
Administrator
2008.04.04 19:07
вобщем да. еще можно проверить функцией getimagesize
Код:
span style="color: #0000BB"><?php$arr = getimagesize('photo.jpg');//$arr[2]; // type?>
если $arr[2] =1, то это GIF. если 2, то это JPEG. если 3, то это PNG
#203. Helqg Off (2)
Участник
2008.04.05 17:05
ага. Гуд
Стране нужны автобусы!
#204. Helqg Off (2)
Участник
2008.04.09 19:07
интересный скрипт. Особенно как автор пишет о нем. smile
Стране нужны автобусы!
#205. Gemorroj Off (107)
Administrator
2008.04.09 21:09
чушь, видел уже. не существует универсальных функций.
#206. vandal Off (0)
Участник
2008.04.12 20:08
админ расскажи поподробней о функции BASEDIR для чего и где её применять. и не грузит ли она сервер при многократном обращении этой функцией?
Я не Google,я не Yahho!!!Есть вопрос?Идите на ХУЙ!!!
#207. Gemorroj Off (107)
Administrator
2008.04.13 08:08
вообще функции basedir нету. есть например basename — Возвращает имя файла из указанного пути.
Вероятно ты имел ввиду функцию realpath — Возвращает канонизированный абсолютный путь к файлу. Т.е. раскрывает символы /./ ../, так же убирает лишние /
Насчет того, как сильно она грузит сервер у меня информации нет, но думаю не сильно.
#208. vandal Off (0)
Участник
2008.04.13 15:03
нет именно ".BASEDIR." . Ну вот например есть у нас две страницы: одна лежит в корне сайта index.php . а другая лежит в папке dir/main.php . есть еще папка со стилем в которой лежит низ страницы theme/foot.php .  Вот нам надо вывести на этих двух страницах например баннер который лежит в theme/img/banner.gif . написав в foot.php код баннера например <img src="theme/img/banner.gif"/>  он не будет виден ни на одной странице а если мы добавим этот BASEDIR то все станет на свои места. например напишем в foot.php следующее <img src="".BASEDIR."theme/img/banner.gif"/> теперь этот баннер будет и на index.php и на dir/main.php
Я не Google,я не Yahho!!!Есть вопрос?Идите на ХУЙ!!!
#209. Gemorroj Off (107)
Administrator
2008.04.13 16:04
в твоем случае это константа, вероятно прописана в конфиге.
сделать ее можно как и любую другую константу, а именно
Код:
span style="color: #0000BB"><?phpdefine('BASEDIR','нужное значение');?>
и в дальнейшем пользоваться этой константой с указанным значеием.

к слову чтобы получить текущую папку, можно воспользоваться следующей конструкцией
Код:
span style="color: #0000BB"><?php$basedir = dirname($_SERVER['PHP_SELF']);?>
и еще я бы рекомендовал просто писать путь к баннеру от корня. Т.е. не theme/img/banner.gif, а /theme/img/banner.gif (в начале слеш)
#210. Helqg Off (2)
Участник
2008.04.17 20:08
Ааа. Я очнулся. Форум надо отложить в ящик или я умру за ним... Надо че нить другое попробывать. Вот к примеру крестики-нолики.
Понятно, что сложно но надо попробывать.
Добавлено спустя   6 минут  14 секунд:
так, нолики значит , крестики...
страница, на ней 9 символов- 9 переменных, допустим =. Сначало ходит игрок - один символ меняется на +. Точнее значение переменной. видать надо сессию будет ляпать. Мда. Такс. Затем скрипт ему отвечает, пусть пока отвечает random. И
после чьего то хода проверка на 8 выигрышных комбинаций и на ничью. Вроде так
Добавлено спустя   9 минут  16 секунд:
если есть умные мысли буду рад smile
Стране нужны автобусы!
#211. Helqg Off (2)
Участник
2008.04.17 20:08
неумным в особенности
Стране нужны автобусы!
#212. Gemorroj Off (107)
Administrator
2008.04.17 21:09
нарисуй форму игры в эти крестики нилики, я что-то сообразить не могу именно как форму нормальную сделать.
#213. Helqg Off (2)
Участник
2008.04.17 21:09
чуть не умер. Скачал скрипт у тебя загруз центра, так карта к бобруйску.
Это кадры конечно... Дорога для разбега... Апстена. smile
Добавлено спустя   3 минуты  14 секунд:
а нафиг мне форма? Все в сессии 9 переменных. get, post- их введут сразу выигрышную партию. Пусть будет на голых ахрефах
Стране нужны автобусы!
#214. Gemorroj Off (107)
Administrator
2008.04.17 21:09
не, я от формы отталкиваюсь. без нее не соображу.
#215. Helqg Off (2)
Участник
2008.04.18 10:10
ну может и можно. Это надо глянуть учебник по html. Если для ссылок возможно- имя значение , то можно и через форму.
Добавлено спустя   1 минуту  10 секунд:
если нет, то 9 форм.
Стране нужны автобусы!
#216. Helqg Off (2)
Участник
2008.04.18 23:11
все таки без форм smile. //
дан массив. Как найти чего больше плюсов или нулей? Два цикла и сравнение? Может есть функция на поиск количества заданного элемента?
Стране нужны автобусы!
#217. Gemorroj Off (107)
Administrator
2008.04.19 09:09
ну наверное нужно будет лучше просто прописать все возможные варианты, их не так много, как мне думается. и сравнивать данные в сессии с готовыми вариантами. просто и надежно.
#218. Helqg Off (2)
Участник
2008.04.19 13:01
варианты это на выигрыш. А проблема в том, чей ход. И мне надо знать чего больше в массиве. Крестиков или ноликов...
Стране нужны автобусы!
#219. Gemorroj Off (107)
Administrator
2008.04.19 15:03
нет, порыл мануал, такой функции нет. можно выбрать КЛЮЧИ массива с определенными параметрами, но не из значения. Вообще, ты изначально идешь не верным путем. Сначало нужно ЧЕТКО представлять что ты хочешь сделать. Ну я по крайней мере не видя формы, представить дальнейшую разработку скрипта не могу.
#220. Helqg Off (2)
Участник
2008.04.19 21:09
ну да. Чето уже написанно. Ща прочитаю, может понимая что написал %) увижу ошибки:
-стартует сессия
-проверка не передан ли скрипту ход игрока, то есть нолика. Если так и есть то объявляем переменную сессии с именем 'aнужное число'
-цикл 9 раз. В нем условие существует ли переменная от а1 до а9. Если существует то элементу $а[нужное число] присваиваем значение нужной сессии иначе равна _
Стране нужны автобусы!
#221. Helqg Off (2)
Участник
2008.04.19 21:09
-проверяем ничью, то есть имеются ли в массиве элементы _
-проверяем победу. Лучше функцией. Тут правда будет проблема, если нельзя global $a.
-если ход соперника, то в массиве случайный элемент _ превращается в крест. Затем выводятся все 9 элементов массива, сбивается переменная хода скрипта.
- если же не ход соперника, то двумя циклами и условием "если данный элемент массива равен _" выводятся ссылки на пустые поля и символы содержания элемента массива, если не пустые. Создается сессия на ход соперника.
Добавлено спустя   2 минуты  47 секунд:
ыгыгы. Стопудово не будет работать
Стране нужны автобусы!
#222. Gemorroj Off (107)
Administrator
2008.04.20 12:12
я не понял)
#223. Helqg Off (2)
Участник
2008.04.20 20:08
Код:
span style="color: #0000BB"><?phpsession_start();if(isset($_GET['a'])){$z='a'.$_GET['a'];if(!isset($_SESSION[$z]))$_SESSION[$z]='0';}for($i=0;$i!=9;$i++){if(isset($_SESSION['a'.$i]))$a[$i]=$_SESSION['a'.$i];else$a[$i]='_';}for($i=1;$i!=9;$i++){$empty.=$i;if($a[$i]=='_') $hod+=1;}if($hod==0) { session_destroy();exit ('ничья');}function win_lose($znak) {global $a;for($i=1;$i!=7;$i+3){if($a[$i]==$a[$i+1]&&$a[$i]==$a[$i+2]) { session_destroy();exit('победил'.$znak); }if(($a[1]==$a[5]&&$a[5]==$a[9])||($a[3]==$a[5]&&$a[5]==$a[7])){session_destroy();exit('победил'.$znak);}}win_lose('0');win_lose('x');if(isset($_SESSION['enemy'])){ $znachenie=mb_strlen($empty)-1;mt_srand(time());$enemy=mt_rand(0,$znachenie);$ready=$empty[$enemy];$a[$ready]='x';$_SESSION['a'.$a[$ready]]='x';for($i=1;$i!=7;$i+3){for($j=$i;$j!=3;$j++){echo $a[($j+$i-1)].' ';}echo '<br/>';}session_unregister('enemy');echo 'Оппонент сделал ход!<br/><a href="index.php">обновить</a><br/><a href="index.php?end=1">заново</a><br/>'; }else{for($i=1;$i!=7;$i+3) {for($j=1;$j!=3;$j++) { $v=$j+$i-1;if($a[$v]=='_') echo '<a href="index.php?a='.$a[$v].'">_</a> ';elseecho $a[$v].' ';}echo '<br/>';}$_SESSION['enemy']=true;}?>
Добавлено спустя   2 минуты  47 секунд:
что то h2m тормозит. Пока тестирование откладывается
Добавлено спустя   8 минут  17 секунд:
пока правда без Заголовков, и без рестартов... Ну это уж как дело пойдет
Стране нужны автобусы!
#224. Helqg Off (2)
Участник
2008.04.21 17:05
свежее: забыл одну }, не объявил $hod, $empty.
главный косяк в функции smile всегда выигрывает ноль. Гг. Совсем забыл про $znak
Добавлено спустя   7 минут  33 секунды:
блин. Превышенно время выполнения smile как так. Сверх оптимизированный код. Практически без циклов
Стране нужны автобусы!
#225. Helqg Off (2)
Участник
2008.04.21 18:06
http://www.freelancer.com.ua/programming-languages/2006/08/04/
искал правда совсем не это, но внимание остановило. Особенно как в комментах мастера C не признают других языков.
Добавлено спустя   1 минуту  44 секунды:
if(($a[$i]==$a[$i+1])&&($a[$i]==$a[$i+2])&&($a[$i]===$znak))

Как это записать проще? Ужос. Что то мне кажется через цикл будет совсем не проще.
Стране нужны автобусы!
#226. Gemorroj Off (107)
Administrator
2008.04.21 18:06
ну не свех уж... smile
здесь же в тестах показано было, что isset относительно медленная функция
так же лучше заменить for($i=1;$i!=9;$i++) на for($i=1;$i<9;$i++) (во всех циклах)
#227. Helqg Off (2)
Участник
2008.04.21 18:06
условие в условии... Гм
Стране нужны автобусы!
#228. Helqg Off (2)
Участник
2008.04.21 18:06
мда. Надо че то думать с проверкой на победу. Execution time не хватает однако
Стране нужны автобусы!
#229. Helqg Off (2)
Участник
2008.04.22 14:02
http://hitfounder.livejournal.com/7002.html
свежачок. Интересно что C не рассматривают как общий язык, а делят на 3 smile неужели такие разные
Стране нужны автобусы!
#230. Gemorroj Off (107)
Administrator
2008.04.22 16:04
дада, C такой. Имел смелось ознакомиться в общих чертах с C и C++, могу подтвердить что отличаются, а C# на сколько я знаю еще сильнее отличается.
Интересно еще что JAVA так сильно всех опережает. Это на западе на самом деле так, у нас несколько другая ситуация. У нас бы Delphi повыше был, да PHP думаю тоже, а вот JAVA наоборот, как мне кажется была бы не на первом месте. И уж точно не 20% у нее было бы.
Еще если посмотреть тенденцию, то число PHP кодингистов постоянно растет smile а вот JAVA кодингистов все меньше. Еще почему-то не увидел я тут ASP. Ну не верю я что им так мало народу пользуется. Еще момент... Вызывает сомнение что на C++ пишут меньше чем на чистом C. Вероятно подсчет имеет некоторую погрешность. А вообще инфа интересная smile Хотя сравнивать скажем PHP и Бейсик, как мне кажется не совсем корректно smile
#231. Helqg Off (2)
Участник
2008.04.22 20:08
Работает! Ужос. Скока я косяков написал сначало...
пока работает smile правда не решен еще вопрос с функцией на победу, но это не серьезно. Главное сессии заработали
Стране нужны автобусы!
#232. Gemorroj Off (107)
Administrator
2008.04.22 20:08
ну выложи рабочий скрипт. т.е. с ФОРМОЙ smile а так для меня это как кусок мяса. оно не живое)
#233. Helqg Off (2)
Участник
2008.04.23 12:12
http://www.disciples3.ru/news/news_rus_1.htm

когда же она выйдет? Скорей бы. Самая мною ожидаемая игра. Обещали в том годуsmile потом на месяц отложили, а потом еще на год. И комп еще надо купить...
Стране нужны автобусы!
#234. Helqg Off (2)
Участник
2008.04.23 18:06
Код:
span style="color: #0000BB"><?phpif(isset($_GET['end'])){session_destroy();unset($_GET['a']);}session_start();include('./work.php');header('Content-type:application/xhtml+xml;charset=utf-8');echo $prolog;if(isset($_GET['a'])){$z='a'.$_GET['a'];if(!isset($_SESSION[$z]))$_SESSION[$z]='0';elseecho 'старые координаты, пропуск хода!<br/>';}for($i=0;$i<10;$i++){$ses='a'.$i;if(isset($_SESSION[$ses]))$a[$i]=$_SESSION[$ses];else$a[$i]='_';}function win_lose($znak) {global $a;for($i=1;$i<8;$i+=3) { if($a[$i]==$znak && $a[$i]==$a[$i+1] && $a[$i+1]==$a[$i+2]){session_destroy();exit('Победил<strong> '.$znak.'</strong>'.$last);} }}win_lose('0');win_lose('x');$empty='';$hod=0;for($i=1;$i<10;$i++){if($a[$i]=='_') {$empty.=$i;$hod+=1;}}if($hod==0) { session_destroy();exit ('Ничья!'.$last);}if(isset($_SESSION['enemy'])){ $znachenie=mb_strlen($empty)-1;mt_srand(time());$enemy=mt_rand(0,$znachenie);$ready=$empty[$enemy];$a[$ready]='x';$uzhos='a'.$ready;if($_SESSION[$uzhos]='x')echo 'enemy plotting strategy!</p><p align="center"><strong>';for($i=1;$i<8;$i+=3){for($j=1;$j<4;$j++){echo $a[($j+$i-1)].' ';}echo '<br/>';}session_unregister('enemy');echo '</strong>Оппонент сделал ход!<br/><a href="index.php">далее</a>'.$last; }else{echo 'Ваш ход:</p><p align="center"><strong>';for($i=1;$i<8;$i+=3) {for($j=1;$j<4;$j++) { $v=$j+$i-1;if($a[$v]=='_') echo '<a href="index.php?a='.$v.'">_</a> ';elseecho $a[$v].' ';}echo '<br/>';}$_SESSION['enemy']=true;echo '</strong>'.$last;}?>
Добавлено спустя   1 минуту  36 секунд:
Код:
span style="color: #0000BB"><?php$prolog='<?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></head><body><p align="left">';$last='</p><p align="center">-=-=-</p><p align="left"><a href="index.php?end=1">заново</a><br/><a href="../">на главную</a></p></body></html>';?>
Добавлено спустя   5 минут  55 секунд:
еще надо все таки будет сделать проверку на победу. И неплохо бы как нить продумать разум оппоненту.
Стране нужны автобусы!
#235. Gemorroj Off (107)
Administrator
2008.04.23 19:07
ыыыы)
круто))
PHP парсер ругается просто благим матом, но это хня, игрушка прикольная smile)
ща тоже поковырять ее попробую)
#236. Gemorroj Off (107)
Administrator
2008.04.23 20:08
не считает знакинаискось. ну тоесть так
--x
-x-
x--

и еще, что это значит? - enemy plotting strategy!? smile
#237. Helqg Off (2)
Участник
2008.04.24 06:06
я ж говорю. Он совсем никак не считает. За это будет отвечать функция win_lose. "enemy plotting strategy" это просто любимая фраза из игры с sega. "враг разрабатывает стратегию"
Стране нужны автобусы!
#238. Helqg Off (2)
Участник
2008.04.26 17:05
мда. Крестики нолики это конечно интересно, но надо пробывать сделать для 2 игроков. Человеков. Только как? как узнать кто с кем играет. Надо какую то базу. Допустим таблица. Поля: кто играет, с кем, ээ. Чорт. Надо глянуть скрипты каких нить игр
Стране нужны автобусы!
#239. Helqg Off (2)
Участник
2008.04.27 22:10
дело вроде двинулось. Уже продумал немного. Будут сессии и база с 14 столбцами. Надеюсь в задумке нигде не ошибся :)
Отредактировано Helqg (2008.04.27 22:10)
Стране нужны автобусы!
#240. Gemorroj Off (107)
Administrator
2008.04.27 22:10
довай)) игрушка карошая)
#241. Helqg Off (2)
Участник
2008.04.29 19:07
вот ведь... Проблемко... И че я сразу в таблице id не сделал. Терь переделывать. Это ведь так удобно, искать игру по точному столбцу, а не по нику то ли создателя то ли подключившегося
Стране нужны автобусы!
#242. Gemorroj Off (107)
Administrator
2008.04.29 20:08
ты имеешь ввиду присвоить уникальное значение переменным отвечающим за крестики и нолики? хм, возможно) тебе видней wink
#243. Helqg Off (2)
Участник
2008.05.03 23:11
чорт. Как всегда. Ниче не понятно- ниче не работает. : ( индексовая страница после заполнения формы выводит чистую страницу:
index.php
Код:
lt;?session_start();include('./work.php');header('Content-type:application/xhtml+xml;charset=utf-8');echo $prolog;db_connect();if(!isset($_POST['nick'])&&!isset($_SESSION['nick']))error('<form action="index.php" method="post">Введите ник:<br/><input type="text" name="nick" maxlength="10"/><br/><input type="submit"/></form>');if(!isset($_SESSION['nick'])&&isset($_POST['nick'])){$zanyat=mysql_query("SELECT * FROM `battle` WHERE `starter`='".$_POST['nick']."' OR `enemy`='".$_POST['nick']."'");if(!mysql_rows($zanyat)){$_SESSION['nick']=$_POST['nick'];echo 'Ваш ник: '.$_SESSION['nick'];}else error('Ник пока занят!');}if(isset($_SESSION['id_game'])){echo 'вы уже играете!<br/><a href="fight.php">к бою</a>';exit($final);}$games=mysql_query("SELECT * FROM `battle` WHERE `game`='0'");echo '<br/>'.mysql_rows($games).' игр <br/>';while(mysql_array($games)) {echo '<a href="fight.php?id='.$games['id'].'">'.$games['starter'].'-'.$games['time'].'</a><br/>';}echo '<a href="create.php">создать</a><br/>'.$final;?>
Добавлено спустя   1 минуту  58 секунд:
work.php
Код:
lt;?$up=array_sum(explode(' ',microtime())); // время$prolog='<?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></head><body><p align="left">';$final='</p><p align="center">-=-=-</p><p align="left"><small>['.slow().']</small></p></body></html>';function slow() {global $up;return round(array_sum(explode(' ',microtime()))-$up,4);}if(!$connect=mysql_connect('localhost','db_helqg',':)'))exit ('База в ауте:-('.$final);mysql_select_db('db_helqg',$connect);function error($mess) {global $final;session_destroy();echo '<strong>'.$mess.'</strong>';exit($final);}?>
Стране нужны автобусы!
#244. Gemorroj Off (107)
Administrator
2008.05.04 10:10
а таблицы? smile
Добавлено спустя   3 минуты  32 секунды:
еще тут PHP5 нужен. у тебя он?
#245. Helqg Off (2)
Участник
2008.05.04 12:12
Код:
CREATE TABLE `battle`
(
`id` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT,
`game` INT UNSIGNED NOT NULL,
`starter` VARCHAR( 20 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`enemy` VARCHAR( 20 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`hod` VARCHAR( 2 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`time` INT UNSIGNED NOT NULL,
`a1` VARCHAR( 2 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`a2` VARCHAR( 2 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,`a3` VARCHAR( 2 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,`a4` VARCHAR( 2 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,`a5` VARCHAR( 2 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,`a6` VARCHAR( 2 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,`a7` VARCHAR( 2 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,`a8` VARCHAR( 2 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,`a9` VARCHAR( 2 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
PRIMARY KEY(`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
******
php5 точно. Всякие mb_ тоже поддерживает
Стране нужны автобусы!
#246. Helqg Off (2)
Участник
2008.05.04 13:01
убейте меня smile ошибка в моем лучшем стиле
mysql_rows();
mysql_num_rows();
Стране нужны автобусы!
#247. Helqg Off (2)
Участник
2008.05.04 14:02
mysql_array();
mysql_fetch_array();
А так в целом все работает smile
Стране нужны автобусы!
#248. Helqg Off (2)
Участник
2008.05.06 20:08
страшный код. Гг. Возможно ли удалить кусок гет массива?
unset($_GET['myhod']);
не пашет smile а так приходится к неправде приравнивать
Стране нужны автобусы!
#249. Helqg Off (2)
Участник
2008.05.06 20:08
Сцуко, он не приравнивается к неправде. Честный, непослушный GET массив...
: )
Стране нужны автобусы!
#250. Gemorroj Off (107)
Administrator
2008.05.07 09:09
почему??? GET - это обычный массив, и unset тоже должен работать.
#251. Helqg Off (2)
Участник
2008.05.07 10:10
да, чорт с ним. Была проверка на неверный ввод, теперь проверки нет. Но если ввести не верно то и выполняться ничего не будет.
пусть так будет пока.
Стране нужны автобусы!
#252. Helqg Off (2)
Участник
2008.05.07 21:09
ээ... Где кнопка выложить файл?
Стране нужны автобусы!
#253. Helqg Off (2)
Участник
2008.05.07 22:10
фиг с ней. href
Стране нужны автобусы!
#254. Gemorroj Off (107)
Administrator
2008.05.07 22:10
Helqg написал:
ээ... Где кнопка выложить файл?
жми ответить там будет)
#255. Helqg Off (2)
Участник
2008.05.08 06:06
ну че? Ну как? Я там даже прочитайменя написал : )
Стране нужны автобусы!
#256. Gemorroj Off (107)
Administrator
2008.05.08 13:01
круто))) рубался с IE и Оперы))
еще кнопку "обновить" сделай когда ждешь ход соперника)
#257. nokia70 Off (0)
Участник
2008.05.08 15:03
день добрый подскажи как мне обойти защиту по ай пи.у меня есть скрипт который бродит по сайтам и собирает информацию.а не могу сделать чтоб он передавал ай пи если не сложно подскажи или в icq 8100966 за деньги допиши эту возможность
#258. Gemorroj Off (107)
Administrator
2008.05.08 15:03
nokia70 написал:
а не могу сделать чтоб он передавал ай пи
поясни.
#259. nokia70 Off (0)
Участник
2008.05.08 16:04
скрипт который подделывается под браузер мобильного телефона как сделать чтоб он был с ай пи на сайте стоит  проверка по ай пи и дальше этой защиты я пройти не могу не пропускает по ай пи
Добавлено спустя   5 минут  7 секунд:
можешь написать в icq 8100966 в офф быстрее все обговорим или ты только на форуме
#260. Gemorroj Off (107)
Administrator
2008.05.08 16:04
только форум.
надо лазить через прокси.
#261. nokia70 Off (0)
Участник
2008.05.08 17:05
нужно делать маскировку (или фальсификацию) ip адреса
Добавлено спустя   1 минуту  10 секунд:
скрипт на перле
#262. Gemorroj Off (107)
Administrator
2008.05.08 17:05
аааа... если перл, то я пасс.
#263. nokia70 Off (0)
Участник
2008.05.08 17:05
а кто ни будь может подсказать
Добавлено спустя   1 минуту  35 секунд:
так если на php сделать какой ни будь модуль. Подключить
#264. Helqg Off (2)
Участник
2008.05.08 22:10
Эхь где б взять скрипт какой нить онлайн стратежки... Мысли то конечно есть, но страшно. Вот так пишешь- пишешь и оп , не баланс. Нет баланса, нет интереса. cswap.org так и сдох. Были у него хорошие задумки, но получилась фигня и дорабатывать он не стал : (
Стране нужны автобусы!
#265. Gemor
Гость
2008.05.09 01:01
Что касается этих игр, очень важна именно задумка, проработка деталей сюжета игры. А уже потом непосредственно кодинг.
А вообще мое имхо. Жуткий бред эти игры)  играть в это, по-моему невозможно в принципе)
#266. Helqg Off (2)
Участник
2008.05.09 09:09
гг. Да страшное чувство, что бездарно убиваешь время. Есть немного. Но раньшеш играл. И с тех пор уважение к ним.
Стране нужны автобусы!
#267. Helqg Off (2)
Участник
2008.05.10 20:08
интересная статья
Стране нужны автобусы!
#268. Kir Off (1)
Участник
2008.05.12 18:06
Приветствую! Помоги пожалуйста с импортном таблицы, точнее я не могу eе заполнить, вoт пример
Код:
CREATE TABLE `top_ly4` (
`id` int(11) NOT NULL auto_increment,
`title` TOP,
`pass` FcNdNADZ,
`email` kir_2380@mail.ru,
`link` top.ly4.h2m.ru,
`about` text NOT NULL,
`date` date NOT NULL default '0000-00-00',
`today` int(11) NOT NULL default '0',
`yesterday` int(11) NOT NULL default '0',
`bef1yes` int(11) NOT NULL default '0',
`bef2yes` int(11) NOT NULL default '0',
`allday` int(11) NOT NULL default '0',
`counthost` int(11) NOT NULL default '0',
`1host` int(255) NOT NULL default '0',
`2host` int(255) NOT NULL default '0',
`3host` int(255) NOT NULL default '0',
`ip1` 77.222.34.80,
`ip2` text NOT NULL,
`ip3` text NOT NULL,
`ip4` text NOT NULL,
`cin` int(11) NOT NULL default '0',
`allin` int(11) NOT NULL default '0',
`out` int(11) NOT NULL default '0',
`allout` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=0 ;
что мне надо прописать и где? CREATE TABLE 'users"( /// вoт вмeсто  users нaдо нaзвaниe таблицы? 'title' text NOT NULL, /// вмeсто чeго мне надо прописать заголовок вместо title или text NOT NULL, 'pass' text NOT NULL, и так далее... И какой pass прописaть что выдан для входа в базу данных или новый...  На x2м написан пример обращения и базе данных из php скриптa: $dbhost="localhost"; $dbname="..."; $dbuser="..."; $dbpass="..."; $link=mysql_connect($dbhost,$dbusur,$dbpass) or die ("Не могу подключится к серверу БД"); mysql_select_db($dbname,$link) or die ("Не могу подключится к БД");вот куда мне это все вставить? Вообще запутался... Что куда? Помоги пожалуйса разобраться.
#269. Gemorroj Off (107)
Administrator
2008.05.12 18:06
у кого еще здоровые нервы, ответте пожалуйста.. smile
#270. Gemorroj Off (107)
Administrator
2008.05.12 18:06
по поводу статьи... ну да, ну да... приятно почитать умных людей)
я за модульное программирование) пример - Gmanager (http://wapinet.ru/gmanager/) на мой взгляд все можно сделать функциями
да, там используются классы (PclZIP, Tar и др) но не суть, суть в файле functions.php
#271. Helqg Off (2)
Участник
2008.05.12 19:07
Эээ... Это круто. Особенно создание таблицы.
Ответы
1.Таблица у тебя однозначно косая. Пароль кстати поменяй, мало ли.
2.Да. Вместо users название таблицы.
3.Title-название столбца таблицы. Text-тип ячейки. А not null- значит, что не может быть пустой.
4.Пароль от базы данных используется при подключении к базе данных, никак не при создании таблицы.
5. это все вписывается прямо в php код. Но до вызова какой ли функции работающей с бд.
6. Знания в мозг. Руки печатать.

1:0 в пользу знатоков
Стране нужны автобусы!
#272. Kir Off (1)
Участник
2008.05.12 19:07
Helqg так я пробывал импортировать пишут "Импорт дaмпа зaпушeн. Вывод команды: ERROR 1064(42000) и дальше что то на анг. Короче понял что ошибка. a  как сделать чтобы таблица была не косая.?..
Добавлено спустя   5 минут  55 секунд:
Сейчас еще зашел в index там настройки, вписaл данные и выдало ERROR, на других страницах написано удалите Instal, так, a  я не знаю еще что с базой? a его же после удалять как с базой будет все нормально, и как понять что я подключился?
#273. Gemorroj Off (107)
Administrator
2008.05.12 19:07
перечитай ридми скрипта во первых.
во вторых, приведи пример таблицы которую ты НЕ трогал.
#274. Kir Off (1)
Участник
2008.05.12 20:08
Gemorroj, так a в ридми не чего нет вот http://top.ly4.h2m.ru/readme.txt , вoт пример таблицы которую не трогал http://top.ly4.h2m.ru/tables.sql, Gemorroj помоги пожалуйса, понять  как она заполняется ,что бы не была кривая...
#275. Gemorroj Off (107)
Administrator
2008.05.12 20:08
вот и заливай которую ты НЕ трогал.
а для добавления записей в БД нужно писать отдельно SQL запросы.
#276. Kir Off (1)
Участник
2008.05.12 20:08
Так в в саму таблицу не чего не надо писать? Я имею ввиду название таблицы, title,  email,  и.т.д.
#277. Gemorroj Off (107)
Administrator
2008.05.12 21:09
Gemorroj написал:
вот и заливай которую ты НЕ трогал.
#278. Kir Off (1)
Участник
2008.05.13 16:04
Все равно не хочет работать? Когда заполняю instal.php dbhost, dbuser, и.т.д пишут что ошибка установки  скрипта... попробуйте еще раз... Может обращение к базе в скрипте не для h2m или даже не знаю, что...
Добавлено спустя   5 минут  21 секунду:
Gemorroj,  a надо какое то время после отправки файла sql или cкрипт сразу должен запускатся...?
#279. Kir Off (1)
Участник
2008.05.14 17:05
Все разобрался с topoм, всем спасибо, там все проще чем я думал, таблицу отправлять самому не надо, в instal прописал данные и все, у меня заработало. . .
#280. Helqg Off (2)
Участник
2008.05.14 19:07
ну вот... Хорошо хоть install.Php изучил.
Стране нужны автобусы!
#281. Helqg Off (2)
Участник
2008.05.15 10:10
ща в rogue battle копаюсь. Полезно. Хоть с cron'ом научусь ладить. Заодно гляну как там классом к базе коннектят.
Стране нужны автобусы!
#282. Helqg Off (2)
Участник
2008.05.15 12:12
и значит вопрос. Ошибка соединения с базой.
Как в классе увидить массив? global?
Стране нужны автобусы!
#283. Helqg Off (2)
Участник
2008.05.15 19:07
: )  под снос. Ну невозможно это. Включается главная. Она достает header.Php , в нем
Код:
if ( $isadmin ) {
$incloc = '../';
}
if ( !$incsetup ) {
require( $incloc . 'includes/inc-setup.php' );
как это понимать? Че там будет инклудиться...
Стране нужны автобусы!
#284. Helqg Off (2)
Участник
2008.05.15 19:07
забыл добавить.
Переменной incloc в главной не пахнет. Откуда она идет непонятно. Че будет если она неправда, даже подумать страшно.
Стране нужны автобусы!
#285. Gemorroj Off (107)
Administrator
2008.05.15 19:07
вероятно как-то так надо.
Код:
span style="color: #0000BB"><?phpif ( $isadmin ) { $incloc = '../';}else{$incloc = null;}if ( !$incsetup ) { include( $incloc . 'includes/inc-setup.php' );}?>
хотя если глобальные переменные отключены, то и так нормально.
#286. Helqg Off (2)
Участник
2008.05.15 22:10
гм. Странные вещи творятся. require(n);
видать с кодировками страшные проблемы. : (
Стране нужны автобусы!
#287. Helqg Off (2)
Участник
2008.05.16 13:01
mysql_pconnect();
знаешь че нить серьезное об этом?
Стране нужны автобусы!
#288. Gemorroj Off (107)
Administrator
2008.05.16 13:01
сложный вопрос. это значит постоянное соединение, т.е. она само не закроется, пока ты сам его не закроешь (mysql_connect по умолчанию само через минуту закрывается)
вот целесообразность посоянных соединений под вопросом, одни говорят что это хорошо, другие что плохо...
скажем форум. эта страница у меня открыта уже больше минуты, при моем следующем переходе будет заново открываться соединение с mysql, а еслиб тут использовалось mysql_pconnect, то использовалось бы мое старое соединение. что позволяет снизить нагрузку на mysql сервер.
#289. Helqg Off (2)
Участник
2008.05.16 19:07
а в чем же тогда минус? Если так все хорошо его б и использовали везде. А так везде пишут хорошо но вот встретил я его пока первый раз в wab'овской мафии
Стране нужны автобусы!
#290. Helqg Off (2)
Участник
2008.05.16 19:07
dizzy однако шарил. Мафию написал, данетки, оживил цивилизацию... а потом поставил все на коммерческие рельсы, и как я понимаю продал и свалил : )
Стране нужны автобусы!
#291. Gemorroj Off (107)
Administrator
2008.05.16 19:07
из перечисленного тобой я только мафию разгребал. ужас wink
проблема как раз в том, что соединения не будут закрываться и со времением на сервере будет висеть куча лишних процессов.
я на этом форуме, например, сознательно сделал непостоянное соединение. постоянное можно применять на посещаемых ресурсах, типа чатов, ну форумов тоже, только посещаемых smile))
#292. Helqg Off (2)
Участник
2008.05.16 21:09
отсюда хочется задать вопрос. Постоянное соединение оно ведь одно? Или уникально каким нибудь образом для каждого юзера... Ну незнаю каким, каким нибудь...
А так по идее действительно удобно для посещаемых ресурсов. Но чувствую на бесплатных хостингах такие фокусы прикрыты.
Стране нужны автобусы!
#293. Caspеr
Гость
2008.05.17 07:07
#253, прикрепишь этот скрипт к чату?smile чтоб ник не надо было придумывать всё время, а брались из базы чата, т.е. текущий ник пользователя в чате
#294. Gemorroj Off (107)
Administrator
2008.05.17 09:09
Helqg, соединение с SQL-сервером не будет закрыто, когда работа скрипта закончится. Вместо этого, оно останется рабочим для будущего использования (mysql_close() также не закрывает постоянные соединения) вот... даже mysql_close не закрывает такие соединения..) оно одно для всех обращений к БД с одинаковыми логином и паролем.
Добавлено спустя    52 секунды:
и да... на бесплатных хостингах такое соединения запрещено)
#295. Helqg Off (2)
Участник
2008.05.17 19:07
Caspеr написал:
#253, прикрепишь этот скрипт к чату?smile чтоб ник не надо было придумывать всё время, а брались из базы чата, т.е. текущий ник пользователя в чате
разумная мысль. Гм. Подумаю. Возможность использовать любую базу юзеров... Очень занятно : )
Стране нужны автобусы!
#296. Helqg Off (2)
Участник
2008.05.17 19:07
гемор, ты кстати проверь, точно ли мондатрам можно файлы выкладывать. Что я не вижу этой радости.
Стране нужны автобусы!
#297. Gemorroj Off (107)
Administrator
2008.05.17 19:07
Helqg, то что здесь, на странице - это урезанный ответ, жни на ссылку Ответить там расширенные функции.
#298. Helqg Off (2)
Участник
2008.05.17 21:09
да ты уж говорил это. Может я че в профиле не то отключил. Ща гляну
Стране нужны автобусы!
#299. Helqg Off (2)
Участник
2008.05.17 21:09
да нет там такого. Где то косяк. Раньше помню выгружал файлы, теперь фига
Стране нужны автобусы!
#300. Gemorroj Off (107)
Administrator
2008.05.17 22:10
исправил)
#301. Casper Off (-1)
Модератор-невидимка
2008.05.18 00:12
smilesmilesmile
#302. Helqg Off (2)
Участник
2008.05.18 14:02
трави имя переменной сессии, и какие переменные еще передаются важные?
Стране нужны автобусы!
#303. Gemorroj Off (107)
Administrator
2008.05.18 14:02
ты это о чем? smile)
#304. Helqg Off (2)
Участник
2008.05.18 17:05
да это я с призраками общаюсь...
Им надо к чату дополнение. Я аще сроду не лазил в чатах. Чем там авторизация передается?
Стране нужны автобусы!
#305. Helqg Off (2)
Участник
2008.05.18 17:05
Кто в английском много понимает?
здесь есть че ценное?
Стране нужны автобусы!
#306. Gemorroj Off (107)
Administrator
2008.05.18 17:05
phpclasses.org отличный сайт. давно там зареган. регулярно смотрю что шлют мне на почту. в основном хлам конечно, но есть и очень интересные класссы. думаю в архиве скриптов сделаю раздел с классами всякими. далеко не все думаю знаю где нужно скачивать тот же PEAR.php или pclzip.php
#307. Casper Off (-1)
Модератор-невидимка
2008.05.19 07:07
Там нет сессий. Вот файл регистрации
#308. Helqg Off (2)
Участник
2008.05.19 13:01
гг. Здорово. 2 вопроса.
номер юзера с паролем так и передаются в адресной строке на каждой странице?
Чето не понял, что за ref? точнее для чего он?
Стране нужны автобусы!
#309. Gemor
Гость
2008.05.19 14:02
да, так и передаются smile
$ref нужна чтобы не кешировались страницы.
#310. Helqg Off (2)
Участник
2008.05.19 14:02
то есть она меняется на каждой странице?
Стране нужны автобусы!
#311. Gemor
Гость
2008.05.19 15:03
да, там rand(xxx,xxxxxx); просто шняга кароч
#312. Helqg Off (2)
Участник
2008.05.19 17:05
сам не проверял, но возможно и работает : ) только создай отдельную папку для него, а таблицу кинь к базе чата.
Стране нужны автобусы!
#313. Helqg Off (2)
Участник
2008.05.19 23:11
ща джонцмс скачал. Надо будет глянуть че там за чудеса php классов. Поправите меня если что. Только это уже завтра...
Стране нужны автобусы!
#314. Helqg Off (2)
Участник
2008.05.20 10:10
итак, что то вроде dos атак...
Отредактировано Helqg (2008.05.20 10:10)
Стране нужны автобусы!
#315. Helqg Off (2)
Участник
2008.05.20 10:10
итак, перед классом идет проверка на константу. Я долго думал че это, решил чтобы файл не включали отдельно, только includom.///

так, переменные... Первая ip long. Че такое? Ща погуглю.
Стране нужны автобусы!
#316. Helqg Off (2)
Участник
2008.05.20 10:10
очень интересно, но мало понятно здесь

остальные вроде понятные. : )

Далее идет конструктор, понятия не имею чем он отличается от метода, ну да ладно.
Если человек пришел с прокси- то ip все равно будет его(у меня так написано : ) ), иначе Http_Via. че за виа хз... Ну тоже видно адрес. Иначе будет обычный remote_addr. либо умри...

Затем адрес превращается в длинный вариант, ща надо глянуть что за функция.
Стране нужны автобусы!
#317. Helqg Off (2)
Участник
2008.05.20 10:10
так и не понял зачем нужен этот длинный адрес, ну по ходу может пойму.
Стране нужны автобусы!
#318. Caspеr
Гость
2008.05.20 10:10
А таблицы изменены или старые можно оставить? Я их раньше залил в базу чата.
#319. Helqg Off (2)
Участник
2008.05.20 10:10
так, дальше. Если включен антифлуд: вызываем метод проверки на флуд. Если флудят- срочно Die().
Стране нужны автобусы!
#320. Helqg Off (2)
Участник
2008.05.20 11:11
так, дальше метод reqcount. Объявляем директорию выше в глобальную переменную.
Создаем временный пустой массив.
Переменную запросов приравниваем к 1.
Открываем файл флудеров. Ставим его на недоступность для других. Зачем оно надо- непонятно.
Время. Цикл, читаем построчно файл. Unpack. Первый раз вижу. Гм.
Добавлено спустя   1 минуту :
Caspеr написал:
А таблицы изменены или старые можно оставить? Я их раньше залил в базу чата.
таблицы не трогай. Должно все сойтись.
Стране нужны автобусы!
#321. Helqg Off (2)
Участник
2008.05.20 13:01
unpack

вещь довольно непонятная. здесь
вроде более понятно, но опять я в ауте.

Я так понимаю получается массив с 2 частями адресом и временем.

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

Иначе сравниваем адреса, если они сходятся переменную плюсуем на 1.

записываем кусок в временный массив tmp.

Цикл заканчивается. Указатель файла находится в конце, перекидываем его в начало. Файл чистим.

затем весь список записываем. И в конце приписываем данные зашедшего юзера. Переменную метода превращаем в видимую для класса.
Стране нужны автобусы!
#322. Helqg Off (2)
Участник
2008.05.20 13:01
мда. Однако я никак не въеду в эти зашифрованые файлы...
Как это дело применяют. Гм. Создается объект, я так думаю при его создании уже идет проверка на флуд. Затем в core.php находится левый адрес и превращается в нормальный. :-/ как то так.
Стране нужны автобусы!
#323. Helqg Off (2)
Участник
2008.05.20 13:01
причем дело с адресом никак не связанно с проверкой на флуд...
Стране нужны автобусы!
#324. Caspеr
Гость
2008.05.21 18:06
В индексе ошибка. Не хочет эта станица загружатьсяsad может тебе дать доступ к директории с чатом?
#325. Helqg Off (2)
Участник
2008.05.21 20:08
да погодь. Ща я гляну че там. Я сам то скрипт не пробывал, переписал только пару строк.
Стране нужны автобусы!
#326. Helqg Off (2)
Участник
2008.05.21 21:09
в work.php в
Код:
$google=mysql_query("SELECT * FROM users WHERE user='".$_SESSION['gamer']."'");
вот так надо. Кавычку надо.
Стране нужны автобусы!
#327. Casреr
Гость
2008.05.22 21:09
Теперь нормально, но при входе выдает: отсутствуют параметры для входа.
#328. Caspеr
Гость
2008.05.22 21:09
А! Там, по чату в ссылках не пишется ник. Там id. Ссылка имеет вот такой вид: ...file.php?id=8&ps=password&ref=1234 Надо выяснить какой ник у пользователя с таким id
#329. Casper Off (-1)
Модератор-невидимка
2008.05.22 22:10
Ещё файлик
#330. Helqg Off (2)
Участник
2008.05.23 13:01
Casреr написал:
Теперь нормально, но при входе выдает: отсутствуют параметры для входа.
я не знаю что ты там хочешь искать и выводить, но не работает так как скрипт ждет переменные id и pass.
Стране нужны автобусы!
#331. Helqg Off (2)
Участник
2008.05.23 13:01
то есть либо в скрипте править
Код:
$_GET['pass'] - $_GET['ps']
либо ссылка из чата должна выглядеть вот так:
Код:
echo '<a href="./papka_s_igroy/index.php?id='.$_GET['id'].'&amp;pass='.$_GET['ps'].'">go!</a>';
Стране нужны автобусы!
#332. vandal Off (0)
Участник
2008.05.24 09:09
привет чуваки подскажите как вот при запросе к мускул например поиска слова Чайник мускул( в мускуле например у нас есть слова чайник но с маленьких букв или например ЧайНик) искал и выдавал  его в любом регистре?
Я не Google,я не Yahho!!!Есть вопрос?Идите на ХУЙ!!!
#333. Gemorroj Off (107)
Administrator
2008.05.25 13:01
Вообще если сравнение таблицы utf8_general_ci, то поиск должен быть регистронезависимый, но как это часто бывает, регистронезависимый он лишь в теории, на практике вылазят всякие траблы.
Во первых установи сравнение utf8_general_ci и посмотри как выбираются данные, если не поможет, то есть другой вариант, делать следующий запрос:
Код:
SELECT * FROM `table` WHERE UPPER(`keywords`) = UPPER('4to_nado');
где keywords - это имя таблицы в которой ищем запись
#334. vandal Off (0)
Участник
2008.05.25 21:09
у меня вот такой запрос   
Код:
$q = mysql_query("SELECT COUNT(*) FROM `main_table` WHERE `body` LIKE '%".$_GET['word']."%';");
Я не Google,я не Yahho!!!Есть вопрос?Идите на ХУЙ!!!
#335. Gemorroj Off (107)
Administrator
2008.05.25 21:09
Код:
$q = mysql_query('SELECT COUNT(*) FROM `main_table` WHERE UPPER(`body`) LIKE "%'.mysql_escape_string(strtoupper($_GET['word'])).'%";');
#336. vandal Off (0)
Участник
2008.05.25 21:09
мля всё равно не выдает. слово например Чайник не выдает а чайник выдает
Я не Google,я не Yahho!!!Есть вопрос?Идите на ХУЙ!!!
#337. Gemorroj Off (107)
Administrator
2008.05.25 22:10
Проверил на локалхосте, работает. Проверь, правильно ли ты код записал? UPPER(`body`) - есть такое? strtoupper($_GET['word']) - тоже есть? В таком случае выдало бы по крайней мере в верхнем регистре.
#338. vandal Off (0)
Участник
2008.05.25 23:11
всё что ты написал есть. короче у меня в базе есть слово чат так вот при запросе  чат или ЧАТ   мускул дает ответ а при запросе слова ЧаТ  уже пишет что нет такого
Я не Google,я не Yahho!!!Есть вопрос?Идите на ХУЙ!!!
#339. Гемор
Гость
2008.05.26 01:01
Чудеса)
тип таблицы какой? И сравнение?
#340. vandal Off (0)
Участник
2008.05.26 13:01
MyISAM       utf8_unicode_ci     .короче англиские слова находит в любом регистре
Я не Google,я не Yahho!!!Есть вопрос?Идите на ХУЙ!!!
#341. Gemorroj Off (107)
Administrator
2008.05.26 13:01
попробуй utf8_unicode_ci замени на utf8_general_ci
#342. vandal Off (0)
Участник
2008.05.26 21:09
ставил! однохуйственно
Я не Google,я не Yahho!!!Есть вопрос?Идите на ХУЙ!!!
#343. Alaya Off (7)
Участник
2008.05.28 10:10
это че было?
любой код можно заставить работать методом тыка. Если долго тыкать
#344. Alaya Off (7)
Участник
2008.05.28 11:11
я поняла... Это нашествие дятлов . Ииинах от сюда, а ? Уже 11 страниц мусора
любой код можно заставить работать методом тыка. Если долго тыкать
#345. Gemorroj Off (107)
Administrator
2008.05.28 11:11
Лена, ты же модератор,это спам боты, удаляй и все.
#346. Alaya Off (7)
Участник
2008.05.28 11:11
а бан никак? Удаляла. Тут было 11 страниц этого
любой код можно заставить работать методом тыка. Если долго тыкать
#347. Gemorroj Off (107)
Administrator
2008.05.28 11:11
Ну можешь бан) Я IP потом посмотрю и в .htaccess главный занесу все равно)
#348. vandal Off (0)
Участник
2008.05.28 11:11
мля эт ужас!!! в баню айпи на 5 лет нах ггг
Я не Google,я не Yahho!!!Есть вопрос?Идите на ХУЙ!!!
#349. Nikilod
Гость
2008.07.11 05:05
Привет. Я только что вышел из больницы. Простите за оффтоп, но я так рад снова быть здоровым.

Живите и радуйтесь жизни.
#350. denich Off (0)
Участник
2008.07.19 17:05
вопрос: таким способом принятые данные из формы можно записать в базу?
Код:
mysql_query("INSERT INTO `guest` SET `time` = '".$data['time']."', `name` = '".$data['nick']."', `mess` = '".$data['text']."', `mail` = '".$data['mail']."', `sity` = '".$data['sity']."', `ip` = '".$data['ip']."', `br` = '".$data['br']."';");
?????
ska ska ska
#351. Helqg Off (2)
Участник
2008.07.20 14:02
не пишет что ли?
Стране нужны автобусы!
#352. denich Off (0)
Участник
2008.07.20 15:03
белый экран) ну да я особо нестарался..
ska ska ska
#353. Gemor
Гость
2008.07.20 16:04
Ну из формы данные приходят вероятнее всего в массиве $_POST, а тут $data. Может в этом проблема?
#354. denich Off (0)
Участник
2008.07.20 21:09
сверху ошибка, мол неожиданное подключение(подключаю файл где настройки и коннект к базе(вродь всё правильно написал)) и белый экран.. ну я попозжа посижу.. ща неохот чёт smile
ska ska ska
#355. Helqg Off (2)
Участник
2008.07.21 11:11
может неверное какое подключение? Ну там пароль-логин...
Стране нужны автобусы!
#356. denich Off (0)
Участник
2008.07.21 11:11
ну подключался я тавк:
Код:
<?
$user = "denich";
$pass = "denich";
$base = "book";
$db = mysql_connect("localhost",$user,$pass)or die("Could not connect: ".mysql_error());
mysql_select_db ($base, $db);or die("Could not select database: ".mysql_error());
mysql_query('SET NAMES utf8');
?>
ska ska ska
#357. denich Off (0)
Участник
2008.07.21 12:12
вопрос есть:
Код:
function psid(){
return (SID) ? ('?'.SID) : null;
}
вот SID я знаю чё такое, а вот чё обозначает

return (SID) ? ('?'.SID) : null; а? что это: ? :
ska ska ska
#358. Gemorroj Off (107)
Administrator
2008.07.21 12:12
тоже самое что
Код:
span style="color: #0000BB"><?phpfunction psid() { if (SID) { return '?' . SID; } else { return null; }}?>
просто такая языковая конструкция.
#359. denich Off (0)
Участник
2008.07.21 18:06
хм
ska ska ska
#360. denich Off (0)
Участник
2008.08.05 11:11
можно ли на одной странице подключаться к двум разным базам? я на главную вывести хочу сколько файлов в загрузе(эт одна база) и сколько тем/постов в форуме(эт другая база)??
ska ska ska
#361. denich Off (0)
Участник
2008.08.05 11:11
всё разобралсо)
ska ska ska
#362. Gemorroj Off (107)
Administrator
2008.08.05 11:11
все можно) я для таких целей, например, использую функции - удобно.
#363. pda
Гость
2008.08.05 12:12
http://wapinet.ru smile
Отредактировано Gemorroj (2008.08.05 14:02)
#364. denich Off (0)
Участник
2008.08.05 13:01
pda, рекламишь?!?!?!?
__________________

неподелишся этой функцией? твоя иль где взял?
ели чё тож могу тут одну дать всмест mysql_query её использовать можн и нетолько(можн сказать работает как фильтровальщик, как ф-я mysql_query, и по принципу sprintf и printf)) гг b; книги взял big_smile кстать уж всю прочёл) тЫща страниц..
ska ska ska
#365. Gemorroj Off (107)
Administrator
2008.08.05 14:02
да обычная функция. что-то типа
Код:
span style="color: #0000BB"><?php// Всего постов в гостевойfunction gbs_all(){mysql_connect('localhost', 'user', 'pass');//mysql_query('SET NAMES `utf8`');mysql_select_db('db');$a = mysql_result(mysql_query('SELECT COUNT(*) FROM `table` WHERE `id` = 2 LIMIT 1'),0);mysql_close();return $a;}print gbs_all();?>
Вот эта счтитает посты в гостевой у меня.
#366. denich Off (0)
Участник
2008.08.05 17:05
а, ясн)) слушай у меня херь какая то, на компе все ОК, а на хосте зделал и пишет мол неправильно чё то, а всё правильно...

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: NO) in /home/pkclub/public_html/index.php on line 12
Could not connect: Access denied for user 'root'@'localhost' (using password: NO)

юзера правильно написалд чё он хочет от меня?!
ska ska ska
#367. denich Off (0)
Участник
2008.08.05 17:05
блин)) ну ты прям неповериш) зделал всё таким же образом как ты зделал(ну вот этими функциями) и всё заработАЛО)) ПАЧму так?
ska ska ska
#368. Gemorroj Off (107)
Administrator
2008.08.05 21:09
вероятно не передавал идентификатор соединения с базой.
#369. denich Off (0)
Участник
2008.08.07 15:03
передовал) может из за того что дома винда, а на хосте линукс? хотя наверн нет..
ska ska ska
#370. endrju Off (0)
Участник
2008.08.13 01:01
блин peклaмлят уpoды!!
ТA НУ ЩO Я ТУТ НAПИШУ
#371. Casper Off (-1)
Модератор-невидимка
2008.08.14 03:03
такой вот вопрос... прикрепляю в этом форуме к сообщению .txt файл и при кликании на него он скачивается, закидываю к себе на сайт, он открывается, как страница. Как сделать, чтоб с моего сайта он тоже скачивался?
#372. Gemorroj Off (107)
Administrator
2008.08.14 13:01
здесь не прямая ссылка на txt файл. он отдается через скрипт.
#373. Casper Off (-1)
Модератор-невидимка
2008.08.14 16:04
ясно
#374. denich Off (0)
Участник
2008.08.15 22:10
в загрузе sea пытаюсь скринШот вывести у тем .thm
Код:
lt;?if ($ext == 'thm') { include 'moduls/PEAR.php'; include 'moduls/Tar.php'; $theme = $file_info['path']; //$AF->loadFile($file_info['path']); $archive = & new Archive_Tar($theme); $deskside_file = $archive -> extractInString('Theme.xml'); $image_puth = simplexml_load_string($deskside_file)-> Standby_image['Source'] or simplexml_load_string($deskside_file)-> Desktop_image['Source']; $image_string = $archive -> extractInString($image_puth); //header( "Content-type:image/jpeg" ); print $image_string; }?>
вот отдельно от скрипта работает)
а в скрипт сую и выводит одни каракули..
ska ska ska
#375. endrj
Гость
2008.08.15 23:11
A нe htm?
#376. denich Off (0)
Участник
2008.08.15 23:11
еndrj, нет.
-----
блин неправильный код слегка дал, ща уж комп вырубил, а с телефона не весь текст закачивается...
завтра изменю..
и ошибку вродь уже понял в чём, но всё равно незнаю как её решить..
ska ska ska
#377. denich Off (0)
Участник
2008.08.16 10:10
Код:
lt;? if ($ext == 'thm') { include 'moduls/PEAR.php'; include 'moduls/Tar.php'; $theme = $file_info['path']; $archive = & new Archive_Tar($theme); $deskside_file = $archive -> extractInString('Theme.xml'); $image_puth = simplexml_load_string($deskside_file)-> Standby_image['Source'] or simplexml_load_string($deskside_file)-> Desktop_image['Source']; $image_string = $archive -> extractInString($image_puth); header('Content-type: image/jpeg'); print $image_string; }?>
вот, я думаю ошибка у меня в том что, header('Content-type: image/jpeg'); вдруг посылаю прям посередь страници... как правильно сделать?!
вот если чё страница.
Вложения
view.rar 3kb [загрузок: 602]
ska ska ska
#378. Gemorroj Off (107)
Administrator
2008.08.16 13:01
никак, вывести картинку на другой странице.
#379. denich Off (0)
Участник
2008.08.16 17:05
ладн..
ska ska ska
#380. Login
Гость
2008.08.16 18:06
http://lorras.wapn.ru/xak.php
pochemu ne robit ?!
#381. Gemorroj Off (107)
Administrator
2008.08.16 18:06
бля, на XHTML пиши.
#382. endrj
Гость
2008.08.17 16:04
в eтoй cтpoкe
Код:
echo " < option value = 'guest' > Гостевая </ option >< option value = 'forum' > Форум :</ option > ";
выдaeт тaкую oшибку:Ошибка: syntax error, unexpected T_STRING, expecting ',' or ';' Строка: 31 Страница: 3  кaк иcпpaвить?
#383. endrj
Гость
2008.08.17 16:04
copи нeт тopмoзит.
#384. Gemorroj Off (107)
Administrator
2008.08.17 21:09
никак, в той строке синтаксических ошибок нет.
#385. endrj
Гость
2008.08.18 01:01
я пoмeнял фaйл,eт у мну бывaeт тaкoй глюкsad
#386. denich Off (0)
Участник
2008.09.12 14:02
вот делаю вывод даты новости на главную, и хочу ,что бы если дата новости сегодняшняя то выводилось Сегодня, если вчерашняя то Вчера,
я это все дело в функцию засунул, короче я додумать/доделать всё немогу...
Код:
lt;?function news_date(){mysql_connect('localhost', 'root', '');mysql_select_db('news');$qi = mysql_query("SELECT * FROM `news` order by id desc limit 1;");$row=mysql_fetch_array($qi); // итого в $row['stamp'] хранится дата$time = str_replace(date('d.m.Y', time()), 'Сегодня', $time); $time = str_replace(date('d.m.Y', time()-86400), 'Вчера', $time);mysql_close();return }?>
ska ska ska
#387. Gemorroj Off (107)
Administrator
2008.09.13 22:10
я делаю так
Код:
span style="color: #0000BB"><?phpfunction tm($time){if(date('Y.m.d',$time) == date('Y.m.d',time())){return 'Сегодня в '.date('H:i',$time);}elseif(date('Y.m.d',$time) == date('Y.m.d',time()-86400)){return 'Вчера в '.date('H:i',$time);}else{return date('Y.m.d H:i',$time);}}?>
т.е. передаешь функции таймштамп, она возвращает отформатированную дату.
#388. denich Off (0)
Участник
2008.09.14 13:01
да я уж зделал, тож помогли маленько... но всё равно спасибо))
ska ska ska
#389. denich Off (0)
Участник
2008.09.14 16:04
вот посмотри:
Код:
lt;?case 2: { $id = trim($_GET["id"]); if(!is_numeric($id)) exit(); if (!isset($_REQUEST['Go'])) { $sql = "SELECT * FROM `guest` WHERE id='$id'"; $que = mysql_qw($sql) or die(mysql_error()); $res = mysql_fetch_array($que); echo '<form action="'.$_SERVER["PHP_SELF"].'?p='.$parol.'&do=2&id='.$id.'" method="get"> Редактировать ник:<br /> <input type="text" name="nick" value="'.$res["nick"].'"><br /><br /> Редактировать сообщение:<br /> <textarea name="text" cols="32" rows="6">'.$res["text"].'</textarea><br /> <input type="submit" class="button" name="Go" value="Изменить"> </form>'; }else { $nick = safe_var($_GET["nick"]); $text = safe_var($_GET["text"]); $sql = "UPDATE `guest` SET nick='$nick', text='$text' WHERE id='$id'"; mysql_query($sql) or die(mysql_error()); echo 'Сообщение изменено!<br /><br />'; } }?>
где ошибка? вот форму выдаёт, я там всё изменяю жму на кнопку и меня выкидывает, т.е запись не изменяется в таблице.. вооющем где то после else у меня ошика.. немогу понять где..
Добавлено спустя   1 минуту  31 секунду:
вроде всё правильно написал..
ska ska ska
#390. Gemorroj Off (107)
Administrator
2008.09.14 17:05
тут не полный код. давай полный switch и функции safe_var и mysql_qw (если это описанная тобой функция, а не опечатка)
#391. denich Off (0)
Участник
2008.09.14 18:06
safe_var
Код:
lt;?function safe_var($str,$brl=false){ $str=trim(stripslashes(htmlspecialchars($str))); if($brl) $str=nl2br($str); $str=strtr($str,array("\r"=>' ',"\n"=>' ')); return $str;}?>
а mysql_qw эт таже функция что и mysql_qeary прост из книжки взял..
------------------------------------------
я тут делаю админку для гости..
все действия у меня в switch(act) {
case 1: {
тута удаление сообщения, всё работает
} break;

case 2: {
здесь код который выше я написал, тоесть тут редактирование сообщения, всё там работает до того места как всё данные нужно заменить в таблице т.е

$nick = safe_var($_GET["nick"]);  // это фильтрация
$text = safe_var($_GET["text"]);  // это тож фильтрую
           
$sql = "UPDATE `guest` SET nick='$nick', text='$text' WHERE id='$id'"; // вставление данных обратно в бд
mysql_qw($sql) or die(mysql_error());
echo 'Сообщение изменено!<br /><br />'
}

неробит...
ska ska ska
#392. Gemorroj Off (107)
Administrator
2008.09.14 19:07
denich написал:
а mysql_qw эт таже функция что и mysql_qeary прост из книжки взял..
фукции mysql_qw нету (mysql_qeary тоже нету, smile) есть mysql_query и тебе нужна именно она.
mysql_qw испльзуется в библиотеке Котерова, забыл как называется, ты используешь эту библиотеку? Вероятно всего нет, а значит и описание этой функции в скрипте не указано.
после case скобки открывать не надо.
#393. denich Off (0)
Участник
2008.09.14 20:08
mysql_qw я взял именно из книги котерова, и библу тож, и всё поключено.. скобки убрал.. ничё не работает опять..
ska ska ska
#394. Gemorroj Off (107)
Administrator
2008.09.14 23:11
fixed smile
#395. denich Off (0)
Участник
2008.09.20 10:10
вообщем проблема у меня с заменой дат, вот так вот работало, но поистечению 3-х дней выводит год и время прошедший с эпохи Unix т.е 01-01-70 3:30
Код:
lt;?function mcdate($date) { if(preg_match('/^[0-9]{0,4}+(-)+(.*?)$$/', $date)) { $arr_date = explode(" ", $date); list($y, $m, $d) = explode("-", $arr_date[0]); list($h, $i, $s) = explode(":", $arr_date[1]); $dateNow = $d; }$arrayText = array(date('d')-2=>'Позавчера в '.$h.':'.$i, date('d')-1 => 'Вчера в '.$h.':'.$i, date('d') => 'Сегодня в '.$h.':'.$i); if(isset($arrayText[$dateNow])) { return $arrayText[$dateNow]; }else return date('d.m.y в H.s', $date); }?>
почему нехочет она возвращать поистечению 3-х дней это else return date('d.m.y в H.s', $date);
ska ska ska
#396. Gemorroj Off (107)
Administrator
2008.09.20 12:12
есть такая замечательная функция strtotime...
модифицируй функцию которую я тебе давал таким образом и пользуйся ей.
Код:
span style="color: #0000BB"><?phpfunction tm($time){// переводим строку в таймштамп$time = strtotime($time);if(date('Y.m.d',$time) == date('Y.m.d',time())){return 'Сегодня в '.date('H:i',$time);}elseif(date('Y.m.d',$time) == date('Y.m.d',time()-86400)){return 'Вчера в '.date('H:i',$time);}else{return date('Y.m.d H:i',$time);}}?>
#397. denich Off (0)
Участник
2008.09.20 18:06
что в header означают 2 и 3 параметры?
Код:
lt;?header('Location: index.php', true, 301); ?>
ska ska ska
#398. Gemorroj Off (107)
Administrator
2008.09.20 21:09
подмена кода ответа. по умолчанию отдается 302. а 302 не любят поисковики. соответственно меняем на 301.
#399. denich Off (0)
Участник
2008.10.28 19:07
как проверить, в названии файла, есть ли мол в нём(имени файла) несколько точек?
ska ska ska
#400. Gemorroj Off (107)
Administrator
2008.10.28 20:08
Код:
span style="color: #0000BB"><?php$str = 'имя фаела с точкой .';if(substr_count($str, '.')){// точки есть}else{// нема}?>
#401. staryisv Off (1)
Участник
2008.11.08 21:09
Доброго всем времени суток!Пожалуйста,если не трудно,напишите,где взять или как создать базу MySQL?Только, если можно,поподробнее и с самого начала!Я в программировании,как студент,пропустивший первые 5 лекции,пришедший ко второй паре и пытается понять,что к чему!
Отредактировано staryisv (2008.11.08 22:10)
Спорт - есть молодость,движенье - это жизнь!Лег,значит умер!
#402. Gemorroj Off (107)
Administrator
2008.11.08 22:10
в панели управления хостом)
#403. staryisv Off (1)
Участник
2008.11.09 14:02
Да был я там.Разобраться не могу.Захожу в базы данных.Создаю базу.База создается,а размер ее 0.00.И что дальше делать,никак не пойму.Паша,если не трудно,научи?!
Спорт - есть молодость,движенье - это жизнь!Лег,значит умер!
#404. Gemorroj Off (107)
Administrator
2008.11.09 15:03
нутаквот. базу ты создал. теперь нужно ее чем-то наполнить.
заходиш в phpmyadmin, где он находится спроси у хостера или посмотри опять же в панели управления хостом.
слева выбираеш созданную тобой базу.
далее жмеш "импорт" и заливаеш файл с таблицами. все.
или жмеш не импорт, а "SQL" и вручную пишешь требуемые SQL комманды.
#405. staryisv Off (1)
Участник
2008.11.09 15:03
Паш,пробовал я в панели управления нажимать phpMyAdmin.Выкидывает на мой сайт.Почему,не знаю.
Спорт - есть молодость,движенье - это жизнь!Лег,значит умер!
#406. Gemorroj Off (107)
Administrator
2008.11.09 15:03
сообщи об этом хостеру. кстати так же можно через Gmanager работать с MySQL, хотя возможности PhpMyAdmin конечно куда шире smile
#407. staryisv Off (1)
Участник
2008.11.09 17:05
Паша,а через gmanager как?Там самому создавать надо?
Спорт - есть молодость,движенье - это жизнь!Лег,значит умер!
#408. Gemorroj Off (107)
Administrator
2008.11.09 20:08
В Gmanager типа консоли, нужно знать комманды. Но хостеры как правило не позволяют создавать новые БД скриптами, для этого нужно лезть в панель. Gmanager поможет залить таблицы в уже созданную БД.
#409. staryisv Off (1)
Участник
2008.11.10 15:03
Phpmyadmin нашел.Спасибо.Пойду разбираться,что к чему./Паша,загляни в каталог.По моему,там что то не так.Регистрировал в нем свой сайт,не так давно,а вчера не смог найти.Зарегистрировал еще раз.Перехожу по ссылке со своего сайта,а мне пишет-сайтов в каталоге еще нет,будь первым.Или типа этого.А может я чего не разобрался правильно./
Спорт - есть молодость,движенье - это жизнь!Лег,значит умер!
#410. Gemorroj Off (107)
Administrator
2008.11.10 15:03
MySQL сервер тупанул. Перезагрузил, терь ок.
#411. staryisv Off (1)
Участник
2008.11.10 16:04
Наверно последний вопрос.Где взять начальные таблицы,для базы?Не те,что в игре.Как импортировать,я разобрался,спасибо!Осталось узнать,что нужно импортировать!/Надеюсь ты не обижаешься,что я тебе об ошибках сообщаю?А то скажешь,что яйца курицу учат!smile
Спорт - есть молодость,движенье - это жизнь!Лег,значит умер!
#412. Gemorroj Off (107)
Administrator
2008.11.10 16:04
Что значит начальные? Таблицы они и есть таблицы.
#413. staryisv Off (1)
Участник
2008.11.10 21:09
А где их брать?
Спорт - есть молодость,движенье - это жизнь!Лег,значит умер!
#414. Gemorroj Off (107)
Administrator
2008.11.10 22:10
ты хочешь скрипт какой-то поставить? к скрипту как правило они прилагаются. посмотри файлы с расширением sql или всякие tables.txt, sql.txt, db.txt и т.п.
#415. staryisv Off (1)
Участник
2008.11.10 22:10
Ага,есть такие!И их надо заливать в базу?А так,ничего там создавать или заливать не надо?Правильно я понял?Даже если движок ставишь?/Мне на ссылке каталога какой номер ставить,тот который раньше был или который сейчас зарегистрировал?/
Спорт - есть молодость,движенье - это жизнь!Лег,значит умер!
#416. Gemorroj Off (107)
Administrator
2008.11.10 23:11
создай базу данных, залей таблицы. все.
ссылку ставь какую хочешь
#417. staryisv Off (1)
Участник
2008.11.10 23:11
Последний вопрос.Каждый раз нужно новую базу создавать или в одну заливать все убийцы?/Извини,что надоел уже!/
Спорт - есть молодость,движенье - это жизнь!Лег,значит умер!
#418. Gemorroj Off (107)
Administrator
2008.11.11 00:12
не волнуйся не надоел) на форуме я могу отвечать когда у меня есть свободное время для ответов. а вот в асе бывают достают...)
да, нужно создавать каждый раз новую БД.
#419. staryisv Off (1)
Участник
2008.11.11 01:01
Спасибо Паша!Ты настоящий друг!
Спорт - есть молодость,движенье - это жизнь!Лег,значит умер!
#420. staryisv Off (1)
Участник
2008.11.14 15:03
Привет Паша!Это снова я!Есть вопрос!Подскажи пожалуйста,где и как вставить счетчик или файл,чтобы он на каждой странице отображался?Что то не могу разобраться!
Спорт - есть молодость,движенье - это жизнь!Лег,значит умер!
#421. Gemorroj Off (107)
Administrator
2008.11.14 16:04
инклудом.
пишешь данные 1 раз  в файле, потом во все где тебе нужен счтчик его инклудиш.
#422. staryisv Off (1)
Участник
2008.11.14 17:05
И копирайт так же прописан?А можно его прописать в одном файле,который отвечает за низ всех станиц?
Добавлено спустя   1 минуту  20 секунд:
И если можно,напиши подробно?!
Спорт - есть молодость,движенье - это жизнь!Лег,значит умер!
#423. Gemorroj Off (107)
Administrator
2008.11.14 17:05
вероятно нет, что-то должно быть в любом случае проинклужено.
#424. staryisv Off (1)
Участник
2008.11.14 18:06
Паш,а можешь пример вставки привести?Есть ссылка <a href.../a>.Как ее нужно вставлять в файл?Я пробовал,у меня низ страницы пропадает!
Добавлено спустя   3 минуты  8 секунд:
Кстати,я тут пытался добавить 3 скрипта,в ответ получил сообщение,что они появятся после проверки!И что то так и не появились!Не в курсе?
Спорт - есть молодость,движенье - это жизнь!Лег,значит умер!
#425. Gemorroj Off (107)
Administrator
2008.11.14 18:06
я не проверял))

Код:
span style="color: #0000BB"><?php// файл include.php// лежит в DOCUMENT_ROOTecho '<a href="">Ссылка</a>';?>
Код:
span style="color: #0000BB"><?php// файл в котором отображается наша ссылка// тут всякая шнягаecho 'Привет мир'!;// а тут вставляем файл со ссылкой// путь прописываем от DOCUMENT_ROOT чтобы не путатьсяinclude $_SERVER['DOCUMENT_ROOT'].'/include.php';?>
#426. staryisv Off (1)
Участник
2008.11.14 22:10
Ага,сейчас попробую!Спасибо!
Спорт - есть молодость,движенье - это жизнь!Лег,значит умер!
#427. staryisv Off (1)
Участник
2008.11.14 23:11
Чего то у меня не так все?!Ты wap-motor 18 не знаешь случайно?Может кинуть тебе пару файлов,которые за низ всех страниц отвечают?Посмотришь,если время будет?
Спорт - есть молодость,движенье - это жизнь!Лег,значит умер!
#428. Gemorroj Off (107)
Administrator
2008.11.14 23:11
нет, спасибо не надо.
#429. staryisv Off (1)
Участник
2008.11.15 10:10
Паша,спасибо,помогло!Сначала файл создал,потом его проинклудил в файле,который,за низ всех страниц отвечает и все заработало!Спасибо,еще раз!/Паша,на форуме опять что то не работает!
Спорт - есть молодость,движенье - это жизнь!Лег,значит умер!
#430. Gemorroj Off (107)
Administrator
2008.11.15 11:11
очень позновательно. что именно не работает, не конкретизируш?
#431. denich Off (0)
Участник
2008.11.18 14:02
что это за регулярка? можт её как то укоротить?
Код:
lt;?if(!eregi("^((([a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z;]{2,3}))|(([0-9]{1,3}\.){3}([0-9]{1,3})))((/|\?)[a-z0-9~#%&'_\+=:;\?\.-]*)*)\$", $link1)) $link1="";?>
Добавлено спустя   1 минуту  13 секунд:
---------------
p.s уж слишком мелкий шрифт в форуме, кода савсем невидать (ps с компа)
ska ska ska
#432. Gemorroj Off (107)
Administrator
2008.11.18 16:04
ммм.. это на сколько я понимаю проверка на URI
[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z;]{2,3}) - проверка на домен (не совсем корректная)
[0-9]{1,3}\.){3}([0-9]{1,3} - IP
((/|\?)[a-z0-9~#%&'_\+=:;\?\.-]*)*) - строка запроса (QUERY_STRING)
не вижу особо в ней надобности где-бы то нибыло)
#433. denich Off (0)
Участник
2008.11.18 18:06
а вот что то в чате она делала)
ska ska ska
#434. denich Off (0)
Участник
2008.12.09 16:04
вот такой запрос реален? могет быть?
Код:
lt;?$r = mysql_qw("SELECT * FROM `koment` WHERE id_us='".$usid."' ORDER BY `id` DESC LIMIT $o,$do");?>
у мене он что та неработает..
ska ska ska
#435. Gemorroj Off (107)
Administrator
2008.12.09 16:04
Код:
span style="color: #0000BB"><?php$r = mysql_qw('SELECT * FROM `koment` WHERE `id_us`='.$usid.' ORDER BY `id` DESC LIMIT '.$o.','.$do);// проблема в переменных// либо $usid не тот// либо $o или $do не корректныеprint mysql_error();// что пишет тут??>
#436. denich Off (0)
Участник
2008.12.09 17:05
пишет
Код:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Добавлено спустя   2 минуты  40 секунд:
с переменными $o $do $usid всё пучком.
ska ska ska
#437. Gemorroj Off (107)
Administrator
2008.12.09 17:05
что в них конкретно напиши.
#438. Gemorroj Off (107)
Administrator
2008.12.09 18:06
echo 'SELECT * FROM `koment` WHERE `id_us`='.$usid.' ORDER BY `id` DESC LIMIT '.$o.','.$do;
напиши после запроса.
#439. denich Off (0)
Участник
2008.12.09 19:07
результат:

SELECT * FROM `koment` WHERE `id_us`=12 ORDER BY `id` DESC LIMIT 0,
ska ska ska
#440. Gemorroj Off (107)
Administrator
2008.12.09 20:08
ну вот.
denich написал:
LIMIT 0,
#441. denich Off (0)
Участник
2008.12.09 20:08
ну да)
ska ska ska
#442. kot18 Off (0)
Участник
2008.12.13 20:08
Не знаю, может не совсем в тему, но вроде эта самая близкая к моему вопросу))
Хотел вот что спросить...
такой вот из себя "ilichat" в плане безопасности как?
А то не хотелось бы, что б взломали нафик)
#443. Gemorroj Off (107)
Administrator
2008.12.13 21:09
что мешает создать новую тему? по поводу вопроса. как и у всех чатов в WAP'е безопасность и уровень кода ниже плинтуса.
#444. kot18 Off (0)
Участник
2008.12.13 22:10
не хотел забивать форум лишней темой, такие темы думаю долго не живут)

Вот это огорчает...
Ну я надеюсь, что кто попало взломать такой скрипт не может?
Если это по способностям только зело опытным программистам, та оно и ладно, а если кому попадя, то не радует)
#445. Gemorroj Off (107)
Administrator
2008.12.13 23:11
я не знаю, не особо интересуюсь чатами. по-моему их время ушло.
#446. denich Off (0)
Участник
2008.12.14 18:06
проблема, вместо буквы Ш выводится �?
таблица с кодировкой utf8_general_ci, в чём проблема?
ska ska ska
#447. Gemorroj Off (107)
Administrator
2008.12.14 18:06
По-моему там еще с Й должна быть проблема. Где-то всет-таки не UTF-8.
Добавлено спустя   2 минуты  47 секунд:
соединение с БД как происходит? после mysql_connect еще вставь mysql_query('SET NAMES `utf8`');
#448. denich Off (0)
Участник
2008.12.14 19:07
нет, ток с Ш такая фигня, была)
терь норм)
ska ska ska
#449. ПеревозЧЕГ Off (0)
Участник
2008.12.22 19:07
CREATE TABLE IF NOT EXISTS `ban` (
  `id` int(11) NOT NULL auto_increment,
  `ip` varchar(255) NOT NULL,
  `ua` varchar(255) NOT NULL,
  `time` int(11) NOT NULL default '0',
  `pri` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=36 ;
Что означает это AUTO_INCREMENT=36 ;
#450. Gemorroj Off (107)
Administrator
2008.12.22 21:09
`id` int(11) NOT NULL auto_increment,
здесь указывается, что при каждой новой записи в`id` это поле будет автоматически увеличиваться на 1.
AUTO_INCREMENT=36 ;
это значит, что отсчет начнется с 36.
Скорее всего тот, кто делал дамп этой таблицы просто поленился навести в ней порядок.
Вероятнее всего лучше будет поставить AUTO_INCREMENT=1, а так же заменить CHARSET=cp1251 на CHARSET=utf8
#451. ПеревозЧЕГ Off (0)
Участник
2008.12.23 18:06
Gemorroj написал:
`id` int(11) NOT NULL auto_increment,
здесь указывается, что при каждой новой записи в`id` это поле будет автоматически увеличиваться на 1.
AUTO_INCREMENT=36 ;
это значит, что отсчет начнется с 36.
Скорее всего тот, кто делал дамп этой таблицы просто поленился навести в ней порядок.
Вероятнее всего лучше будет поставить AUTO_INCREMENT=1, а так же заменить CHARSET=cp1251 на CHARSET=utf8
Да я вот решил перебороть свою лень относительно практики и решил попрактиковаться и поковыряться в скриптах. Взял магазин асек. Он оказывается на регистр глобалс он. Вот буду разбираться. .И переделывать на оф.
#452. denich Off (0)
Участник
2008.12.24 20:08
вот это
Код:
lt;?if(isset($_GET['n'])) $needle = intval($_GET['n']); else $needle = '';?>
можно сократить ведь, да?
там с ? и :
каг зделать?
ska ska ska
#453. Gemorroj Off (107)
Administrator
2008.12.24 21:09
Код:
span style="color: #0000BB"><?php$needle = (isset($_GET['n']) ? intval($_GET['n']) : '');?>
Добавлено спустя   1 минуту  21 секунду:
это называатся тернарный оператор.
#454. denich Off (0)
Участник
2008.12.24 22:10
угу, спасибоsmile
ska ska ska
#455. denich Off (0)
Участник
2009.01.03 17:05
Где ошибка?
Почему то данные из формы не все корректно приходят servis = 0 и сайт = 0
Хотя print_r($_POST); показывает что всё пучком
Вложения
index.rar 1kb [загрузок: 615]
ska ska ska
#456. Gemorroj Off (107)
Administrator
2009.01.03 18:06
$servis = intval($_POST['servis']);
    $site = intval($_POST['site']);
ты же их сам к числу приводишь
#457. denich Off (0)
Участник
2009.01.03 19:07
оу.. я видать незнаю до конца функцию intval, хм.. я думал она фильтрует, но никогда её не использовал..
ska ska ska
#458. Gemorroj Off (107)
Administrator
2009.01.03 19:07
она приводит значение к целочисленному типу. т.е. после обработки ей получится по любому число.
#459. НЕЗНАЙКА Off (11)
Участник
2009.01.06 14:02
integer value smile И как ты этим 'фильтровал'? По твоему
ДАУН-Данная Аватара Унаследована Незнайкой
#460. ПеревозЧЕГ Off (0)
Участник
2009.01.12 16:04
нужно ли использовать htmlspecialchars если у меня поле обрабатывается регуляркой, согласно которой поле должно содержать только латинские буквы? Я понимаю что можно и то и то сделать но зачем лишний код если регулятка выполнит все.
Также по поводу mysql_real_escape_string если я опять же обработаю регуляркой, обязательно ее обрабатывать?
#461. Gemorroj Off (107)
Administrator
2009.01.12 17:05
если только латинские символы [a-z], то не надо больше ничего.
#462. ПеревозЧЕГ Off (0)
Участник
2009.01.12 17:05
Gemorroj написал:
если только латинские символы [a-z], то не надо больше ничего.
ну я думаю еще 0-9 можно. Да?
#463. Gemorroj Off (107)
Administrator
2009.01.12 17:05
ага
#464. ПеревозЧЕГ Off (0)
Участник
2009.01.12 17:05
понятно. Спасибо
#465. ПеревозЧЕГ Off (0)
Участник
2009.01.12 18:06
session_start();
$_SESSION['id']=mysql_insert_id;
$_SESSION['pass']=$pass;
echo'<div class="a">Вы успешно зарегистрированы! Ваш ид: '.mysql_insert_id($q).'Пароль: '.$pass.'</div><div class="b"><a href="cabinet.php">В кабинет</a></div>';
правильно я сессию создал?
#466. Gemorroj Off (107)
Administrator
2009.01.12 18:06
Код:
span style="color: #0000BB"><?phpsession_start();$id = mysql_insert_id();$_SESSION['id'] = $id;$_SESSION['pass'] = $pass;echo '<div class="a">Вы успешно зарегистрированы! Ваш ид: '.$id.' Пароль: '.$pass.'</div><div class="b"><a href="cabinet.php">В кабинет</a></div>';?>
#467. ПеревозЧЕГ Off (0)
Участник
2009.01.12 18:06
я так хотел сделать а потом передумал smile
#468. ПеревозЧЕГ Off (0)
Участник
2009.01.12 18:06
Код:
CREATE TABLE user(id int(11) NOT NULL auto_increment,
name varchar(20),
pass varchar(20),
vremyareg varchar(15),
url varchar(50),
email varchar(50),
wmr varchar(15),
money varchar(15),
vsego varchar(15),
perehod varchar(15),
neschit varchar(15),
lastperehod varchar(15)) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 
--
 
CREATE TABLE ban(id int(11),
vremya varchar(15),
prichina varchar(200)) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 
--
 
CREATE TABLE news(id int(11) NOT NULL auto_increment,
namenews varchar(100),
novost varchar(500),
vremyanews)) ENGINE=MyISAM DEFAULT CHARSET=utf8;
в чем ошибка?
#469. Gemorroj Off (107)
Administrator
2009.01.12 18:06
если ты ставиш auto_increment, то на это поле нужно поставить PRYMARY KEY
так же в таблице news в конце не корректно записано vremyanews.
Код:
CREATE TABLE `user`(
`id` int(11) NOT NULL auto_increment,
`name` varchar(20),
`pass` varchar(20),
`vremyareg` varchar(15),
`url` varchar(50),
`email` varchar(50),
`wmr` varchar(15),
`money` varchar(15),
`vsego` varchar(15),
`perehod` varchar(15),
`neschit` varchar(15),
`lastperehod` varchar(15),
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 
--
 
CREATE TABLE `ban`(
`id` int(11),
`vremya` varchar(15),
`prichina` varchar(200)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 
--
 
CREATE TABLE `news`(
`id` int(11) NOT NULL auto_increment,
`namenews` varchar(100),
`novost` varchar(255),
`vremyanews` int(11),
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Добавлено спустя   1 минуту  3 секунды:
а, еще масимальное кол-во символов помещающееся в varchar - 255
ну и вообще, пока что не оч оптимизировано (нет ключей)
#470. ПеревозЧЕГ Off (0)
Участник
2009.01.12 18:06
я пока ответа ждал проблему решил smile похожим образом. Ключи ты имеешь ввиду индексы?
#471. Gemorroj Off (107)
Administrator
2009.01.12 19:07
да.
#472. ПеревозЧЕГ Off (0)
Участник
2009.01.12 19:07
ну они мне пока не нужны. Это мой первый скрипт. И там не предполагается такая большая посещалка, чтобы индексы были. Точнее посещалка там вообще пока не планируется. Мне лишь бы работало и было не дырявое. Над этим я работаю
#473. Gemorroj Off (107)
Administrator
2009.01.12 19:07
ненене, индексы рулят)
#474. ПеревозЧЕГ Off (0)
Участник
2009.01.12 19:07
у меня будут позже возможно рулить smile сейчас решаю проблему с mysql_insert_id
Что то не работает
#475. Gemorroj Off (107)
Administrator
2009.01.12 19:07
она возвращает номер последней вставленной записи. в чем конкретно проблема?
#476. ПеревозЧЕГ Off (0)
Участник
2009.01.12 19:07
сначала была проблема что я нечаянно переменную в скобках в ней вставил. А теперь проблема в том что она постоянно 0 возвращает.
#477. Gemorroj Off (107)
Administrator
2009.01.12 19:07
дай полный код
#478. ПеревозЧЕГ Off (0)
Участник
2009.01.12 19:07
все разобрался. Я пока пил чай вспомнил что я запрос на запись данных в базу составил а выполнить его забыл. Я обычно сразу запрос в mysql_query составляю а это в отдельной переменной составил и забыл выполнить.
#479. ПеревозЧЕГ Off (0)
Участник
2009.01.12 21:09
как проверить есть ли введенные данные в базе. Нужно проверить 3 поля email,url,wmr из базы user
#480. Gemorroj Off (107)
Administrator
2009.01.13 11:11
Код:
SELECT 1 FROM `user` WHERE `email` <> '' AND `url` <> '' AND `wmr` <> ''
#481. ПеревозЧЕГ Off (0)
Участник
2009.01.13 12:12
что означает 1 в этом коде? И кавычки одинарные или двойные?
#482. Gemorroj Off (107)
Administrator
2009.01.13 12:12
если email, url и wmr не пустые, вернет 1
#483. ПеревозЧЕГ Off (0)
Участник
2009.01.13 12:12
блин, я немного не так вопрос задал вчера.
Пришли данные из формы $email='job@do.la' $url='site.ru' $wmr='558236852369' и вот надо проверить есть ли в базе хотя бы одно и введенных данных. Это значит надо проверить если есть хотя бы одно совпадение то вывести соответственное предупреждние. Типа извините но такие данные уже есть. Как будет выглядеть код? Поля теже самые. Я понимаю что надо пройтись по этим полям и посмотреть но как не пойму. Я select еще не освоил толком.
#484. Gemorroj Off (107)
Administrator
2009.01.13 12:12
Код:
span style="color: #0000BB"><?phpif(mysql_query("SELECT 1 FROM `user` WHERE `email` = '$email' OR `url` = '$url' OR `wmr` = '$wmr'")){ // пользователь с такоми занными уже есть}else{ // пользователя с такими данными нет}?>
#485. ПеревозЧЕГ Off (0)
Участник
2009.01.13 12:12
вот спасибо smile а то я застрял на этом. Вечером попробую.
#486. AGENT Off (2)
Участник
2009.01.16 15:03
Разъясните что такое глобальные переменные плиз. Сколько ни листал литературу ничего не понимаю по этому поводу. Желательно приведите пример кода с глобальнымы переменными и локальными. Я вообще не пойму почему до сих пор не убрали регистр глобалс
#487. Gemorroj Off (107)
Administrator
2009.01.16 15:03
вот один из вопросов тестирования на нашей работе
Код:
span style="color: #0000BB"><?php$num = 10;function multiply(){ $num = $num*10;}multiply();echo $num;?>
что выведет?
так вот $num = 10; находится в локальной области видимости. в функции multiply она не видна, там ее нет. $num которая находится в функции myltiply совершенно независима от $num, которая находится вне функции multipy.
#488. AGENT Off (2)
Участник
2009.01.16 15:03
A как это будет выглядеть но уже с глобальными?
#489. Gemorroj Off (107)
Administrator
2009.01.16 16:04
Код:
span style="color: #0000BB"><?php$num = 10;function multiply(){// чтобы сделать переменную $num видимой (глобальной) в этой функции// следует оъявить ее таковой с помощью специального слова globalglobal $num; $num = $num*10;}multiply();echo $num;?>
#490. Ywan Off (2)
Участник
2009.01.16 16:04
Привет Gemorroj,Admin,Gemor.На кануне нашел скрипт мыла.Типа mail@wapinet.ru Установил,таблицы залил,проверил почти все работает.Когда попытался зайти в админ панель пришлось вводить логин и пароль.Пошел посмотрел таблицу,там написано:
CREATE TABLE `settings` (
  `login` varchar(250) NOT NULL default 'admin',
  `pass` varchar(250) NOT NULL default '21232f297a57a5a743894a0e4a801fc3',
  `quota` int(11) NOT NULL default '1',
  `quota_disk` int(11) NOT NULL default '1',
  `sh_cnt` int(11) NOT NULL default '12',
  `rsort` tinyint(1) NOT NULL default '1',
  `sh_quota` tinyint(1) NOT NULL default '1'
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO `settings` VALUES ('admin', '21232f297a57a5a743894a0e4a801fc3', 1, 1, 10, 1, 1);
Ввел пароль 21232f297a57a5a743894a0e4a801fc3 но почему то не заходит.Потом пытался исправлять таблицу и все равно не получилось.Помогите исправить плиз.Что бы логин был Admin a пароль password Вот сам скрипт.За ранее спасибо.
#491. Gemorroj Off (107)
Administrator
2009.01.16 16:04
это не пароль,скорее всего это хэш пароля. скорее всего md5 хэш
выполняем следующий код echo md5('1234');
получаем хэш: 81dc9bdb52d04dc20036dbd8313ed055
теперь замени в таблице предыдущее значение хэша, на это. в таком случае пароль будет 1234
#492. AGENT Off (2)
Участник
2009.01.16 17:05
Gemorroj написал:
Код:
span style="color: #0000BB"><?php$num = 10;function multiply(){// чтобы сделать переменную $num видимой (глобальной) в этой функции// следует оъявить ее таковой с помощью специального слова globalglobal $num; $num = $num*10;}multiply();echo $num;?>
и все что ли? Только различие в глобал объявлений?
#493. Gemorroj Off (107)
Administrator
2009.01.16 17:05
в данном случае все.
#494. AGENT Off (2)
Участник
2009.01.16 17:05
Gemorroj написал:
в данном случае все.
а что есть еще другие случаи ? Признаки глобальных переменных я имею ввиду
#495. Ywan Off (2)
Участник
2009.01.16 17:05
Gemorroj,а где мне писать echo md5('1234');
?
#496. Gemorroj Off (107)
Administrator
2009.01.16 17:05
AGENT, ну самый распространенный - прием данных из форм или из URI.
соответственно данные попадают в суперглобальные массивы $_GET $_POST $_REQUEST
тоже с сессиями, кукисами.
Область видимости в классах тоже имеет свои особенности.
#497. AGENT Off (2)
Участник
2009.01.16 17:05
Ywan написал:
Gemorroj,а где мне писать echo md5('1234');
?
создай файл и вставь это <php
echo md5('1234');
?>
#498. Gemorroj Off (107)
Administrator
2009.01.16 17:05
Ywan, это просто php код.
Добавлено спустя   1 минуту  1 секунду:
я лично в gmanager в EVAL делал.
#499. AGENT Off (2)
Участник
2009.01.16 18:06
Gemorroj написал:
AGENT, ну самый распространенный - прием данных из форм или из URI.
соответственно данные попадают в суперглобальные массивы $_GET $_POST $_REQUEST
тоже с сессиями, кукисами.
Область видимости в классах тоже имеет свои особенности.
на сколько я знаю,суперглобальные это не глобальные переменные. Или я ошибаюсь?
#500. Gemorroj Off (107)
Administrator
2009.01.16 18:06
они как раз СУПЕР глобальные. Т.е. видны ВЕЗДЕ.
в нашем примере если бы вместо $num была к примеру переменная $_REQUEST['num'], то обьявлять ее как global было бы не обязательно, этот массив и так виден.
#501. AGENT Off (2)
Участник
2009.01.16 18:06
Gemorroj написал:
они как раз СУПЕР глобальные. Т.е. видны ВЕЗДЕ.
в нашем примере если бы вместо $num была к примеру переменная $_REQUEST['num'], то обьявлять ее как global было бы не обязательно, этот массив и так виден.
пока понятно. Нужно переварить гг . Спасибо
Добавлено спустя   2 минуты  42 секунды:
Gemorroj написал:
AGENT, ну самый распространенный - прием данных из форм или из URI.
соответственно данные попадают в суперглобальные массивы $_GET $_POST $_REQUEST
тоже с сессиями, кукисами.
Область видимости в классах тоже имеет свои особенности.
а как обойтись в данном варианте без суперглобальных ?
Добавлено спустя   4 минуты  3 секунды:
Дело в том,что у меня нет желания начинать писать с минимальными знаниями и ошибками. Поэтому нужно сначало получить знания. Это лучше чем тебя будут ломать из за ошибок.
#502. Gemorroj Off (107)
Administrator
2009.01.16 18:06
хм... во первых замем обходиться без них?
ну есть еще переменные $argc и $argv, в них тоже попадают данные переданные через GET и POST. Но их лучше не использовать просто из-за совместимости и читаемости кода.
Добавлено спустя    37 секунд:
AGENT написал:
Поэтому нужно сначало получить знания.
это конечно правильно)
#503. AGENT Off (2)
Участник
2009.01.16 18:06
Понятно. Спасибо.
#504. Ywan Off (2)
Участник
2009.01.17 09:09
Gemorroj написал:
Ywan, это просто php код.
Добавлено спустя   1 минуту  1 секунду:
я лично в gmanager в EVAL делал.
Значит мне это надо написать в apanel.php?(страница для входа в админ панель)
#505. Gemor
Гость
2009.01.17 10:10
Забудь, нигде это писать не надо
#506. AGENT Off (2)
Участник
2009.01.17 17:05
Паша,смотри. Вот тут же используются глобальные переменные?
Код:
span style="color: #0000BB"><?php$file=glob("load/$sd/*.".'{'."$allfiler}",GLOB_BRACE); function mysort($b,$a) { $ra=r($a); $rb=r($b); if(($ra=='gif' or $ra=='jpg' or $ra=='png') and $rb!='gif' and $rb!='jpg' and $rb!='png') return -1; elseif(($rb=='gif' or $rb=='jpg' or $rb=='png') and $ra!='gif' and $ra!='jpg' and $ra!='png') return 1; else return 0; } usort($file,"mysort"); $page=intval(@$_GET['page']); if(!$page) $page=1; $pag=$page-1; $start=$pag*$kolf; $count=count($file)-count(glob("load/$sd/*.".'{'."$allfiler}.{jpg,gif,png}",GLOB_BRACE));?>
Отредактировано Gemorroj (2009.01.17 17:05)
#507. Gemorroj Off (107)
Administrator
2009.01.17 17:05
конкретизируй пожалуйста вопрос.
#508. AGENT Off (2)
Участник
2009.01.17 18:06
Gemorroj написал:
конкретизируй пожалуйста вопрос.
да вроде конкретно написал. В данном куске кода используются глобальные переменные? Glob я вижу
#509. Gemorroj Off (107)
Administrator
2009.01.17 18:06
нет, это не имеет никакого отношения к глобальным переменным
это функция glob http://ru2.php.net/glob для работы с файлами
#510. denich Off (0)
Участник
2009.01.20 19:07
Код:
lt;?echo '<form method="post" action="'.$chataddr.'/herak/'.$CHATses.'" name="auth">';?>
вот это name="auth" тоже придёт в $_POST['auth'] да?
ska ska ska
#511. Gemorroj Off (107)
Administrator
2009.01.20 19:07
да. придет пустой элемент $_POST['auth']
#512. AGENT Off (2)
Участник
2009.01.22 06:06
Вывел описания под именами файлов что бы юзерам было удобнее выбирать файлы. Выборка идет и текстовых файлов,файлы в  utf-8. Так вот при этой выборке в 70 символов иногда появляются квадратики которые приводят к ошибке (если смотреть с опера мини 4.2). При нажатии на файл,там есть полное описание и ни каких квадратов нет. Как можно исправить данную ситуацию с квадратиками? Вот скрин куда я вывел часть описания и сам квадратик там видно.
Вложения
Scr000059.jpg 24kb {176x208} [загрузок: 1040]
#513. AGENT Off (2)
Участник
2009.01.22 11:11
проблему решил интересным образом. echo iconv("UTF-8", "UTF-8", "$opis ...<br/>");

Но тут есть интересность,судя по всему где выводились "квадратики" теперь похоже обрезается это  ...<br/> . Как можно решить данную проблему и почему мне приходится перекодировать юникод в юникод для исправления ошибок,ведь на расширенной странице выводится точно такое же описание ,только без вырезания и без ошибок?
#514. Gemorroj Off (107)
Administrator
2009.01.22 11:11
нет, способ совсем не интересный и не правильный) используй mb_substr
#515. AGENT Off (2)
Участник
2009.01.22 12:12
Gemorroj написал:
нет, способ совсем не интересный и не правильный) используй mb_substr
опробовал. И не вижу различий. Пробовал так $opis=@file_get_contents($files.'.dat');

$opis=mb_substr($opis,0,140);


if($opis)
echo iconv("UTF-8", "UTF-8", "$opis ...");
echo '<br/>'; и тоже самое. Попробовал так $opis=@file_get_contents($files.'.dat');

$opis=mb_substr($opis,0,140);


if($opis)
echo "$opis ...");
echo '<br/>'; и ошибки снова с появлением этих "квадратиков". Без iconv() вообще ошибок убрать не могу. Может есть другой способ?
#516. Gemorroj Off (107)
Administrator
2009.01.22 13:01
mb_substr у тебя работал со строкой в однобайтовой кодировке. поставь локаль utf-8 или явно указывай какую кодировку использовать
Код:
span style="color: #0000BB"><?php$opis = file_get_contents($files.'.dat');$opis = mb_substr($opis, 0, 140, 'utf-8');echo $opis;?>
#517. AGENT Off (2)
Участник
2009.01.22 13:01
Gemorroj написал:
mb_substr у тебя работал со строкой в однобайтовой кодировке. поставь локаль utf-8 или явно указывай какую кодировку использовать
Код:
span style="color: #0000BB"><?php$opis = file_get_contents($files.'.dat');$opis = mb_substr($opis, 0, 140, 'utf-8');echo $opis;?>
спасибо. Именно так работает отлично.
#518. AGENT Off (2)
Участник
2009.01.22 16:04
Безопасная ли такая форма? Это форму я сделал для загруз центра. Обычно на других сайтах если нажать "ок" из формы то страница перегружается. У меня нет. echo "<input type=\"text\" value=\"http://".$_SERVER['HTTP_HOST']."/dn/".$file."\" name=\"url\"/>";
Отредактировано AGENT (2009.01.22 16:04)
#519. Gemorroj Off (107)
Administrator
2009.01.22 16:04
используй одинарные кавычки.
$file достаточно отфильтровать с помощью htmlspecialchars
#520. Agent1
Гость
2009.01.23 06:06
Так если я буду использовать одинарные кавычки,то переменные обрабатываться не будут. Данная переменная отфильтрована в начале.
#521. Gemorroj Off (107)
Administrator
2009.01.23 11:11
Код:
span style="color: #0000BB"><?phpecho '<input type="text" value="http://'.$_SERVER['HTTP_HOST'].'/dn/'.$file.'" name="url"/>';?>
#522. AGENT Off (2)
Участник
2009.01.23 14:02
Gemorroj написал:
Код:
span style="color: #0000BB"><?phpecho '<input type="text" value="http://'.$_SERVER['HTTP_HOST'].'/dn/'.$file.'" name="url"/>';?>
подобная форма обязана вызвать ошибку. Обратные косые ты убрал.
#523. Gemorroj Off (107)
Administrator
2009.01.23 14:02
проверь) это базовый синтаксис PHP
#524. AGENT Off (2)
Участник
2009.01.23 15:03
Gemorroj написал:
проверь) это базовый синтаксис PHP
проверил. Ошибка. Белый экран. Тут даже и проверять не нужно было когда ошибку сразу следовало ожидать.
#525. Gemorroj Off (107)
Administrator
2009.01.23 15:03
лучше не спорь, сходи на форум джона, да спроси, если мне не веришь.
#526. AGENT Off (2)
Участник
2009.01.23 15:03
Gemorroj написал:
лучше не спорь, сходи на форум джона, да спроси, если мне не веришь.
блин . Это мой косяк был. Я двойную кавычку в конце поставил. Теперь работает. Символов сыкономили гг. И вот особо не пойму почему мы не экранизировали двойные кавычки?
#527. Gemorroj Off (107)
Administrator
2009.01.23 15:03
правильно писать именно с одинарными, т.к. это быстрее, красивее и просто так рекомендуют разработчики PHP. обратные слеши нужны только на те символы, с помощью которых мы записываем строку. ну т.е. в случае с одинарными кавычками нужно слешировать одинарные кавычки, но не нужно двойные, и наоборот, если строка записывалась в двойных кавычках, то следовало бы слешировать двойные кавычки, но не нужно было бы слешировать одинарные.
#528. AGENT Off (2)
Участник
2009.01.23 15:03
Ужс. Ладн. Пойду дальше конспект писать. Нужно до баз добраться. Думаю через месяц уже напишу простой скрипт новостей или гостевой.
З.Ы. Если руки кривыми не будут))
#529. AGENT Off (2)
Участник
2009.01.25 07:07
Вот значит я юзаю сайт php.su и не особо понимаю зачем нужны всякие переводы строк и каретки с табуляциями. Что это за ерунда ? И можно ли их вообще не использовать?
#530. Gemorroj Off (107)
Administrator
2009.01.25 10:10
это символ разметки. смотря в каких случаях, иногда они требуются для корректной переедачи данных.
#531. AGENT Off (2)
Участник
2009.01.25 13:01
Gemorroj написал:
это символ разметки. смотря в каких случаях, иногда они требуются для корректной переедачи данных.
вот щас смотрю скрипты свои и не вижу этого. Значит необязательно их использовать. Если можно то объясни по подробнее что и для чего.
#532. Gemorroj Off (107)
Administrator
2009.01.25 14:02
передача заголовков в основном, иногда форматирование текста на странице.
#533. AGENT Off (2)
Участник
2009.01.26 05:05
Щас вот скачал дцмс 6.1 и посмотрел код. Весь код в этих \n . Двойные кавычки везде.и генерация доходит до 15 секунд при 3х онлайн. Жесть
#534. Gemorroj Off (107)
Administrator
2009.01.26 11:11
smile) ну это плохой стиль просто)
конечно, чем писать так
Код:
span style="color: #0000BB"><?phpecho "текст\n";echo "еще текст\n";?>
лучше было бы написать так
Код:
span style="color: #0000BB"><?phpecho 'текстеще текст';?>
#535. AGENT Off (2)
Участник
2009.01.26 15:03
Я щас почистил весь двиг от ерунды. Убрал все лишнее и работает нормально. Пошел к аффтару поделиться а меня забанили гг
Добавлено спустя   2 минуты  5 секунд:
Кстати у меня вот такой вопрос не стандартный. В .htaccess глобальные выключены. А скрипт показывает что они включены. Что это может быть? Пых как модуль 5. А на 4 пыхе показывал скрипт что выключены глобальные
#536. Gemorroj Off (107)
Administrator
2009.01.26 15:03
php как cgi модуль?
я хз, не очень силен в этих настройках серверных.
#537. AGENT Off (2)
Участник
2009.01.26 16:04
Gemorroj написал:
php как cgi модуль?
я хз, не очень силен в этих настройках серверных.
ага.
#538. AGENT Off (2)
Участник
2009.01.28 18:06
Ура! Перенес все на другой сервер с пых 5.1.9 в качестве модуля пыха. Гг
Павел,ты не подскажешь что это за код?
Код:
lt;?function links($msg){$msg= eregi_replace("((https?|ftp)://[[:alnum:]_=/-]+(\\.[[:alnum:]_=/-]+)*(/[[:alnum:]+&amp;._=/~%#]*(\\?[[:alnum:]?+&amp;_=/%#]*)?)?)", "<a href=\"\\1\" target=\"_blank\">\\1</a>", $msg);return $msg;}?>
Добавлено спустя   1 минуту  7 секунд:
Что то мне он не нравится .
#539. Gemorroj Off (107)
Administrator
2009.01.28 18:06
замена адресов на ссылки
Код:
span style="color: #0000BB"><?phpfunction links($msg){return preg_replace("~((https?|ftp)/[[:alnum:]_=/-]+(\\.[[:alnum:]_=/-]+)*(/[[:alnum:]+&amp;._=/~%#]*(\\?[[:alnum:]?+&amp;_=/%#]*)?)?)~i", '<a href="$1" target="_blank">$1</a>', $msg);}?>
#540. AGENT Off (2)
Участник
2009.01.29 06:06
Gemorroj написал:
замена адресов на ссылки
Код:
span style="color: #0000BB"><?phpfunction links($msg){return preg_replace("~((https?|ftp)/[[:alnum:]_=/-]+(\\.[[:alnum:]_=/-]+)*(/[[:alnum:]+&amp;._=/~%#]*(\\?[[:alnum:]?+&amp;_=/%#]*)?)?)~i", '<a href="$1" target="_blank">$1</a>', $msg);}?>
а адрес и ссылка это разные вещи что ли? Гг
и кстати код у него весь именно такой. То есть нет <?php
?>
просто <? ?>
#541. НЕЗНАЙКА Off (11)
Участник
2009.01.29 08:08
Адрес поидее хттпhmm/... А ссылка на адрес <а хреф... <?...?> это тоже будет работать, но как сценарий SGML
ДАУН-Данная Аватара Унаследована Незнайкой
#542. Gemorroj Off (107)
Administrator
2009.01.29 11:11
PHP код на данный момент можно обозначать следующими конструкциями
Код:
span style="color: #0000BB"><?php// рекомендуемый стиль?><?// сокращенный не рекомендуемый стиль?><%// сильно не рекомендуемый стиль ASP%>
да, я имел ввиду автоматическую замену http://xxx.ru на <a href="http://xxx.ru">http://xxx.ru</a>
#543. AGENT Off (2)
Участник
2009.01.29 12:12
А для чего там https и ftp? Кстати в скрипте меня насторожил такой момент. При инсталяции,в форме ввода мыла,оказалось мыло,которое я указывал в панеле управления хостингом. Что это может значить?
#544. Gemorroj Off (107)
Administrator
2009.01.29 13:01
ну эти протоколы не хуже обычного http, мыло твое и так можно получить в переменной $_SERVER['SERVER_ADMIN']
#545. AGENT Off (2)
Участник
2009.01.29 13:01
Ага. Вот еще такой вопрос.  Можно ли написать такой код,который запрещает скуль иньекцию?
#546. Gemorroj Off (107)
Administrator
2009.01.29 13:01
функций подходящих для всех случаев не существует. ну а вообще та самая mysql_real_escape_string
#547. AGENT Off (2)
Участник
2009.01.29 15:03
Меня уверяют ,что данная функция есть. Я тебе позже покажу ее
#548. Gemorroj Off (107)
Administrator
2009.01.29 15:03
бред. нету такой. все зависит от того что нам надо получить.
#549. AGENT Off (2)
Участник
2009.01.29 15:03
Я неправильно выразился. Не функция,а скорее алгоритм или типо того. Вот код
foreach ($HTTP_GET_VARS as $key => $val)
{
$val = htmlspecialchars($val, ENT_QUOTES);
$$key = $val;
}
;
foreach ($HTTP_POST_VARS as $key => $val)
{
$val = htmlspecialchars($val, ENT_QUOTES);
$$key = $val;
}
#550. Gemorroj Off (107)
Administrator
2009.01.29 16:04
smile)) глупость это, а не функция)
с помощью этой функции когда-то переводили старые скрипты, которые написаны с расчетом под включенные глобальные переменные, на выключенные глобальные переменные. от SQL она никак не защищает. и к применению никак не рекомендована.
#551. AGENT Off (2)
Участник
2009.01.29 16:04
Хм ну тебе виднее
#552. AND Off (11)
Участник
2009.03.03 18:06
if(($_GET['s']) == 'off') $s = '0'; else $s= '1';
Здесь $_GET['s'] не надо фильтровать?
#553. НЕЗНАЙКА Off (11)
Участник
2009.03.03 18:06
Все входящие фильтруй. Можно ведь подставить значение другое. Не расчитывай на запланированную правильность
ДАУН-Данная Аватара Унаследована Незнайкой
#554. Gemorroj Off (107)
Administrator
2009.03.03 18:06
если в дальнейшем переменная $_GET['s'] не используется, то не надо.
Добавлено спустя   2 минуты  31 секунду:
еще желательно использовать фигурные скобки {}
Код:
span style="color: #0000BB"><?phpif ($_GET['s'] == 'off') { $s = 0;} else { $s = 1;}?>
#555. AND Off (11)
Участник
2009.03.03 22:10
Есть таблица stat, в ней поля id,ip,link_id
Оператор определяется функцией GetOperator()
Нужно вывести статистику по операторам для определенного link_id
в таком виде:

Мегафон: xx
Билайн: xx
МТС: xx
...

Как это сделать? Хотя бы примерно, а то сам не додумаюсь smile
#556. Gemorroj Off (107)
Administrator
2009.03.03 22:10
статистику чего? что такое хх?
#557. AND Off (11)
Участник
2009.03.03 22:10
xx -  количество переходов
статистику переходов по операторам
#558. Gemorroj Off (107)
Administrator
2009.03.03 22:10
ну тут бд нужно переделывать. пару строчками не отделаться.
#559. AND Off (11)
Участник
2009.03.03 22:10
Добавить поле opsos и записывать туда оператора при переходе по ссылке?
#560. Gemorroj Off (107)
Administrator
2009.03.04 09:09
2 поля. поле с именем оператора и счетчик переходов.
#561. AND Off (11)
Участник
2009.03.04 22:10
Практически дописал скрипт управления рекламой и столкнулся с такой проблемой:
После инклуда в скрипт работающий с БД, файла link.php (в нем рекламные ссылки)
перестает работать скрипт, либо не показываются рекламные ссылки.
В чем может быть проблема?
#562. Gemorroj Off (107)
Administrator
2009.03.04 22:10
ну давай файл этот
#563. AND Off (11)
Участник
2009.03.04 22:10
...
Отредактировано AND (2009.03.06 20:08)
#564. Gemorroj Off (107)
Administrator
2009.03.04 23:11
ну синтаксических ошибок нет. надо искать в файлах, которые инклудятся.
#565. AND Off (11)
Участник
2009.03.04 23:11
Файл ini.php

...

Файл opsos.php - скрипт определения оператора с этого сайта
Отредактировано AND (2009.03.06 20:08)
#566. Vadik
Гость
2010.03.11 02:02
Всем привет! Небольшой вопрос по php. Как открыть этот массив закрывая коокие if ($b) {  } чтоб там где $b можно было закрыть $_COOKIE['abc'] и открылась if ($b)? буду очень признателень
#567. Vadik
Гость
2010.03.13 02:02
кодеры, вы шо спите? Или я попал не в темку. Дайте ответа...
#568. Gemorroj Off (107)
Administrator
2010.03.13 07:07
мне не понятен вопрос.
#569. Escos Off (2)
Участник
2010.03.17 17:05
здравствуйте, нужна функция постраничной навигации
#570. datua Off (1)
Участник
2010.03.17 18:06
Escos написал:
здравствуйте, нужна функция постраничной навигации
скрипт на SQL или на файлах?
#571. Escos Off (2)
Участник
2010.03.17 20:08
datua написал:
Escos написал:
здравствуйте, нужна функция постраничной навигации
скрипт на SQL или на файлах?
скрипт на базе MySQL
#572. User
Гость
2010.03.22 14:02
Привет всем! Как сделать так чтоб этот код echo stripslashes($msg); пропускал только бб коды а не теги html? Вставил это echo htmlspecialchars($msg, ENT_QUOTES) но этот пропускает ни теги ни бб кодов..
#573. Gemorroj Off (107)
Administrator
2010.03.22 15:03
Ббкоды пропускает.
#574. User
Гость
2010.03.22 17:05
bb коды пропускает и к тому же теги тоже (<font ...></font> <div>..) Что нужно сделать чтобы html просто выводилса как текст?
#575. Gemorroj Off (107)
Administrator
2010.03.22 17:05
http://php.net/htmlspecialchars
#576. Fashion Off (0)
Участник
2010.03.26 14:02
помогите извлечь ip из 2 таблицы в соответствии с полем из первой.
Пробую так
SELECT table1.*,table2.*
FROM `online_stat` AS table1
LEFT JOIN `ip` AS table2 ON(table2.min<=table1.ip and table2.max>=table1.ip)
чет не выходит
#577. Gemorroj Off (107)
Administrator
2010.03.26 14:02
что в table1.ip, table2.max и table2.min?
#578. Fashion Off (0)
Участник
2010.03.26 14:02
table1.ip - конвертированный ip в цыфры
table2.max, table2.min диапазоны ip
#579. Gemorroj Off (107)
Administrator
2010.03.26 14:02
Код:
SELECT `online_stat`.*, `ip`.*
FROM `online_stat`, `ip`
WHERE `online_stat`.`ip` >= `ip`.`min`
AND `online_stat`.`ip` <= `ip`.`max`
#580. Fashion Off (0)
Участник
2010.03.26 14:02
пасиб,помогло
#581. Morgan Off (10)
Участник
2010.03.26 16:04
Тип столбца : tinytext.
При вставки записи, значение урезается до 142байт.
Кодировка ютф8_бин.
Почему значение укорачивается?
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#582. Gemorroj Off (107)
Administrator
2010.03.26 16:04
почему bin ?
#583. Morgan Off (10)
Участник
2010.03.26 17:05
Потому что без бин нету
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#584. Gemorroj Off (107)
Administrator
2010.03.26 17:05
utf8_general_ci чем не устраивает? в данном случае сказать ничего тольком не могу, нужен пример реально некорректно работающего кода и структуры БД
#585. Pure
Гость
2010.03.29 17:05
Как конвертировать  doc в txt на Linux хостинге ?обясните на пальцах или дайте лучше кусочек кода как ето делаеться)
#586. Gemorroj Off (107)
Administrator
2010.03.29 18:06
поищи библиотеки в гугле, стандартными средствами это не сделать.
#587. Morgan Off (10)
Участник
2010.03.29 20:08
Какая разница между utf8_bin , utf8_general_ci и utf8_unicode ?
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#588. Gemorroj Off (107)
Administrator
2010.03.29 21:09
_bin - регистрозависимый, _ci - регистронезависимый.
разницы между unicode и general так сходу не скажу, нужно гуглить.
#589. Morgan Off (10)
Участник
2010.03.30 00:12
Гугл сказал что юникод лучше сортирует данные, но дольше.
// спасиб, буду знать
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#590. Hek
Гость
2010.04.02 01:01
Привет всем! Граблю загруз но при скачивании не загружается файл а просто текст типа код файла, что нужно прописать в htaccess чтоб избежать это?
#591. Gemorroj Off (107)
Administrator
2010.04.02 09:09
deny from all
#592. Roby
Гость
2010.04.02 14:02
Как сделать зеркало сайта?
#593. Gemorroj Off (107)
Administrator
2010.04.02 14:02
поствить модуль mod_proxy
#594. Димa
Гость
2010.04.03 23:11
Гемор, Не помогает(. Я грабил загруз, когда начинаю через него скачать картинку допустим, скачивается не картинка а какой то текст вместо картинки (с тем же размерам), и с любого файла так. Граблю загруз от сеа который у тебя платный, через file_get_contents. Что делать чтоб файлы скачивались нормально?
#595. Димa
Гость
2010.04.03 23:11
Т.е. я Hek случайно написал свое имя вместо Hek'a. Пожалуйста ответь
#596. Gemorroj Off (107)
Administrator
2010.04.04 00:12
Димa, создай отдельную тему и выложи свой код.
#597. Go_chat
Гость
2010.04.04 21:09
Привет. У меня проблема. Мне нужна wаp скрипт чата. Uzchat.chаt.dj/dchаt почему не регистратсия
#598. Morgan Off (10)
Участник
2010.04.08 18:06
SQL запрос :
Код:
SELECT COUNT(*) FROM table GROUP BY `aid`
- нормально
Код:
SELECT COUNT(*) FROM table GROUP BY `aid` WHERE COUNT(*) > 1
- ошибка
нужно выбрать только если количество сгруппированных значений больше 1го
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#599. Morgan Off (10)
Участник
2010.04.08 18:06
все, HAVING помог))
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#600. Gemorroj Off (107)
Administrator
2010.04.08 20:08
ну да.
Код:
SELECT COUNT(1) AS cnt FROM table GROUP BY `aid` HAVING cnt > 1
#601. Саша
Гость
2010.04.09 00:12
Как обьеденить следующие запросы
SELECT * FROM `forum` WHERE `id`= 5 LIMIT 10
дальше в цикле при выводе значений
SELECT `gender` FROM `users` WHERE `id` = `forum`.`author`

, чтобы при выводе в цикле в ячейке gender массива с результатом запроса был результат второго запроса? smile
#602. Gemorroj Off (107)
Administrator
2010.04.09 08:08
Код:
SELECT `forum`.*, `users`.`gender`
FROM `forum` AS `forum`
LEFT JOIN `users` AS `users` ON `users`.`id` = `forum`.`author`
WHERE `forum`.`id`= 5
LIMIT 10
#603. xits Off (2)
Участник
2010.04.09 08:08
что выбрать: использовать объединенный запрос или в цикле делать кэшируемый запрос (если этот пользователь уже был в списке то запрос не делается)
в обоих таблицах будет много записей (> 100 000)
#604. Gemorroj Off (107)
Administrator
2010.04.09 08:08
что имеется ввиду под "кэширующим" запросом?
#605. xits Off (2)
Участник
2010.04.09 08:08
запрос делается через фукц user
static $users;
if(!isset($users[$id]))
{
запрос ($users[$id] = результат)
}
return $users[$id];
#606. Gemorroj Off (107)
Administrator
2010.04.09 08:08
ну так все зависит от того, будет ли использоваться кэш. если в цикле будет более 2 запросов в бд, то скорее всего, следует смотреть в сторону 1 запроса к нескольким таблицам.
Добавлено спустя   2 минуты  38 секунд:
еще, если предпологается работа с большими объемами данных, можно посмотреть в сторону денормализации. т.е. продублировать нужные данные, чтобы к ним можно было легко получить доступ.
#607. xits Off (2)
Участник
2010.04.09 08:08
понятно, спасибо
#608. willi
Гость
2010.04.11 13:01
Вот такая у меня заморочка. Поставил скрипт, super sea, если создавать папки и лить файлы через админ панель они нормально отображаются, а когда создаю папку или файл с акка их на сайте нет.. Объясните, пожалуйста, как можно это исправить..
#609. Gemorroj Off (107)
Administrator
2010.04.11 13:01
что за super sea, мне не ведомо, если это форк сеа с вапинета, то тебе нужно обновить БД. т.к. инфа о файлах берется оттуда, а не напрямую из файловой системы.
#610. willi
Гость
2010.04.11 14:02
Я незнаю можно ли здесь давать ссылки но я вот здесь скачевал http://4mas.ru/download/index.php?act=view&file=6665&SESID=964e711c6366cab731e8f69f59087320
#611. Gemorroj Off (107)
Administrator
2010.04.11 14:02
http://wapinet.ru/script/show.php?d=%2F … loads2.zip
качай отсюда.
#612. willi
Гость
2010.04.11 14:02
Эта версия очень старая да?
#613. willi
Гость
2010.04.11 14:02
Спасибо.
#614. willi
Гость
2010.04.12 12:12
Админ, та-же самая проблема. Файлы загруженые на сайт не отображаются..
#615. Gemorroj Off (107)
Administrator
2010.04.12 12:12
тот же самый ответ
#616. willi
Гость
2010.04.12 12:12
Что тот-же самый скрипт? Нет, этот я уже отсюда скачал http://wapinet.ru/script/show.php?d=%2FZagruzki%2Fsea_downloads2.zip
#617. willi
Гость
2010.04.12 14:02
Все, спасибо, я допёрsmile
#618. Саша
Гость
2010.04.14 23:11
А с обратной сортировкой по полю `forum`.`time` как будет?
Спасибо
#619. Саша
Гость
2010.04.14 23:11
Это к #602
#620. Gemorroj Off (107)
Administrator
2010.04.14 23:11
ORDER BY поле DESC
#621. willi
Гость
2010.04.16 08:08
Привет. Я хочу поставить скрипт 'случайной графической ссылки (баннер)' как защитить картинку от скачкавния?
#622. Gemorroj Off (107)
Administrator
2010.04.16 08:08
никак
#623. willi
Гость
2010.04.16 08:08
Жаль. Спасибо.
#624. willi
Гость
2010.04.21 10:10
админ, привет. вот я в файл foot.php вставил код <? $r = "1";
include("random.php");
?> для вывода графической ссылки. в результате, в целом, файл выглядит вот так <?php
echo round(microtime(true) - $HeadTime,4) . 'с.<br>

<? $r = "1";
include("random.php");
?><a href="http://wapinet.ru/shop.php?sea">.</a>
</body>
</html>';
?>
Но баннер не отображается.. Почему?
P.S. Все файлы лежат в одной папке
#625. Gemorroj Off (107)
Administrator
2010.04.21 11:11
Код:
span style="color: #0000BB"><?phpecho round(microtime(true) - $HeadTime, 4) . 'с. <br/>';$r = 1;include 'random.php';?><a href="http://wapinet.ru/shop.php?sea">.</a></body></html>
#626. willi
Гость
2010.04.21 12:12
Спасибо
#627. despod Off (0)
Участник
2010.07.19 22:10
ребята вот такая проблема не могу по голосам отсортировать чтобы у кого больше голосов тот на первом месте стоял вот в низу сам скрипт
Вложения
Текстовый документ.txt 8kb [загрузок: 625]
#628. Gemorroj Off (107)
Administrator
2010.07.19 22:10
а теперь в UTF-8 можно?
#629. despod Off (0)
Участник
2010.07.19 22:10
вот в утф не могу уже сделать ни чего уже неделю мучаюсь
Вложения
Текстовый документ.txt 9kb [загрузок: 1181]
#630. Gemorroj Off (107)
Administrator
2010.07.19 22:10
код ужасен
Вложения
file.txt 8kb [загрузок: 661]
#631. despod Off (0)
Участник
2010.07.19 23:11
я просто учусь 3й месяц зато работает на половину
#632. despod Off (0)
Участник
2010.07.19 23:11
Gemorroj , от души!
#633. Mark Off (0)
Участник
2010.07.24 10:10
Поскажите пожалуйста как сделать. Есть таблица привата:

  `id` int(11) NOT NULL auto_increment,
  `user` int(11) NOT NULL,
  `author` int(11) NOT NULL,
  `text` varchar(1024) NOT NULL,
  `chit` set('0','1') NOT NULL default '0',
  `time` varchar(25) NOT NULL default '',

Нужно вывести список моих сообщений как на картинке.
Вложения
12582817852.gif 28kb {374x541} [загрузок: 841]
Отредактировано Mark (2010.07.24 10:10)
#634. Gemorroj Off (107)
Administrator
2010.07.24 10:10
нужна таблица с юзерами
#635. Mark Off (0)
Участник
2010.07.24 11:11
Таблица с юзерами вот:

  `id` int(9) NOT NULL auto_increment,
  `name` varchar(30) NOT NULL default '',
  `password` varchar(20) NOT NULL default '',
  `sex` varchar(4) NOT NULL default '',
  `live` varchar(50) NOT NULL default '',
  `avatar` int(10) NOT NULL default '0',
  `about` text NOT NULL,
  `browser` text NOT NULL,
  `ip` varchar(30) NOT NULL default '',
#636. Gemorroj Off (107)
Administrator
2010.07.24 19:07
Код:
SELECT privat.id,
users.name,
(SELECT COUNT(1) FROM privat WHERE author = users.id) AS cnt
FROM privat
LEFT JOIN users ON users.id = privat.author
WHERE privat.user = 1234
GROUP BY privat.author
ORDER BY privat.id DESC
#637. despod Off (0)
Участник
2010.07.29 19:07
ребята обясните пожалуйста
вот есть 2 таблици
в 1й данные юзера
как мне сделать чтобы юзеру присваивалось со втарой таблице?
например во второй таблице баланс и этот баланс присвоеть в первую таблицу юзерам сколько каждый заработал игравого баланса
спасибо за внимание! не получаеться это делать
#638. Gemorroj Off (107)
Administrator
2010.07.30 10:10
LEFT JOIN
#639. despod Off (0)
Участник
2010.07.30 10:10
Gemorroj написал:
LEFT JOIN
а можно пример если не трудно буду очень благодаренsmile
#640. Gemorroj Off (107)
Administrator
2010.07.30 12:12
несколько постами выше)
#641. despod Off (0)
Участник
2010.07.30 12:12
Gemorroj написал:
несколько постами выше)
я просто не пойму что такое as  и left join on
#642. Gemorroj Off (107)
Administrator
2010.07.30 14:02
AS - это алиас, просто то что слева AS будет иметь имя которое написано справа AS
LEFT JOIN - это связь с таблицей. Т.е. мы добавляем к нашему запросу еще одну таблицу.
ON - это равнозначно WHERE, только используется в случае с джоинами (JOIN)
#643. despod Off (0)
Участник
2010.07.30 21:09
Gemorroj написал:
AS - это алиас, просто то что слева AS будет иметь имя которое написано справа AS
LEFT JOIN - это связь с таблицей. Т.е. мы добавляем к нашему запросу еще одну таблицу.
ON - это равнозначно WHERE, только используется в случае с джоинами (JOIN)
спасибо доступно обясняешьsmile
#644. despod Off (0)
Участник
2010.08.05 14:02
привет , ребята а как сделать постраничную навигацию чтобы я в папку закидывал картинки и они вывозились постранично?
#645. Morgan Off (10)
Участник
2010.08.05 21:09
нужно оптимизировать запросы.
первый запрос :
Код:
SELECT id FROM posts
второй (уже при обработке результатов первого)
Код:
SELECT COUNT(*) FROM posts WHERE id = $post['someid']
можно ли как то это всунуть в один?
пробовал так
Код:
SELECT id,(SELECT COUNT(*) FROM posts WHERE posts.id = posts.someid) AS is_someid FROM posts
но возвращает всегда is_someid = 0
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#646. xits Off (2)
Участник
2010.08.05 21:09
Morgan просто у тя оба posts, думаю из-за него smile попробуй основной через альянс smile
SELECT id,(SELECT COUNT(*) FROM posts WHERE posts.id = main.someid) AS is_someid FROM posts AS main
или
SELECT id,(SELECT COUNT(*) FROM posts WHERE id = posts.someid) AS is_someid FROM posts
Отредактировано xits (2010.08.05 21:09)
#647. Morgan Off (10)
Участник
2010.08.05 22:10
xits, спасибо!  smile
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#648. xits Off (2)
Участник
2010.08.05 22:10
Morgan написал:
xits, спасибо!  smile
не за что))
#649. aluka Off (0)
Участник
2010.08.16 21:09
Код:
CREATE TABLE IF NOT EXISTS `categories` (
`id` tinyint(3) unsigned NOT NULL auto_increment,
`position` tinyint(3) unsigned NOT NULL default '0',
`name` tinytext character set utf8 collate utf8_unicode_ci NOT NULL default '',
`description` tinytext character set utf8 collate utf8_unicode_ci NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
tam vsio provilno i xorosho dzelal? ) eto table dlia blog script
#650. Gemorroj Off (107)
Administrator
2010.08.16 21:09
почему tinyint , у тебя максимум 255 записей может быть чтоли?
#651. aluka Off (0)
Участник
2010.08.16 22:10
Gemorroj написал:
почему tinyint , у тебя максимум 255 записей может быть чтоли?
int(11) tak? naprimer menia nujno maximum 999 id kak eto dzelat? a eti default zachem vabshe nujno ili net? pokaji primer kak ti etovo dzelaesh pojolusto
#652. Gemorroj Off (107)
Administrator
2010.08.16 22:10
999 - тебе нужно mediumint. http://www.phpclub.ru/mysql/doc/column-types.html
#653. aluka Off (0)
Участник
2010.08.16 22:10
Gemorroj написал:
999 - тебе нужно mediumint. http://www.phpclub.ru/mysql/doc/column-types.html
spasibo
#654. Gemorroj Off (107)
Administrator
2010.08.16 22:10
щя сам посмотрел типы, по памяти вот ошибся) smallint нужен
#655. aluka Off (0)
Участник
2010.08.16 22:10
Gemorroj написал:
щя сам посмотрел типы, по памяти вот ошибся) smallint нужен
ok = ))
#656. Morgan Off (10)
Участник
2010.08.17 12:12
что значит ZEROFILL ?
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#657. Gemorroj Off (107)
Administrator
2010.08.17 13:01
подставить нули вначале для типов с фиксированной длиной.
#658. Morgan Off (10)
Участник
2010.08.17 19:07
где же такое применяется?
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#659. Gemorroj Off (107)
Administrator
2010.08.17 19:07
я пока не применял.
#660. Akdmeh Off (9)
Участник
2010.08.19 21:09
На счёт работы Пирата.
Вот тут спор завязался.
/* Функция отфильтровки чисел */
function int($int)
{
    return abs(intval($int));
}

я считаю, что нехорошо, что функция использует стандартное имя в php. Согласен или это я уже чудю?
Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink
#661. Gemorroj Off (107)
Administrator
2010.08.19 22:10
если она вынесена в класс или использует неймспейс, то вроде как считается что все ок. если она в глобальной области видимости, то пхп кинет фатал еррор, т.к. переопределять функции в пхп нельзя. в данном случае, это функция int(), у пхп же языковая конструкция (int). как к этому относиться хз... в доках о таком не читал. лично мне это не нравится т.к. запутывает код.
#662. Akdmeh Off (9)
Участник
2010.08.19 23:11
Геморрой.
Форум Пирата->system/functions.php
тоже сказал, что это правильно, но не очень хорошо.
Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink
#663. Morgan Off (10)
Участник
2010.08.19 23:11
Akdmeh #660
если ты не заметил, у меня есть такая же функция, с таким же именем :\
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#664. ByVlad Off (1)
Участник
2010.08.21 00:12
Morgan написал:
Akdmeh #660
если ты не заметил, у меня есть такая же функция, с таким же именем :\
Братья по несчастью sad.
Сегодня гуглил по поводу внедрения этой функции в php 6, гугл сказал что не будет. Мы же её в конце концов не цифрой назвали, и с конца в конец не транслитом.
Отредактировано Pirate (2010.08.21 09:09)
#665. Akdmeh Off (9)
Участник
2010.08.21 09:09
Но это сбивает пользователя с толку.
Прочитав функцию int я ожидаю от неё поведение - очистку символов не зависимо от знака.
Поэтому у меня такая функция названа absint (абсолютное число, то есть, беззнаковое).
Ну это конечно ваши проблемы)
Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink
#666. Morgan Off (10)
Участник
2010.08.21 15:03
Pirate
почему же по несчастью.
Использование вполне оправданно.
Юзать abs(intval($var)); или abs((int)$var);
не хочу.
Akdmeh
так быстрее писать, понятней, и удобней.
Вот к примеру функция, mysql_real_esace_string, гораздо удобнее использовать escape(), да и если что можно будет поменять алгорит обработчика только в одной функции
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#667. Gemorroj Off (107)
Administrator
2010.08.21 17:05
Morgan, если бы ты этот свой int определил в классе, тебе бы никто ничего не сказал. А ты его вынес в глобальную область видимости.
#668. Akdmeh Off (9)
Участник
2010.08.21 22:10
На счёт mysql_real_escape_string согласен, он у меня давно уже называется
mes - для краткости. Но при этом документируется нормально, и не похож на название стандартного типа.
Это немного удивляет.
Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink
#669. ByVlad Off (1)
Участник
2010.08.22 11:11
Morgan написал:
Pirate
почему же по несчастью.
Использование вполне оправданно.
Юзать abs(intval($var)); или abs((int)$var);
не хочу.
Akdmeh
так быстрее писать, понятней, и удобней.
Вот к примеру функция, mysql_real_esace_string, гораздо удобнее использовать escape(), да и если что можно будет поменять алгорит обработчика только в одной функции
По несчастью по отношению жюри ))).
Я например protect назвал.
#670. Morgan Off (10)
Участник
2010.08.22 20:08
Gemorroj написал:
Morgan, если бы ты этот свой int определил в классе, тебе бы никто ничего не сказал. А ты его вынес в глобальную область видимости.
Засунуть функции обработки в один статический класс?!
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#671. Gemorroj Off (107)
Administrator
2010.08.22 20:08
я скрипты все сегодня просмотрел. там на самом деле много чего в классы запихать нужно.
не обязательно статические.
#672. Akdmeh Off (9)
Участник
2010.08.23 20:08
Вопрос: как ты считаешь, переопределение mysql-класса для добавления дополнительного функционала - хорошо или нет? Падает ли от этого производительность?

Я говорю о функционале типа:
mysqli_additional extends mysqli{...
?
Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink
#673. Gemorroj Off (107)
Administrator
2010.08.23 23:11
да. считаю что это нужно делать обязательно. тогда у нас есть всегда возможность посчитать запросы, задампить их, и вообще есть низкий уровень доступа - а это всегда полезно. скажем, можно в приватных свойствах еще пароли хранить и проч.
#674. ByVlad Off (1)
Участник
2010.08.25 18:06
$query = mysql_query("select * from `posts` where `text` LIKE '%".urldecode(protect($_GET['query']))."%' order by `id` limit ".$page.",".$set['str']."");
$total = mysql_result(mysql_query("select count(*) from `posts` where `text` LIKE '%".urldecode(protect($_GET['query']))."%'"),0);
как в $total использовать SQL_CALC_FOUND_ROWS?
#675. Gemorroj Off (107)
Administrator
2010.08.25 18:06
Код:
SELECT SQL_CALC_FOUND_ROWS * FROM `posts` WHERE `text` LIKE '%xxx%' ORDER BY `id` LIMIT 0, 10;
SELECT FOUND_ROWS();
#676. ByVlad Off (1)
Участник
2010.08.25 18:06
Gemorroj написал:
Код:
SELECT SQL_CALC_FOUND_ROWS * FROM `posts` WHERE `text` LIKE '%xxx%' ORDER BY `id` LIMIT 0, 10;
SELECT FOUND_ROWS();
$query = mysql_query("SELECT SQL_CALC_FOUND_ROWS * FROM `posts` where `text` LIKE '%".urldecode(protect($_GET['query']))."%' order by `id` limit ".$page.",".$set['str']."");
    $total = SELECT_FOUND_ROWS($query);
так?
#677. Gemorroj Off (107)
Administrator
2010.08.25 19:07
ппц..))
нет, не так)
Код:
span style="color: #0000BB"><?php$query = mysql_query("SELECT SQL_CALC_FOUND_ROWS * FROM `posts` where `text` LIKE '%" . protect($_GET['query']) . "%' ORDER BY `id` LIMIT " . $page . "," . $set['str']);$total = mysql_result(mysql_query('SELECT FOUND_ROWS()'), 0);
убери urldecode. такой запрос уязвим. %27
#678. ByVlad Off (1)
Участник
2010.08.25 19:07
Gemorroj написал:
ппц..))
нет, не так)
Код:
span style="color: #0000BB"><?php$query = mysql_query("SELECT SQL_CALC_FOUND_ROWS * FROM `posts` where `text` LIKE '%" . protect($_GET['query']) . "%' ORDER BY `id` LIMIT " . $page . "," . $set['str']);$total = mysql_result(mysql_query('SELECT FOUND_ROWS()'), 0);
убери urldecode. такой запрос уязвим. %27
спасибо, прикрыл дырочку )
#679. Akdmeh Off (9)
Участник
2010.09.04 00:12
<?php
class input {
    public static function get($key){
        return isset($_GET[$key]) ? $_GET[$key] : false;
    }
    public static function get_int($key){
        return isset($_GET[$key]) ? abs(intval($_GET[$key])) : 0;
    }
    public static function get_post($key){
        return isset($_POST[$key]) ? $_POST[$key] : false;
    }
}
//usage:
$var=input::get('ololo');

это будет метод возвращения значений из поля $_GET без ошибок.
Как считаешь, стоит ли смотреть в эту сторону, или лучше каждый раз делать так:
$var=isset($_GET['ololo']) ? $_GET['ololo'] : false;
Ну в принципе класс можно вообще расширить и сделать что-то типу модуля защиты.
Плюс этого класса - не будет ошибок Notice, если переменную не определить.
Минусы - усложнения логики.

Твоё мнения?
Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink
#680. Gemorroj Off (107)
Administrator
2010.09.04 01:01
думаю, если библиотека будет предостовлять помимо этих 3-х методов еще кучу всякого интересного, то вполне имеет право на жизнь. а если ограничиваться этими 3-мя методами, то пользы просто мало видно.
#681. Akdmeh Off (9)
Участник
2010.09.04 11:11
Думаю, задача класса будет именно в получении данных от пользователя, при чём получение без Notice'ов, а также начальная фильтрация этих данных, например,
input::get_bool input::get_array(это если вводить test[]=1&test[]=4, будет массив, а это вызывает ошибку, и метод get заодно будет проверять тип).
Какие-то ещё идеи будут?)
Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink
#682. Gemorroj Off (107)
Administrator
2010.09.04 12:12
нотисы, по моему, второстепенны, т.к. всегда можно вместо тернарника использовать собаку. я, напимер, ей и пользуюсь обычно.
#683. Akdmeh Off (9)
Участник
2010.09.04 13:01
Ещё в чём минус, если передавать массив(я писал выше) - будут ошибки.
@ действительно довольно сильно тормозит работу, хотя в принципе это не важно)
Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink
#684. Gemorroj Off (107)
Administrator
2010.09.04 14:02
Akdmeh, среди ченжлога php5.3 было и ускорение работы собаки. я лично уже все равно полностью пересел на php5.3)
#685. Akdmeh Off (9)
Участник
2010.09.04 14:02
Геморрой, у меня тоже давно стоит линейка 5.3smile
Вот я в бложеке ещё это смотрел, ну конечно бенчмарки сакс, тем не менее:
http://akdmeh.net/full_text.php?id=68

То есть, эта функция для меня ещё чисто выгодна проверкой переменной на наличие переменной - противная ошибка)))
Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink
#686. Morgan Off (10)
Участник
2010.09.14 11:11
вопрос по части оптимизации, нужно ли ставить индексы на поля по которым идет сортировка?
ORDER BY `field`
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#687. Gemorroj Off (107)
Administrator
2010.09.14 12:12
http://dev.mysql.com/doc/refman/5.0/en/ … ation.html
EXPLAIN показывает одинаковые результаты и по полям с индексами и без них
#688. aluka Off (0)
Участник
2010.09.14 15:03
kagda nado ispolzivat eti funqcii vpdo? bindColumn, bindParam, bindValue. ne ponial opisanie na php.net
#689. Morgan Off (10)
Участник
2010.09.16 12:12
две таблицы, posts - сообщения и posts_files - файлы сообщений;
делаю вывод
Код:
$res = mysql_query('SELECT *, (SELECT COUNT(*) FROM `post_files` WHERE `post_id` = `posts`.`id`) AS `count_files` FROM `posts`');
while($post = mysql_fetch_array($res))
{
....
// если к посту приложены файлы
if($post['count_files'] > 0)
{
//здесь делаю запрос к таблице файлов и еще одним циклом вывожу файлы.
}
}
возможно ли как то оптимизировать?
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#690. Gemorroj Off (107)
Administrator
2010.09.16 14:02
добавь 1 запросу HAVING `count_files` > 0
#691. Morgan Off (10)
Участник
2010.09.16 22:10
нет, не обязательно что бы файлов небыло.
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#692. Gemorroj Off (107)
Administrator
2010.09.16 22:10
а понял.
Код:
SELECT `posts`.*,
`files`.*
(SELECT COUNT(*) FROM `post_files` WHERE `post_id` = `posts`.`id`) AS `count_files`
LEFT JOIN `files` ON `files`.`postId` = `posts`.`id`
FROM `posts`
#693. Morgan Off (10)
Участник
2010.09.17 13:01
это у меня 4 файла и 4 раза будет пост выведен ;/
немного не то.
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#694. Gemorroj Off (107)
Administrator
2010.09.17 15:03
аа... да, там тогда подзапросом можно порпобовать и GROUP_CONCAT
#695. Morgan Off (10)
Участник
2010.09.28 22:10
Код:
DELETE `files`, `dirs` FROM `files`, `dirs` WHERE `files`.`in_dir_id` = '0' OR `dirs`.`in_dir_id` = '0'
цель : удалить записи в таблицах files и dirs, в которых in_dir_id = 0.
удаляет только из таблицы dirs
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#696. Morgan Off (10)
Участник
2010.09.29 21:09
)
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#697. okissss
Гость
2010.10.01 16:04
не работает регистрация ICQ почему ? сколько не пробовал выдает ошибку!
#698. Gemorroj Off (107)
Administrator
2010.10.01 17:05
исправил же уже.
#699. okissss
Гость
2010.10.01 18:06
Ошибка!
Проверте правильность данных и попробуйте еще раз


и так не один раз
#700. okissss
Гость
2010.10.01 21:09
обновил скрипт толку 0
#701. Gemorroj Off (107)
Administrator
2010.10.02 10:10
okissss написал:
обновил скрипт толку 0
что значит обновил скрипт? ты про платную версию чтоли?
#702. okissss
Гость
2010.10.02 17:05
да про нее
#703. Gemorroj Off (107)
Administrator
2010.10.02 19:07
okissss, обновил скрипт
#704. okissss
Гость
2010.10.02 21:09
переустановил не отображаеться картинка права на файл temp.jpg поставил как и написано 666
#705. Gemorroj Off (107)
Administrator
2010.10.02 21:09
точно все файлы перезалил? пиши на email.
#706. okissss
Гость
2010.10.03 17:05
сейчас попробую в отдельную папку с 0 поставить отпишусь о результате
#707. Mark Off (0)
Участник
2010.10.11 17:05
Подскажите пожалуйста как организовать систему смены размера шрифта на сайте. Есть файл style.css и переменная $razmer=11-14. Файл стиля подключаетя к каждому файлу движка. Как сменить в файле стиля значение Font-size. Сейчас на многих сайтах есть такая фишка в личных настройках.Если можна подскажите приблизительный код.
Отредактировано Mark (2010.10.11 17:05)
#708. Profi Off (-1)
Участник
2010.10.13 10:10
Gemorroj, привет))) можешь немного помочь? решил написать небльшой скрипт, считающий количество переходов с определённых сайтов на мой.есть база, в которой записаны эти сайты. вытягиваю реферрер - $ref = $_SERVER['HTTP_REFERER']; а дальше туплю - не могу догнать, как сделать, чтоб если такой адрес в базе есть, то + переход, а если нет - ничего не делаем.
if{
$ref = 'http://site1.ru/';
$sql = mysql_query('UPDATE 'ref' SET 'hits' = ('hits' + 1) WHERE 'id' = '1'');
}elseif{
$ref = 'http://site2.ru/';
$sql = mysql_query('UPDATE 'ref' SET 'hits' = ('hits' + 1) WHERE 'id' = '1'');
}
вот так пытаюсь проверить, но не выходит - сервер не доступен...убираю это - доступен...кароч туплю(((
вот база если что
CREATE TABLE IF NOT EXISTS `ref` (
  `id` mediumint(8) unsigned NOT NULL auto_increment,
  `ref` char(30) NOT NULL default '',
  `hits` char(30) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

INSERT INTO `ref` (`id`, `ref`, `hits`) VALUES
(1, 'http://site1.ru/', ''),
(2, 'http://site2.ru/', '');
заранее благодарю)))
#709. Nu3oN Off (11)
Moderator
2010.10.13 13:01
if (isset($_SERVER['HTTP_REFERER'])) {
    $q = mysql_query("SELECT * FROM `ref` WHERE `ref` = '".$ref."';");

    if (mysql_num_rows($q)) {
        mysql_query('UPDATE `ref` SET `hits` = hits+1 WHERE `ref` = '".$ref."';");
    } else {
        mysql_query("INSERT INTO `ref` SET `ref` = '".$ref."';");
    }
}

Это как пример... Не стоит использовать его у себя...
Отредактировано Nu3oN (2010.10.13 13:01)
Я буду лучше голоден, но между креслом и рулем и на дороге.
#710. dol@r
Гость
2010.10.14 18:06
как прописывать бд на хостинге h2m.ru.....помогите ....подскажите
#711. Profi Off (-1)
Участник
2010.10.14 22:10
Nu3oN, почему? отфильтровать ток надо))
#712. Fuelen Off (5)
Участник
2010.10.19 01:01
foreign key (itemname) references AuthItem (name) on delete cascade on update cascade
что значит on delete cascade on update cascade? т.е. как оно работает? если я удалю запись из 1 таблицы, то и связаная запись с другой таблицы удалится? что происходит когда on update cascade??
на хую вас вертів
#713. Gemorroj Off (107)
Administrator
2010.10.19 08:08
1) да, удалится.
2) при обновлении родительской таблицы произойдет действие указанное в ON UPDATE. CASCADE значит обновить инфу у детей в соответствии с данными у родителя.
#714. Fuelen Off (5)
Участник
2010.10.19 13:01
Т.е, значения полей с одинаковыми названиями будут изменятся в 2 таблицах?
Отредактировано Fuelen (2010.10.19 13:01)
на хую вас вертів
#715. Gemorroj Off (107)
Administrator
2010.10.19 13:01
ага, те, на которые поставлен внешний ключ с соответствующей связью.
#716. Fuelen Off (5)
Участник
2010.10.19 18:06
у меня только ид связан. остальные поля разные.
ид изменять не буду, значит on update cascade не обязательно. так я понимаю?
на хую вас вертів
#717. Gemorroj Off (107)
Administrator
2010.10.19 18:06
Fuelen, если ты делаешь связь, то в любом случае нужно указать действие и на удаление, и на обновление. Просто по дефолту они RESTRICT http://dev.mysql.com/doc/refman/5.1/en/ … aints.html
If ON DELETE or ON UPDATE are not specified, the default action is RESTRICT.
#718. Fuelen Off (5)
Участник
2010.10.19 19:07
ясно, спасибо))
на хую вас вертів
#719. Fuelen Off (5)
Участник
2010.10.19 23:11
есть таблица users (есть поле id) и таблица friends ( поля id, user1_id, user2_id). какой внешний ключ должен быть, чтобы при удалении записи из users, удалялась запись из friends, где user1_id или user2_id = user.id?
на хую вас вертів
#720. FireStorm Off (0)
Участник
2010.10.27 13:01
У меня проблемма с запросом!

Сам запрос:

Код:
mysql_query("SELECT `f`.*, `s`.`time` FROM `table` AS `f`
JOIN `table` AS `s`
WHERE `f`.`id` = `s`.`cid` GROUP BY `f`.`id` ORDER BY `s`.`time` DESC LIMIT 0,10");
Что надо:
Мне надо чтобы со второй таблицы смотрело последнее время совсем(ну там последнее сообщение в форуме например(а именно время)), а первую таблицу выводило с лимитом 0,10 (это постраничная навигация)... Две таблицы одинаковые... Недавно начал склеивать таблицы, чтобы не уменьшать производительность скриптов...
Если такое было, прошу кинуть ссылочку
Отредактировано FireStorm (2010.10.27 13:01)
Правильно сформулированный вопрос содержит в себе половину ответа!
#721. Gemorroj Off (107)
Administrator
2010.10.27 14:02
я не совсем вопрос понял.
FireStorm написал:
Две таблицы одинаковые
если они одинаковые, то time есть и у первой?
#722. FireStorm Off (0)
Участник
2010.10.27 14:02
Ну да... Но мне time со второго запроса надо.... Запрос несколько иной у меня, но суть такова как написала
Отредактировано FireStorm (2010.11.10 08:08)
Правильно сформулированный вопрос содержит в себе половину ответа!
#723. Gemorroj Off (107)
Administrator
2010.10.27 15:03
ну, по идее должно работать.
#724. FireStorm Off (0)
Участник
2010.10.27 15:03
Если убрать GROUP BY `f`.`id` то первый результат выдачи, тот который мне нужен...
Добавлено спустя   3 минуты  14 секунд:
Мне так кажется, что лучше добавить в базе еще одно поле(updatetime)... Ну если другого способа не найду
Правильно сформулированный вопрос содержит в себе половину ответа!
#725. Gemorroj Off (107)
Administrator
2010.10.27 15:03
в чем проявляется некорректность?
#726. ByVlad Off (1)
Участник
2010.10.27 15:03
Вопрос по SQL:
Есть таблица с постами и темами в форуме, нужно для цикличного вывода тем подсчитать посты в выводимой теме что-то типа этого:
$query = mysql_query("SELECT topics.*,COUNT(*) FROM topics,posts WHERE topic_id=topics.id LIMIT 0,10");
Отредактировано Pirate (2010.10.27 15:03)
#727. Gemorroj Off (107)
Administrator
2010.10.27 15:03
Код:
SELECT topics.*, COUNT(posts.id) AS cnt
LEFT JOIN posts ON posts.topic_id = topics.id
LIMIT , 10
#728. ByVlad Off (1)
Участник
2010.10.27 16:04
Gemorroj написал:
Код:
SELECT topics.*, COUNT(posts.id) AS cnt
LEFT JOIN posts ON posts.topic_id = topics.id
LIMIT , 10
Спасибо smile.
#729. ByVlad Off (1)
Участник
2010.10.27 17:05
Gemorroj написал:
Код:
SELECT topics.*, COUNT(posts.id) AS cnt
LEFT JOIN posts ON posts.topic_id = topics.id
LIMIT , 10
Если не сложно, можешь расписать запрос? Ибо я JOIN плохо понимаю.
#730. FireStorm Off (0)
Участник
2010.10.27 17:05
Gemorroj написал:
в чем проявляется некорректность?
Идея в том, что я пишу форум, для него сделана одна таблица, и мне надо было, чтобы тема где последний пост выводилось само выше..
Добавлено спустя   3 минуты  25 секунд:
Pirate написал:
Gemorroj написал:
Код:
SELECT topics.*, COUNT(posts.id) AS cnt
LEFT JOIN posts ON posts.topic_id = topics.id
LIMIT , 10
Если не сложно, можешь расписать запрос? Ибо я JOIN плохо понимаю.
Описание JOIN
Отредактировано FireStorm (2010.10.27 17:05)
Правильно сформулированный вопрос содержит в себе половину ответа!
#731. ByVlad Off (1)
Участник
2010.10.27 17:05
FireStorm написал:
Gemorroj написал:
в чем проявляется некорректность?
Идея в том, что я пишу форум, для него сделана одна таблица, и мне надо было, чтобы тема где последний пост выводилось само выше..
ORDER BY id DESC
#732. FireStorm Off (0)
Участник
2010.10.27 17:05
Pirate написал:
FireStorm написал:
Gemorroj написал:
в чем проявляется некорректность?
Идея в том, что я пишу форум, для него сделана одна таблица, и мне надо было, чтобы тема где последний пост выводилось само выше..
ORDER BY id DESC
Это аналог того, что и я можно сказать написала выше(в самых первых постах. Я про вывод)... Проблему решила добавлением еще одного поля....
Отредактировано FireStorm (2010.11.10 08:08)
Правильно сформулированный вопрос содержит в себе половину ответа!
#733. FireStorm Off (0)
Участник
2010.10.28 12:12
Возник еще один вопрос, играет ли особую роль в производительности при указывании в запросе, что нужен вывод всего лишь одного элемента(LIMIT 1)... И сразу же если да, то тогда следующий вопрос, а есть такое, где это необязательно(тоесть производительность от этого выше не станет)?
Правильно сформулированный вопрос содержит в себе половину ответа!
#734. ByVlad Off (1)
Участник
2010.10.28 14:02
FireStorm написал:
Возник еще один вопрос, играет ли особую роль в производительности при указывании в запросе, что нужен вывод всего лишь одного элемента(LIMIT 1)... И сразу же если да, то тогда следующий вопрос, а есть такое, где это необязательно(тоесть производительность от этого выше не станет)?
Если в условии запроса указать ячейку с ключом, например: (id-primary key), то не играет, если это не ключ то лучше делать.
Добавлено спустя   1 минуту  51 секунду:
и мой вопрос)
как сделать в регулярке типа (JAR|SISX)?
preg_match_all
#735. Morgan Off (10)
Участник
2010.10.28 14:02
FireStorm
как мне кажется, конечно играет.
серверу приходится дергать все строки, а при указании "LIMIT 0,1" он вытянул первую строку и закончил
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#736. Gemorroj Off (107)
Administrator
2010.10.28 14:02
FireStorm, есть, если выборка строится на уникальных значениях. Т.е. если на id - PRIMARY KEY, то SELECT * FROM table WHERE id = 10 с лимитом или без, разницы нет.
Добавлено спустя    51 секунду:
Pirate, не совсем понял. Объясно зачем preg_match_all и зачем именно регулярка.
#737. FireStorm Off (0)
Участник
2010.10.28 15:03
спс, будем знатьsmile хоть по идее и догадываласьsmile
Отредактировано FireStorm (2010.11.10 08:08)
Правильно сформулированный вопрос содержит в себе половину ответа!
#738. ByVlad Off (1)
Участник
2010.10.28 15:03
Gemorroj написал:
FireStorm, есть, если выборка строится на уникальных значениях. Т.е. если на id - PRIMARY KEY, то SELECT * FROM table WHERE id = 10 с лимитом или без, разницы нет.
Добавлено спустя    51 секунду:
Pirate, не совсем понял. Объясно зачем preg_match_all и зачем именно регулярка.
Уже разобрался, спасибо.
#739. Morgan Off (10)
Участник
2010.10.28 15:03
Pirate
SELECT `type` FROM `table` WHERE `type` REGEXP '^(jar|sisx)$'
хотя наверно было бы лучше
SELECT `type` FROM `table` WHERE `type` = 'jar' OR `type` = 'sisx'
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#740. Gemorroj Off (107)
Administrator
2010.10.28 15:03
Morgan, вместо REGEXP тут лучше LIKE подошел бы. Но в принципе и так и так неправильно)
#741. ByVlad Off (1)
Участник
2010.10.28 16:04
Morgan написал:
Pirate
SELECT `type` FROM `table` WHERE `type` REGEXP '^(jar|sisx)$'
хотя наверно было бы лучше
SELECT `type` FROM `table` WHERE `type` = 'jar' OR `type` = 'sisx'
Эм, а mysql зачем?
#742. Morgan Off (10)
Участник
2010.10.28 20:08
Pirate
Главная » PHP/MySQL » PHP+MySQL
Добавлено спустя    46 секунд:
вместо REGEXP тут лучше LIKE подошел бы.
LIK'ом можно также сделать?

Но в принципе и так и так неправильно)
как так?
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#743. ByVlad Off (1)
Участник
2010.10.28 20:08
Morgan
Главная » PHP/MySQL » PHP+MySQL
preg_match_all
Отредактировано Pirate (2010.10.28 20:08)
#744. Gemorroj Off (107)
Administrator
2010.10.28 20:08
Morgan, эм, посмотрел внимательнее регулярку, я имел ввиду это)
Код:
SELECT `type` FROM `table` WHERE `type` LIKE '%sisx' OR `type` LIKE '%jar'
т.к. вероятно, нужно-таки проверять только расширение.
#745. ByVlad Off (1)
Участник
2010.10.28 21:09
есть такой массив:
[ids] => Array (
[0] => 35704
[1] => 34552
[2] => 35705
[3] => 35710
[4] => 36700
[5] => 35708
[6] => 35707
[7] => 36699
[8] => 35706
[9] => 35709
[10] => 36701 )
Нужно записать данные в ячейку вот так: 35704|34552|35705|35710|36700|35708|35707|36699|35706|35709|36701|
Количество элементов в массиве может быть разное
#746. Morgan Off (10)
Участник
2010.10.28 21:09
и в чем вопрос?
implode('|', $ids)
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#747. ByVlad Off (1)
Участник
2010.10.28 21:09
Morgan написал:
и в чем вопрос?
implode('|', $ids)
Спасибо, я забыл что она "склеивает" массив. Либо с телефона башка не варит, либо склероз.
#748. Nu3oN Off (11)
Moderator
2010.10.29 17:05
на сколько данное решение гомнисто?

Код:
span style="color: #0000BB"><?phpfunction x_date($time) { $labelTime = date('d.m.Y', $time); $arrM = array( '01'=>'янв', '02'=>'фев', '03'=>'мар', '04'=>'апр', '05'=>'май', '06'=>'июн', '07'=>'июл', '08'=>'авг', '09'=>'сен', '10'=>'окт', '11'=>'ноя', '12'=>'дек' ); if ($labelTime == date('d.m.Y')) { return 'Сегодня в '.date('H:i', $time); } elseif ($labelTime == (date('d') - 1).'.'.date('m.Y')) { return 'Вчера в '.date('H:i', $time); } else { return date('d', $time).' '.$arrM[date('m', $time)].' '.date('Y', $time).' в '.date('H:i', $time); }}?>
Я буду лучше голоден, но между креслом и рулем и на дороге.
#749. Nu3oN Off (11)
Moderator
2010.10.29 17:05
есть ли более лояльные подходы?
Я буду лучше голоден, но между креслом и рулем и на дороге.
#750. Gemorroj Off (107)
Administrator
2010.10.29 17:05
1) до идее должно нотис на labelTime выдать.
2) $labelTime[2] и $labelTime[3] вычисляются и "сегодня", и "вчера", хотя ни там, ни там не используются.
ну а так норм, единственное что лучше уже переползать на класс DateTime. В последнем своем проекте на работе огребли кучу проблем со стандартными php функциями для работы с датой.
#751. Nu3oN Off (11)
Moderator
2010.10.29 17:05
включен полный вывод ошибок, ничего не вывело...
labelTime во всех трех случаях используется...
З.ы я его и так юзаю, просто в данный момент лучше юзать ”это”
Добавлено спустя   7 минут  29 секунд:
поправил немного...
Я буду лучше голоден, но между креслом и рулем и на дороге.
#752. FireStorm Off (0)
Участник
2010.11.01 11:11
Кто нить дайте FAQ по загрузке файлов с Мини Опера
Правильно сформулированный вопрос содержит в себе половину ответа!
#753. FireStorm Off (0)
Участник
2010.11.01 11:11
Уже сам нашел: http://maxmessage.ru/r/1902
Правильно сформулированный вопрос содержит в себе половину ответа!
#754. Morgan Off (10)
Участник
2010.11.01 15:03
Проблемы какие-то с запросам.
Такой запрос
"SELECT COUNT(*) FROM `forum_topics` WHERE `last_date` > '1288607120' AND `last_date` < '1288615359'"
Сжирает 122 мсек времени, хотя все другие (и более сложные) не больше 1й мсек.
Кто в этом виноват?
MySQL сервер?
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#755. Gemorroj Off (107)
Administrator
2010.11.01 16:04
Код:
SELECT COUNT(1) FROM `forum_topics` WHERE `last_date` BETWEEN 1288607120 AND 1288615359
а так?
#756. Morgan Off (10)
Участник
2010.11.01 16:04
да не в этом дело(
при повторном запросе уже время в пределах разумного.
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#757. Gemorroj Off (107)
Administrator
2010.11.01 16:04
и что за тип таблицы? не InnoDB случайно?
#758. Gemorroj Off (107)
Administrator
2010.11.01 16:04
вобщем, в случае с myisam количество записей берется из метаданных - это очень быстро, никаких подсчетов не ведется, в случае же с InnoDB COUNT реально высчитывается.
#759. Morgan Off (10)
Участник
2010.11.01 19:07
MyISAM
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#760. Nu3oN Off (11)
Moderator
2010.11.01 20:08
блин, а я только InnoDB заюзал...
Так что же все таки выбрать? hmm
Я буду лучше голоден, но между креслом и рулем и на дороге.
#761. Gemorroj Off (107)
Administrator
2010.11.01 20:08
InnoDB smile)) при чем однозначно)) преимущества транзакций и внешних ключей с головой покрывают некоторые недостатки.
#762. Nu3oN Off (11)
Moderator
2010.11.01 21:09
ну да... Меняем скорость на надежность+удобство
Я буду лучше голоден, но между креслом и рулем и на дороге.
#763. Gemorroj Off (107)
Administrator
2010.11.01 21:09
оппа, что это у тебя за аватарка, Nu3oN? сертификат у зенда получил?
#764. Nu3oN Off (11)
Moderator
2010.11.01 21:09
Gemorroj написал:
оппа, что это у тебя за аватарка, Nu3oN? сертификат у зенда получил?
ну нафиг гг так, поржать гг
Я слишком жадный что бы 20к отдавать...
Я буду лучше голоден, но между креслом и рулем и на дороге.
#765. Gemorroj Off (107)
Administrator
2010.11.01 22:10
Nu3oN, насчет цены - это да, дорого штопесдец.
#766. Nu3oN Off (11)
Moderator
2010.11.01 22:10
я бы в принципе сертифицировался если бы знал что буду работать в области разработки... Но нет такой возможности, и тем более я даже не знаю где это востребованно у нас в области smile
Добавлено спустя    51 секунду:
в общем говоря мне оно не надо smile
Я буду лучше голоден, но между креслом и рулем и на дороге.
#767. match
Гость
2010.11.06 19:07
Даброй ночи, подскажите пожалуйста как с помощю preg_match выделить айди в ссылке, допустим есть страница со ссылками типа
<a href="http://sait.ru/dog/?newsid=43">Фильмы</a>

Я хочу загнать страницу в цыкл и через preg_match выделять чило, в даном примере 43.
Как мне это сделать, Вот начал запрос а как продолжыть хз preg_match_all('/<a href="\/dog\/([a-z0-9\_\-\/\.\(\)]+)
#768. Gemorroj Off (107)
Administrator
2010.11.06 19:07
Код:
$str = '<a href="http://sait.ru/dog/?newsid=43">Фильмы</a>
s
s<a href="http://sait.ru/dog/?newsid=43">Фильмыd</a>df<a href="http://sait.ru/dog/?newsid=45">Фильмы</a>';
preg_match_all('/\?newsid=([0-9]+)">/', $str, $arr);
print_r($arr);
#769. match
Гость
2010.11.07 13:01
Спасибо за помощь. Если есть возможность подскажите как найти выход из ситуации, использовал код который вы дали и возникла проблема как с текста вырезать ненужный блок текста <!-- Archive-Start --><div id='news-id-46'><b>Вид</b>: Фильм<br /><br /> , проблема в том что чило ( в news-id- ) меняется и оно помещено в переменную $val . Пробовал с помощью substr но не получилось.
#770. Profi Off (-1)
Участник
2010.11.07 14:02
привет))) вот у меня есть папка, в ней ещё папки и файлы..а можно её очистить через fopen?
#771. Gemorroj Off (107)
Administrator
2010.11.07 15:03
эммм... WTF?
#772. Profi Off (-1)
Участник
2010.11.07 15:03
Gemorroj,ты мне?)) гг)))
#773. Morgan Off (10)
Участник
2010.11.07 17:05
Profi
рекурсивный unlink и rmdir тебе поможет
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#774. Profi Off (-1)
Участник
2010.11.07 19:07
Morgan, можно подробней, а то я с этим не сталкивался никогда. мне надо просто удалять содержимое папки...
#775. Gemorroj Off (107)
Administrator
2010.11.08 13:01
Код:
span style="color: #0000BB"><?phpfunction del_dir($directory){ //exec('rm -r ' . escapeshellarg(realpath($directory))); $dir = opendir($directory); while (($file = readdir($dir)) !== false) { if (is_dir($directory . '/' . $file) && ($file != '.') && ($file != '..')) { del_dir($directory . '/' . $file); } else { unlink($directory . '/' . $file); } } closedir($dir); return rmdir($directory);}
#776. Profi Off (-1)
Участник
2010.11.09 12:12
спасибо))) ток всё равно не вкурил..(((
#777. Nu3oN Off (11)
Moderator
2010.11.09 15:03
а что тут вкуривать?
Пишешь del_dir('./папка_которую необходимо_удалить/');
Я буду лучше голоден, но между креслом и рулем и на дороге.
#778. Profi Off (-1)
Участник
2010.11.09 17:05
всё, разобрался))) тока пока разбирался, раз 5 денвер удалил((( у меня такая структура папок:
папка 1/
в ней этот файл и папка 2, в которой создаются другие файлы и папки...так вот, мне надо, чтоб удалялось содержимое папки 2, а она сама оставалась...а у меня или удаляется всё с папкой, или ваще вся папка home на денвере оО
#779. Gemorroj Off (107)
Administrator
2010.11.09 17:05
rmdir последний убери
#780. Profi Off (-1)
Участник
2010.11.09 19:07
тогда ничего не удаляеится..
#781. Profi Off (-1)
Участник
2010.11.10 21:09
блиииин(((
Код:
span style="color: #0000BB"><?phpfunction del_dir($directory){ //exec('rm -r ' . escapeshellarg(realpath($directory))); $dir = opendir($directory); while (($file = readdir($dir)) !== false) { if (is_dir($directory . '/' . $file) && ($file != '.') && ($file != '..')) { del_dir($directory . '/' . $file); } else { unlink($directory . '/' . $file); } } closedir($dir); return rmdir($directory);}del_dir('./111/');?>
сама папка 111 должна остаться, а всё содержимое - удалиться....но у меня всё удаляется...rmdir убираю - вообще ничего((
#782. Gemorroj Off (107)
Administrator
2010.11.11 00:12
Код:
span style="color: #0000BB"><?phpfunction del_dir($directory){ $dir = opendir($directory); while (($file = readdir($dir)) !== false) { if (is_dir($directory . '/' . $file) && ($file != '.') && ($file != '..')) { del_dir($directory . '/' . $file); rmdir($directory . '/' . $file); } else { unlink($directory . '/' . $file); } } closedir($dir); return;}del_dir('./111/');
#783. LooK Off (1)
Участник
2010.11.11 09:09
Здравствуйте.
У меня проблемы с проверкой существования такого же файла. Реализовал структуру:
по ид определяет в какую папку ложить файл(с 1 по 1000 - папка 0; 1001 по 2000 - папка 1 и тд)
добовляет к имени файла ид

Вот так проверял при обычной структуре папок
$pat='../gruz/files/'.$dir_id.'/'.$iden.'_'.$exf[0].'.'.$ext;
$res=mysql_result(mysql_query("SELECT `id` FROM `files` WHERE `path`='$pat' LIMIT 1"),0);

if (mysql_num_rows($res)>0)
{$error=$error.'Такой файл уже существует в БД!';}


Но теперь $pat будет разное....и почему то это еще и варнинг выдает. Как же все таки правильно проверить? Заранее благодарен
#784. Gemorroj Off (107)
Administrator
2010.11.11 10:10
Код:
span style="color: #0000BB"><?php$pat = '../gruz/files/' . $dir_id . '/' . $iden . '_' . $exf[0] . '.' . $ext;$q = mysql_query("SELECT `id` FROM `files` WHERE `path`='" . mysql_real_escape_string($pat) . "' LIMIT 1");if (!$q) { $error .= 'Ошибка запроса';} else if (mysql_num_rows($q) > 0) { $error .= 'Такой файл уже существует в БД!';} else { $res = mysql_result($q, 0);}
это по поводу варнинга. а в целом вопроса не понял.
#785. LooK Off (1)
Участник
2010.11.11 16:04
Мне нужно чтоб один и тот же файл не возможно было загрузить. При такой структуре остается наверно только по имени в бд проверять
Отредактировано LooK (2010.11.11 16:04)
#786. Gemorroj Off (107)
Administrator
2010.11.11 16:04
хз... храни md5 сумму от файла в бд, если нужно проверять конкретно данные в файле. если же одинаковое имя файла, то либо в БД проверяй, если там нету, то file_exists
#787. Profi Off (-1)
Участник
2010.11.11 22:10
всё равно папка 111 удаляется, а она должна остаться...
#788. shift Off (0)
Участник
2010.11.13 16:04
Привет всем! у меня есть функция уменьшения изображений! мне мадо функцию которая уменьшеные изображения выводит с хорошим качеством!
#789. Gemorroj Off (107)
Administrator
2010.11.14 13:01
http://php.net/manual/en/function.image … ampled.php
http://php.net/manual/en/function.imagepng.php
#790. ByVlad Off (1)
Участник
2010.11.16 17:05
нужно узнать сколько успешных записей произошло при использовании INSERT IGNORE.
#791. Gemorroj Off (107)
Administrator
2010.11.16 19:07
mysql_affected_rows
#792. Nu3oN Off (11)
Moderator
2010.11.21 01:01
Че та уже час втыкаю, и нихрена не пойму о_О

Вот таблица
Код:
-- --------------------------------------------------------
 
--
-- Table structure for table `o]dEa_online`
--
 
CREATE TABLE IF NOT EXISTS `o]dEa_online` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_type` int(11) NOT NULL,
`time_click` int(11) NOT NULL,
`user_agent` text NOT NULL,
`user_ip` varchar(150) NOT NULL,
`user_login` varchar(50) NOT NULL,
`user_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=2 ;
 
--
-- Dumping data for table `o]dEa_online`
--
 
INSERT INTO `o]dEa_online` (`id`, `user_type`, `time_click`, `user_agent`, `user_ip`, `user_login`, `user_id`) VALUES
(1, 0, 1290290732, 'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.6.30 Version/10.63', '127.0.0.1', '', 0);
отправляю такой запрос
Код:
UPDATE `o]dEa_online` SET
`user_type` = '1',
`time_click` = '1290290732',
`user_login` = 'Nu3oN',
`user_id` = '1'
WHERE `user_ip` = '127.0.0.1'
AND `user_agent` = 'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.6.30 Version/10.63'
time_click обновляется, а все остальное с нулевым значением...
Добавлено спустя    38 секунд:
тоже самое и при записи

З.ы это mysqli
Я буду лучше голоден, но между креслом и рулем и на дороге.
#793. Nu3oN Off (11)
Moderator
2010.11.21 01:01
ооо блин... теперь еще хлеще история

пишу так
Код:
span style="color: #0000BB"><?php $mysqli -> query("INSERT INTO `online` SET `user_type` = '".$setOnline['type']."', `time_click` = '".SITE_TIME_SHIFT."', `user_agent` = '".$mConnect -> user_header('ua')."', `user_ip` = '".$mConnect -> user_header('ip')."', `user_login` = '".$setOnline['login']."', `user_id` = '".$setOnline['id']."'; ");?>
всего один запрос, а вот что выходит в итоге

Код:
INSERT INTO `o]dEa_online` (`id`, `user_type`, `time_click`, `user_agent`, `user_ip`, `user_login`, `user_id`) VALUES
(1, 1, 1290292681, 'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.6.30 Version/10.63', '127.0.0.1', 'Nu3oN', 1),
(2, 1, 1290292681, 'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.6.30 Version/10.63', '127.0.0.1', '', 0);
отправляю один запрос, а записывается дважды о_О
Я буду лучше голоден, но между креслом и рулем и на дороге.
#794. Gemorroj Off (107)
Administrator
2010.11.21 13:01
воспроизвести не удалось (php 5.3.3). вероятно, тут нужно копать в сторону некорректного php кода, а не sql
#795. Nu3oN Off (11)
Moderator
2010.11.21 14:02
ошибка разрешилась сама... думаю надо удалять денвер и ставить топ сервер о_О
то при запуске еще требует какую то библиотеку avicodec.dll вроде...
Добавлено спустя   3 минуты  5 секунд:
Gemorroj написал:
воспроизвести не удалось (php 5.3.3). вероятно, тут нужно копать в сторону некорректного php кода, а не sql
нет... этот запрос отправляется в том виде, что я показал!

я специально писал такую фигню

Код:
span style="color: #0000BB"><?phpclass SQL extends MySQLi { public function sqlQuery($q) { if ($this -> real_query($q)) { echo $q.'<br />'; return new SQLResult($this); } else { return false; } }}class SQLResult extends MySQLi_Result {////}?>
Я буду лучше голоден, но между креслом и рулем и на дороге.
#796. Gemorroj Off (107)
Administrator
2010.11.21 15:03
Nu3oN, так а что денвер? от него по сути только автосоздание хостов. php, apache, mysql можно руками самому обновлять из noinstall версий (ссылки могу дать, если надо). avicodec.dll для php_ffmpeg нужен вроде.
#797. Voron
Гость
2010.11.24 14:02
Подскажите пожалуйста как сделать вывод картинки. Есть файл img.php которий подключается на страницу
test.php через echo'<img src="image.php" alt="+"/>'; В файле img.php подключается файл-картинка c адресом http://sait.ru/AAAAAAAAAAAA . Мне нужно чтоб при запросе <img src="image.php" alt="+"/> выводилась картинка с адресом http://sait.ru/AAAAAAAAAAAA .

Пробывал так,для файла image.php, но не фурычит(
 
Код:
$url = 'http://sait.ru/AAAAAAAAAAAA';
 
$ooo = imageCreateFrompng("$url");
header("Content-type: image/png");
Imagepng($ooo);
Если просто выводить в файле test.php картинку через echo '<img src="http://sait.ru/AAAAAAAAAAAA"/>'; то нормально отображает ее только Opera a Google Chrome  и Internet Explorer нет.
#798. НЕЗНАЙКА Off (11)
Участник
2010.11.24 15:03
Если она в HTML не отображается, то врядли с PHP все наладится
ДАУН-Данная Аватара Унаследована Незнайкой
#799. LooK Off (1)
Участник
2010.11.27 19:07
Вообщем такая проблема:
С этой http://mobjar.ru/games/8433 (к ресурсу отношения не имею), надо с неё регулярками вырезать экраны, да так чтоб список экранов соответствовал джар файлу. То есть я парсю данную страницу, и записываю в бд. Есть поле с экранами и надо записывать так:
176x220: MOT E398,E770,L7,E1,V3i,Vxxx\n|\n240x320: S40 3ed.\n240x320: S60 3ed.: Symbian 9.1\n
Я смог сделать только чтобы по одной строке с каждого джар файла писалось, а ведь  где одна строка, а где-то две, три, и при чем все это к одной игре относится.
#800. Gemorroj Off (107)
Administrator
2010.11.28 01:01
Код:
span style="color: #0000BB"><?php$str = file_get_contents('http://mobjar.ru/games/8433');$str = explode('</table>', $str);$arr = array();for ($i = 1, $all = sizeof($str); $i < $all; ++$i) { $ex = explode('</div>', $str[$i]); $arr[] = trim($ex[0]);}print_r($arr);
#801. LooK Off (1)
Участник
2010.12.04 21:09
Gemorroj большой спс.
Вот еще небольшой вопрос созрел. Вот как устроена (организованна) страница типа: "Файл подготавливается к скачиванию, подождите 0%. Обновить"
Я так думаю буферизацию надо использовать, а вот что именно в этот момент происходит пока юзер ждет, не догоняю. Ну думаю копирование файлов, а еще что? И вообще как она устроена? Благодарю.
#802. Gemorroj Off (107)
Administrator
2010.12.04 21:09
это js. просто в фоне скачивается файл.
#803. LooK Off (1)
Участник
2010.12.04 21:09
#802 неа только что смотрел, js'a в странице нету
#804. Gemorroj Off (107)
Administrator
2010.12.04 22:10
ссылку. флеш еще может
#805. LooK Off (1)
Участник
2010.12.04 22:10
#802, наверное ты меня не понял немного. Вот к примеру на вап сайтах поиск музыки с вконтакта, и там такая страница присутствует. Вот я сам поиск с навигацией написал, теперь над этим думаю
#806. LooK Off (1)
Участник
2010.12.04 22:10
Напиши там в поиске че нибудь и нажми инфо
#807. Gemorroj Off (107)
Administrator
2010.12.04 22:10
а, ну так в фоне запускается скрипт, который скачивает файл.
#808. LooK Off (1)
Участник
2010.12.04 22:10
Ну это я понял, а вот сам процесс (0%) с помощью чего выводить, ведь он изменяется
#809. Gemorroj Off (107)
Administrator
2010.12.04 23:11
там перезагрузка страницы стоит.
получаешь размер файла через get_headers, например. скачиваешь. смотришь размер скачанных данных и сравниваешь с размером из get_headers
#810. LooK Off (1)
Участник
2010.12.04 23:11
Неплохая идея спс, и еще надо функцию flush заюзать, чтоб отдать результат, но при этом продолжая работу)
#811. Gemorroj Off (107)
Administrator
2010.12.04 23:11
телефоны не поймут. перезагружай целиком страницу.
#812. Sitov
Гость
2010.12.05 20:08
Подскажите, как в Sеа идет подсчет файлов в отдельной папке, хочу на главную вывести, а как не пойму
#813. Gemorroj Off (107)
Administrator
2010.12.05 20:08
http://wapinet.ru/script/comment.php?pg … loads2.zip
второй снизу комментарий
#814. Sitov
Гость
2010.12.05 21:09
Не получается!... пишу так
require 'moduls/ini.php';
require 'moduls/fun.php';
require 'moduls/connect.php';


print mysql_result(mysql_query('SELECT COUNT(`id`) FROM `files` WHERE `infolder`="files/!Simbian_9.4" LIMIT 1'),0);
#815. Sitov
Гость
2010.12.05 21:09
вот щас заработал, но показывает только новые файлы
#816. Gemorroj Off (107)
Administrator
2010.12.05 21:09
значит работает не написанный выше sql запрос.
#817. Sitov
Гость
2010.12.05 21:09
Блин.. этот код папки щитает))
#818. Sitov
Гость
2010.12.05 21:09
А есть ведь код, где просто указываеш id папки!
#819. Sitov
Гость
2010.12.05 21:09
вот нащел в index
Код:
//Кол-во новых файлов в папке
$new_all="";
$stime=$time-(3600*24*$setup['day_new']);
//NOT USE//$new_all = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `files` WHERE `timeupload` > "'.$stime.'" AND `infolder` REGEXP "'.$file_info['path'].'*" AND `size` > "0";'));
if($setup['day_new']!=0) $new_all = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `files` WHERE `timeupload` > "'.$stime.'" AND `infolder` LIKE "'.$file_info['path'].'%" AND `size` > "0";'));
if($new_all[0] and $setup['day_new']!=0) $new_all = '<font color="red">+'.$new_all[0].'</font>'; else $new_all="";
//Всего файлов в папке
//NOT USE//$allinfolder = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `files` WHERE `infolder` REGEXP "'.$file_info['path'].'*" AND `size` > "0";'));
$allinfolder = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `files` WHERE `infolder` LIKE "'.$file_info['path'].'%" AND `size` > "0";'));
$name = str_replace('*','',$file_info['name']);
че тут переделать?
#820. Gemorroj Off (107)
Administrator
2010.12.05 22:10
Код:
span style="color: #0000BB"><?phpcho mysql_result(mysql_query('SELECT COUNT(1) FROM `files` WHERE `infolder`="files/!Simbian_9.4" AND `size` > 0 LIMIT 1'), 0);
#821. Sitov
Гость
2010.12.05 23:11
блин это вообще.. тоже не работае..
писал так в отдельном файле! я все это пытаюсь вывести на главной.
$65 = mysql_result(mysql_query('SELECT COUNT(1) FROM `files` WHERE `infolder`="files/!Simbian_9.4/" AND `size` > 0 LIMIT 1'), 0);

echo '('.$65.')';
#822. LooK Off (1)
Участник
2010.12.05 23:11
А как сделать чтоб после обновления страницы, скрипт не сначала начинал работу, а откуда надо?
И еще вопрос, так правильно сравнивать размер полученны с get_headers с размером загружаеМОГО файла
if (filesize('data/'.trim($muza[5])) != trim($siz[1]))
??
#823. Gemorroj Off (107)
Administrator
2010.12.05 23:11
переменные не могут начинаться с цифр.
Добавлено спустя   2 минуты  30 секунд:
LooK написал:
А как сделать чтоб после обновления страницы, скрипт не сначала начинал работу, а откуда надо?
скачивать файл должен другой скрипт нежели тот, который генерит страницу с процентами.
LooK написал:
if (filesize('data/'.trim($muza[5])) != trim($siz[1]))
примерно так
#824. Sitov
Гость
2010.12.05 23:11
я и латинскими набирал, все также
#825. Gemorroj Off (107)
Administrator
2010.12.05 23:11
Sitov, что за ошибка-то?
#826. Sitiv
Гость
2010.12.05 23:11
поменял на латинские буквы, показывает (0) хотя файлы есть..
#827. Gemorroj Off (107)
Administrator
2010.12.05 23:11
значит папку указал некорректно
#828. Sitov
Гость
2010.12.05 23:11
да нет.. папка правильная..
#829. Gemorroj Off (107)
Administrator
2010.12.05 23:11
Код:
SELECT COUNT(1) FROM `files` WHERE `infolder` LIKE "files/!Simbian_9.4/%" AND `size` > 0 LIMIT 1
#830. Sitov
Гость
2010.12.05 23:11
Не работает.. хрен с ним! устал уже, щас клаву запулю в угол, если продолжу
#831. Gemorroj Off (107)
Administrator
2010.12.05 23:11
sql запросы-то верные, ты как-то не так их используешь просто.
#832. Sitov
Гость
2010.12.05 23:11
Блин ты не повериш)) получилось))
#833. Sitov
Гость
2010.12.06 01:01
Сново заморочки.. как правильно инклудить счетчик на главной john, делаю так include 'co.php'; и пол страницы исчезаит
#834. Sitov
Гость
2010.12.06 02:02
Все сделал,  ток как теперь вычилить в каждой папке новые файлы %)
#835. Sitov
Гость
2010.12.06 04:04
Как вообще правильно смотреть если новые файлы в папке?
#836. Gemorroj Off (107)
Administrator
2010.12.06 12:12
да. нужно смотреть таймштами timeupload вроде.
#837. Sitov
Гость
2010.12.06 13:01
Код:
//NOT USE//$new_all = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `files` WHERE `timeupload` > "'.$stime.'" AND `infolder` REGEXP "'.$file_info['path'].'*" AND `size` > "0";'));
if($setup['day_new']!=0) $new_all = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `files` WHERE `timeupload` > "'.$stime.'" AND `infolder` LIKE "'.$file_info['path'].'%" AND `size` > "0";'));
if($new_all[0] and $setup['day_new']!=0) $new_all = '<font color="red">+'.$new_all[0].'</font>'; else $new_all="";
Вот брал этот код, прописывал папку, которую смотреть надо, в отдельном файле работает
записываю на главну, и показывает все файлы, так выглядит, Windows (23 23)  почему так не пойму
#838. Sitov
Гость
2010.12.06 13:01
вот этот код писал в index возле нужной ссылки
Код:
$win = mysql_result(mysql_query('SELECT COUNT(1) FROM `files` WHERE `infolder` LIKE "files/!Windows_Mobile/%" AND `size` > 0 LIMIT 1'), 0);
$new_all_files = mysql_result(mysql_query('SELECT COUNT(*) FROM `files` WHERE `infolder` LIKE "files/!Windows_Mobile/%" AND `size` > 0 LIMIT 1'), 0);
 
if($new_all_files[0]!=0) $new_all = '<font color="red">+'.(int)$new_all_files[0].'</font>'; else $new_all="";
 
//echo '('.(int)$all_files[0].')<font color="red">+'.(int)$new_all_files[0].'</font>';
echo '('.$win.' '.$all_files.')';
#839. Gemorroj Off (107)
Administrator
2010.12.06 14:02
COUNT(1) и COUNT(*) - в данном случае одно и то же.
Код:
span style="color: #0000BB"><?php$all = mysql_result(mysql_query('SELECT COUNT(1) FROM `files` WHERE `infolder` LIKE "files/!Windows_Mobile/%" AND `size` > 0 LIMIT 1'), 0);$new = mysql_result(mysql_query('SELECT COUNT(1) FROM `files` WHERE `infolder` LIKE "files/!Windows_Mobile/%" AND `size` > 0 AND `timeupload` > ' . (time() - 86400) . ' LIMIT 1'), 0);echo $all;if ($new) { echo ' (+' . $new . ')';}
#840. Sitov
Гость
2010.12.06 15:03
нет все также, в файле отдельном например reo.php работает, А когда твой код ставлю прям в index показывант так (55+55) Я так понимаю, нужно к сылки инклуд счетчика делать, но на john не получается,
делаю так include 'reo.php' и нижняя часть страницы исчезает..
#841. Fankus Off (0)
Участник
2010.12.06 23:11
Все сдел..) остался последний ворос вот на гланой страницы выводится 10 рвзделов я переделал на 15, но теперь когда открываеш папку, например видео там выводится 15 штук..
if($onpage < 3){
$onpage = 10;
вот тут место 10 поставил 15! надо что то добавить?чтоб в нутри папки например было всего на вывод файлов 7 строк
#842. LooK Off (1)
Участник
2010.12.12 22:10
Код:
span style="color: #0000BB"><?phpif (isset($_GET['s'])){$f = get_headers($_GET['s']);$siz = explode(':', $f[4]);$muza = explode('/', $_GET['s']);}if (!file_exists('data/'.trim($muza[5]))){ echo 'Скачивание песни<br />Файл подготавливается к скачиванию, <b>пожалуйста <a href="?">обновите</a> страницу через 5-10 секунд!</b>';}if (filesize('data/'.trim($muza[5])) != trim($siz[1])){ copy($_GET['s'], 'data/'.trim($muza[5]));}else {echo 'Файл загружен';}?>
помогите пожалуйста реализовать, в гет содержится полный путь к файлу.
Все получается тупо, когда файл уже загрузился выводится сообщение, обновить (
#843. Gemorroj Off (107)
Administrator
2010.12.12 23:11
1) у get_headers есть 2 параметр, используй его.
2) url файла, который нужно скачать записывается в таблицу, а скрипт запускаемый кроном через каждые 5 сек читает таблицу и скачивает файлы.
3) скрипт, который описан тобой тут просто должен проверять file_exists
#844. LooK Off (1)
Участник
2010.12.12 23:11
2) вообще не понял зачем бд юзать
#845. Gemorroj Off (107)
Administrator
2010.12.12 23:11
ну можешь в файл писать. бд просто надежнее.
#846. LooK Off (1)
Участник
2010.12.13 08:08
А по скорости дат файл не быстрее будет?
#847. Gemorroj Off (107)
Administrator
2010.12.13 11:11
зависит от того как написано будет. разница в любом случае несущественна.
#848. LooK Off (1)
Участник
2010.12.13 23:11
2) а вариант без крона имеется?
#849. Gemorroj Off (107)
Administrator
2010.12.13 23:11
не думаю. можно, конечно, фигню всякую нагородить с посылкой http запроса, но это оч плохой вариант. не бойся крона.
#850. Morgan Off (10)
Участник
2010.12.22 19:07
Есть ли разница в результатах запроса при обрамлении строк двойными/одинарными кавычками?
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#851. Gemorroj Off (107)
Administrator
2010.12.22 20:08
какого запроса? SQL? нет.
#852. Nu3oN Off (11)
Moderator
2010.12.24 18:06
вот думаю как лучше осуществить мультиязычность сайта?
Хранить все в массиве, или создать например энное колличество папок, с шаблонами на разных языках...
Кто, что думает по этому поводу?
Я буду лучше голоден, но между креслом и рулем и на дороге.
#853. Gemorroj Off (107)
Administrator
2010.12.24 19:07
во первых есть php модуль gettext, использовать ли его, вопрос сложный.
а вот зачем под каждый язык отделная директория совсем не пойму. там же все равно будет по 1 файлу с массивом?
#854. Nu3oN Off (11)
Moderator
2010.12.24 20:08
Нет там будут обычные шаблоны, просто будет текст на разных языках
Я буду лучше голоден, но между креслом и рулем и на дороге.
#855. Gemorroj Off (107)
Administrator
2010.12.24 22:10
ну тогда по любому в разных папках)
#856. tipsun Off (19)
Moderator
2010.12.26 23:11
Хотел спросить, как время мускулом чтоб добавлялось в запись сделать, похожим на time();
Я при запросе посылаю значение time(); и оно же как id записи идет smile
Отредактировано tipsun (2010.12.26 23:11)
#857. Gemorroj Off (107)
Administrator
2010.12.26 23:11
Делай тип TIMESTAMP, на выходе обрабатывай его через UNIX_TIMESTAMP, если тебе нужен именно он, но лучше средствами mysql и получай дату в нужном виде.
#858. Swinger Off (1)
Участник
2010.12.30 20:08
mysql:
UNIX_TIMESTAMP(CURDATE()) - говнокод?
#859. Gemorroj Off (107)
Administrator
2010.12.30 23:11
нет
#860. tipsun Off (19)
Moderator
2010.12.31 21:09
Начались какие-то непонятные проблемы с кодировкой... Выбираешь UTF-8 в браузере, в базе прописываешь вручную ТЕКСТ и на выходе <?><?><?><?><?> уже в самом движке.
И наоборот, если с движка прописываешь в базу, то в базе <?><?><?><?><?>
С чем связанно?
Отредактировано tipsun (2010.12.31 21:09)
#861. Gemorroj Off (107)
Administrator
2010.12.31 22:10
set names
#862. tipsun Off (19)
Moderator
2010.12.31 22:10
Походу с denwer чет не то... я переустановил, все равно проблема не решена...
Везде utf-8 (utf8, utf8_general_ci)...
Добавлено спустя   3 минуты  56 секунд:
Нет, ниче не помогает((
Было вроде все норм...
В браузере ставишь UTF-8 сайт отображается корректно, вводишь с сайта данные и в базе коряво записываются
Сбрасываешь на автомат, сайт отображается не корректно, а введенные с сайта данные, в базу, корректно
Отредактировано tipsun (2010.12.31 22:10)
#863. Gemorroj Off (107)
Administrator
2010.12.31 23:11
никогда не вини денвер) дело в руках) на основании тех данных которые ты таки не дал. сказать можно только о часто распространенных ошибках. часто - это соединение с mysql сервером с дефолтными настройками, т.е. latin1, а не utf8, решается через set names в скрипте, либо не помню какой директивой в my.cnf
#864. tipsun Off (19)
Moderator
2010.12.31 23:11
Да, точно "latin1".
Код:
span style="color: #0000BB"><?phpecho $mysqli->character_set_name();?>
Саму кодировку соединения <latin1> не поменять, как я понял, но все остальное поменял:
Код:
set GLOBAL character_set_client=utf8;
set GLOBAL character_set_connection=utf8;
set GLOBAL character_set_database=utf8;
set GLOBAL character_set_results=utf8;
set GLOBAL character_set_server=utf8;
set GLOBAL collation_connection=utf8_general_ci;
set GLOBAL collation_database=utf8_general_ci;
set GLOBAL collation_server=utf8_general_ci;
 
set GLOBAL init_connect=utf8;
Вроде проблема решена, СПС))
Отредактировано tipsun (2011.01.01 01:01)
#865. Gemorroj Off (107)
Administrator
2011.01.01 01:01
все поменять и решается элементарно как описано в 863 посте
#866. tipsun Off (19)
Moderator
2011.01.01 10:10
Я не понимаю, где и чего менять.
Я сделал запрос (Пост #864) в СУБД Variable все поменялось на необходимое.
Но
Код:
span style="color: #0000BB"><?phpecho $mysqli->character_set_name().' and '.$mysqli->client_encoding();# latin1 and latin1?>
Хотя проблем с кодировкой сейчас нет, вроде.
Единственное при restart denwer приходится заново запрос делать на utf8
Я еще побродил по папкам denwer и понял в папке [C:\WebServers\usr\local\mysql-5.1\share\charsets\], что utf8 там и нет
Отредактировано tipsun (2011.01.01 10:10)
#867. Gemorroj Off (107)
Administrator
2011.01.01 11:11
http://www.php.net/manual/en/mysqli.set-charset.php
#868. tipsun Off (19)
Moderator
2011.01.01 11:11
СПС, сейчас # <utf8> ))
#869. Swinger Off (1)
Участник
2011.01.02 15:03
в поле country - записи типа RU, EN, UA и т.д..
делаю запрос к примеру WHERE `country` IN ('RU')
все ок, выводит нужные записи, но если RU заменить на на что-нить другое, всеравно выводит
#870. tipsun Off (19)
Moderator
2011.01.11 20:08
ID vs LOGIN
у меня в, уже 2жды (и после ответа подозреваю будет 3жды), говнодвижке primary key на поле LOGIN, a поля ID вообще нет, плохо ли то, что операции прохотят с использованием поля LOGIN?
Отредактировано tipsun (2011.01.11 22:10)
#871. Gemorroj Off (107)
Administrator
2011.01.11 20:08
не может быть 2 primary ключа. он по определению может быть только 1.
если на login стоит primary и все его отличие от обычного id в типе varchar, то разница особо заметна не будет. хотя int, конечно, всегда будет быстрее varchar
#872. tipsun Off (19)
Moderator
2011.01.11 22:10
Понял. СпС.
#873. tipsun Off (19)
Moderator
2011.01.15 20:08
Вот такой парадокс:
Код:
span style="color: #0000BB"><?php//Столбцы: id и who - int и unsigned$array = $sql->query("SELECT `id`, `who`, `login`, `pw` FROM `users` WHERE `login`='$login' LIMIT 1;")->fetch_assoc();$_SESSION['id'] = $array['id'];$_SESSION['who'] = $array['who'];//Почему тогда?$id = isset($_GET['id']) ? abs((int)$_GET['id']) : 0;if($_SESSION['id'] !== $id and 1 < $_SESSION['who']) { header('Location: /?-=usr'); exit(); }//Работает??>
Я уже нашел выход, но все же почему так, если я везде int указал в базе?

Код:
span style="color: #0000BB"><?php$_SESSION['id'] = (int)$array['id'];$_SESSION['who'] = (int)$array['who'];?>
Отредактировано tipsun (2011.01.15 20:08)
#874. Gemorroj Off (107)
Administrator
2011.01.15 23:11
потому что INT оно только в базе, а при выборке оно всегда string. это же php.
#875. tipsun Off (19)
Moderator
2011.01.15 23:11
СпС. Я думал что снова где-то при переделке ошибку допустил.
Отредактировано tipsun (2011.01.15 23:11)
#876. Gemorroj Off (107)
Administrator
2011.01.16 00:12
зачем ты проверяешь тип переменной? не нужно оно тебе.
#877. tipsun Off (19)
Moderator
2011.01.16 11:11
Я проверяю значение.
who = 1 - админ, 2 - модер, 3 - юзер;
Чтоб получить доспук к изменению своей анкеты надо чтоб авторизация совпадала с ид (который был отправлен формой) либо это был админ
Если оба значения неверны, то выкидывает на главную
Отредактировано tipsun (2011.01.16 11:11)
#878. Gemorroj Off (107)
Administrator
2011.01.16 15:03
проверка значения в твоем случае должна выглядеть как !=, ты же проверяешь не только значение, но и тип переменной, чего в твоем случае делать не нужно.
#879. tipsun Off (19)
Moderator
2011.01.16 16:04
АА. СПС))
А как быть с 1 < $_SESSION['who']
- Тип проверяться не будет?
- нет оказывается smile
Отредактировано tipsun (2011.01.16 17:05)
#880. Swinger Off (1)
Участник
2011.01.17 08:08
Надо легуляркой убрать все пробелы и переносы...
Но кроме текста тот, что в тэгах <pre> ... </pre>
#881. Tinga
Гость
2011.01.25 05:05
Не знаю как реализовать вывод смайлов для просмотра какие есть смайлы.
Для собственно самой функции  смайлов вот так написал:
Код:
span style="color: #0000BB"><?phpfunction smile($mess){ $dir = opendir ("smiles"); while ($file = readdir ($dir)) { if (ereg ("\.gif$", $file)) { $smfile[]=str_replace(".gif","",$file); } } closedir ($dir); rsort($smfile); foreach ($smfile as $smval) { $mess = str_replace (":$smval:", '<img src="smiles/'.$smval.'.gif" alt="'.$smval.'"/ >', $mess); } return $mess;}
#882. Tinga
Гость
2011.01.25 06:06
Ну не вписывается короче код
#883. Gemorroj Off (107)
Administrator
2011.01.25 11:11
код ужасен
#884. Dawapanet
Гость
2011.01.25 17:05
Как вевести с бази посетителей за сутки?
Тип даты в строке 00-00-0000 00:00:00
#885. Dawapanet
Гость
2011.01.25 17:05
Вот ето посетители за сутки так вивожу
<?php
$q = mysql_query("SELECT * FROM
`users` WHERE `timeob` LIKE
'".(date("Y"))."-".(date("m"))."-
".(date ("d"))." %:%:%' ORDER BY
`time` DESC LIMIT $s, 10;");
?>
#886. Gemorroj Off (107)
Administrator
2011.01.25 18:06
фак) на говнокод, срочно)
Код:
$q = mysql_query("
SELECT *
FROM `users`
WHERE `timeob` > DATE_SUB(NOW(), INTERVAL 1 DAY)
ORDER BY `time` DESC
LIMIT $s, 10;
");
#887. Dawapnet
Гость
2011.01.25 18:06
Огромное спасибо.
#888. Tinga
Гость
2011.01.25 22:10
А как можно реализовать вывод фаилов на экран, с обрезаным типом? В моем случае .gif,
тобишь заместо file.gif
писало просто file.
#889. Gemorroj Off (107)
Administrator
2011.01.25 22:10
можно)
#890. Tinga
Гость
2011.01.25 23:11
А как обрезать тип? У меня сейчас просто выводит содержимое.
Код:
span style="color: #0000BB"><?php$dir="smiles";if($OpenDir=opendir($dir)){while(($file=readdir($OpenDir)) !== false)if($file != "." && $file != "..")echo":".$file.":<br>";}closedir ($dir);?>
#891. Dawapnet
Гость
2011.01.25 23:11
Блин етот код виводит посетителей за сегодня. Мне нужна чтоб виводил так с теперешней 2011-01-25 23:50:00 до вчарешней 2011-01-24 23:50:00.
#892. Gemorroj Off (107)
Administrator
2011.01.26 09:09
Tinga написал:
А как обрезать тип?
Код:
span style="color: #0000BB"><?php$dir = 'smiles';if ($OpenDir = opendir($dir)) { while (($file = readdir($OpenDir)) !== false) { if ($file != '.' && $file != '..') { echo ':' . htmlspecialchars(pathinfo($file, PATHINFO_FILENAME), ENT_NOQUOTES) . ':<br/>'; } } closedir ($OpenDir);}
Добавлено спустя   5 минут  52 секунды:
Dawapnet написал:
Блин етот код виводит посетителей за сегодня. Мне нужна чтоб виводил так с теперешней 2011-01-25 23:50:00 до вчарешней 2011-01-24 23:50:00.
проверь еще раз. я менял знак `timeob` > DATE_SUB
#893. Nu3oN Off (11)
Moderator
2011.01.29 20:08
Код:
span style="color: #0000BB"><?phpDB :: $_sql -> query("UPDATE %users% u, %news% n SET u.`antiflood_time` = ?, u.`antiflood_text` = ?, n.`news_comm` = `news_comm` + 1 WHERE u.`id` = ? AND n.`id` = ?; ") -> arr(time(), $strText, $getUser -> getArr('id'), $id);?>
Что не так в запросе?
Я буду лучше голоден, но между креслом и рулем и на дороге.
#894. Gemorroj Off (107)
Administrator
2011.01.29 22:10
может я сильно отстал от жизни, но 2 таблицы одновременно обновлять нельзя.
ну да, полез в мануал. нельзя же. http://dev.mysql.com/doc/refman/5.5/en/update.html
#895. Nu3oN Off (11)
Moderator
2011.01.29 22:10
чувак, ты отстал от жизни)))
http://ru.w3support.net/index.php?db=so&id=546879
---
З.ы ошибка была с таблицей
Я буду лучше голоден, но между креслом и рулем и на дороге.
#896. Gemorroj Off (107)
Administrator
2011.01.30 00:12
перечитал еще раз мануал, да, отстал..)
#897. Nu3oN Off (11)
Moderator
2011.01.30 01:01
Такая глупая идея у меня... х.з реализовывать или нет!
Есть таблица users для чего она объяснять нет смысла...
так вот, она выходит у меня с кучей полей с которыми я уже запутываюсь!
и вот необходимо теперь еще штук 10 добавить со счетчиками типа колличество сообщений, постов, тем и т.д
и задумался я о создании отдельной таблицы для этого! типа:
Код:
id | user_id | total_comm | total_post |total_them | ...
и потом массив кэшировать в файл, и обновлять раз в час например!
Стоит ли это реализовывать? или все же лучше это держать в таблице users?
Я буду лучше голоден, но между креслом и рулем и на дороге.
#898. Gemorroj Off (107)
Administrator
2011.01.30 10:10
ну.. можно держать в отдельной таблице, подгружать ее через INNER JOIN. Кэшировать тоже все можно. По-моему идея здравая.
Всегда же нужно отдавать предпочтение в угоду удобству и поддерживаемости в ущерб производительности.
#899. Profi Off (-1)
Участник
2011.02.01 20:08
привет) помогите плиз) пробую писать подобие парсера, допустим структура папок такая:
папка1/
.папка2/файл1
.папка3/файл1
как сделать так, чтоб каждый раз не прописывать путь к папке, а выкачать папку1 со всем содержимым?
#900. kirill
Гость
2011.02.04 20:08
прошу прощения за тупой вопрос но у меня такая проблема ! к примеру я создал тему для сайта и она лежит по адрессу localhost -> themes/mytheme/ и файлы там style.css header.php footer.php ! мне надо вставить ее к примеру на страницу index.php находящиюся по адрессу localhost->video/films/kino/   делал так через include '/themes/mytheme/header.php'; ....... и выводит ошибку ! много раз проьовал по всякому но ничего у меня не получалось ! подскажите пожалуйста
#901. tipsun Off (19)
Moderator
2011.02.04 21:09
kirill написал:
прошу прощения за тупой вопрос но у меня такая проблема ! к примеру я создал тему для сайта и она лежит по адрессу localhost -> themes/mytheme/ и файлы там style.css header.php footer.php ! мне надо вставить ее к примеру на страницу index.php находящиюся по адрессу localhost->video/films/kino/   делал так через include '/themes/mytheme/header.php'; ....... и выводит ошибку ! много раз проьовал по всякому но ничего у меня не получалось ! подскажите пожалуйста
Ну тут 2 способа:

Код:
span style="color: #0000BB"><?phpinclude $_SERVER['DOCUMENT_ROOT'].'/themes/mytheme/header.php';// ИЛИinclude '../../../themes/mytheme/header.php'; // Относительно video/films/kino/index.php// "../" = на 1 подкаталог вверх (назад)?>
Отредактировано tipsun (2011.02.04 21:09)
#902. LooK Off (1)
Участник
2011.02.07 22:10
Вот если в виде создавать экземпляр класса навигации, то как же тогда сформировать запрос в базу в модели??
#903. TLENS Off (14)
Moderator
2011.02.07 23:11
include 'Z:/home/localhost/themes/mytheme/header.php';
Добавлено спустя   1 минуту  1 секунду:
На сервере /home/td/tp/themes/mytheme/header.php
Добавлено спустя   6 минут  59 секунд:
а вообще это не вариант.
Попробуй так
Код:
span style="color: #0000BB"><?php$dir=$_SERVER['DOCUMENT_ROOT'].'/themes/mytheme/';// Открыть заведомо существующий каталог и начать считывать его содержимоеif (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { print "Файл: $file : тип: " . filetype($dir . $file) . "<br />"; } closedir($dh); }}?>
Добавлено спустя   8 минут :
И посмотри какую папку откроет
Отредактировано TLENS (2011.02.07 23:11)
#904. Gemorroj Off (107)
Administrator
2011.02.08 12:12
лучше пользоваться константами __FILE__ и __DIR__ (начиная с php 5.3)
#905. LooK Off (1)
Участник
2011.02.08 21:09
#902 может у кого есть какие идеи, прост ничего не выходит
#906. Gemorroj Off (107)
Administrator
2011.02.08 21:09
LooK, подробнее, какой фреймворк имеется ввиду?
LooK написал:
как же тогда сформировать запрос в базу в модели
это очень абстрактный вопрос.
#907. LooK Off (1)
Участник
2011.02.08 22:10
Gemorroj, нет это не фреймворк. Вообщем есть два класса модели и вида. В виде создается экземпляр класса навигации и тд, так как же тогда в модели сформировать запрос такого вида "SELECT * FROM `write` GROUP BY `id` DESC LIMIT ".$navig->begin.", ".$navig->pnumber
#908. Gemorroj Off (107)
Administrator
2011.02.08 22:10
из модели у тебя должен быть доступен контроллер, через него и передавай параметры в модель
#909. LooK Off (1)
Участник
2011.02.08 22:10
Gemorroj, а если у меня такая строка $navig->Navigation() выводит сами ссылки навигации, то как мне это дело в шаблон передать?
#910. Gemorroj Off (107)
Administrator
2011.02.08 22:10
блин... что за $navig что за класс, нихрена же не понятно.
#911. LooK Off (1)
Участник
2011.02.08 22:10
Gemorroj, класс навигации
#912. Gemorroj Off (107)
Administrator
2011.02.14 17:05
думаю стоит сделать подзапрс, из приведенного SQL я не могу сказать как он точно будет выглядеть. в какой таблице хранятся комментарии?
#913. LooK Off (1)
Участник
2011.02.14 19:07
Gemorroj, сделал так
SELECT `t1`.id, `t1`.*, `t2`.name AS `c_name`, `t2`.id AS `c_id`, COUNT(`t3`.id) AS `count`
FROM `write` AS `t1` LEFT JOIN `category` AS t2 ON (`t1`.category = `t2`.id)
LEFT JOIN `comment` AS t3 ON (`t1`.id = `t3`.write)
GROUP BY `t1`.id ASC LIMIT
Но выглядит жутко.
А если я вот так результат одного запроса возвращаю, то как правильно возвратить результат нескольких запросов в одном массиве?
$arr = array();
while($q = $res->fetch_array(MYSQLI_ASSOC))
{
$arr[] = $q;
}
Отредактировано LooK (2011.02.14 19:07)
#914. Gemorroj Off (107)
Administrator
2011.02.14 20:08
http://www.php.net/manual/en/mysqli-res … ch-all.php php5.3
#915. LooK Off (1)
Участник
2011.02.14 21:09
Gemorroj, чет все равно не понял, как поступать если несколько запросов (
#916. LooK Off (1)
Участник
2011.02.17 17:05
А не через эту функцию можно? Как нибудь иначе
#917. Gemorroj Off (107)
Administrator
2011.02.17 18:06
собирай в массив, как сейчас.
#918. Dawapanet
Гость
2011.02.22 20:08
Привет. Подскажи как зделать типа голосовую почту в чате, ну чтоб была такая кнопка "записать голосовое сообщение(аmr)" и после записи отправить сообщение
#919. DarkDaNTe Off (11)
Участник
2011.02.22 20:08
Хех, это наверное без флеш-приложений и не сделать
#920. Dawapanet
Гость
2011.02.22 21:09
Нужна записать файл аmр и отправить етот файл пользователю (чтоб прослушать файл его нужна проста скачать на тел.) и ненужна думаю некакова приложения. Главное как записать голос чтоп с бравзера невиходить
#921. Dawapanet
Гость
2011.02.22 21:09
Нужна записать файл аmр и отправить етот файл пользователю (чтоб прослушать файл его нужна проста скачать на тел.) и ненужна думаю некакова приложения. Главное как записать голос чтоп с бравзера невиходить
#922. Gemorroj Off (107)
Administrator
2011.02.23 00:12
Dawapanet, как минимум у пользователя микрофон должен быть. далее, думаю просто то что надиктовал аплоадится как обычный файл.
#923. Dawapanet
Гость
2011.02.23 00:12
Ну ето нужна с бравзера телефона виходить и записивать файл а дальше загружать(так неудобно будет). А как зделать так чтоб ненужна с бравзера виходить а записать и сразу отослать?
#924. TLENS Off (14)
Moderator
2011.02.23 01:01
Я воще не слышал о таком.
Например в вебе это решается через flash а вот как на мобиле я хз
#925. Nu3oN Off (11)
Moderator
2011.02.27 11:11
Вот интересно как правильней:
Код:
span style="color: #0000BB"><?phpif (!myFunction() xor !$myVar) {...}if (myFunction() xor $myVar) {...}
или
Код:
span style="color: #0000BB"><?phpif (myFunction() == false xor $myVar == false) {...}if (myFunction() == true xor $myVar == true) {...}
По мне так удобней второй вариант, т.к я сразу вижу какое условие выполняется!
Я буду лучше голоден, но между креслом и рулем и на дороге.
#926. Gemorroj Off (107)
Administrator
2011.02.27 12:12
по мне удобней 1 вариант, а во 2, как минимум нужно использовать не ==, а ===
#927. Nu3oN Off (11)
Moderator
2011.02.27 12:12
ты же мне в аське говорил обратное, мол лучше == чем ===
Я тебя еще спросил что плохого учитывать тип данных
Я буду лучше голоден, но между креслом и рулем и на дороге.
#928. nord Off (1)
Участник
2011.02.27 13:01
всем привет, у меня есть чат как мне в нем обновлять текст типо как в аське?
#929. TLENS Off (14)
Moderator
2011.02.27 15:03
nordВ смысле обновлять?
Чтобы автоматически при появлении на сервере появлялось и в браузере или c интервалом например 60сек.?
Отредактировано TLENS (2011.02.27 15:03)
#930. Gemorroj Off (107)
Administrator
2011.02.27 17:05
Nu3oN, иногда нужно, иногда нет. в данном случае нужно
#931. nord Off (1)
Участник
2011.02.27 17:05
чтобы как только тебе отправили сообщение  чтобы оно появлялась?
#932. TLENS Off (14)
Moderator
2011.02.27 19:07
nord
Способы общения с сервером
#933. nord Off (1)
Участник
2011.02.28 08:08
спасибо
#934. tipsun Off (19)
Moderator
2011.02.28 22:10
Помогите пожалуйста с функцией:
Код:
span style="color: #0000BB"><?phpfunction online() { GLOBAL $sql; return $sql->query("SELECT COUNT(*) FROM `users`, `guests` WHERE `online`>'".(time() - 240)."'")->fetch_array(); }?>
Мне надо чтоб 1 запросом раздельно можно было получить количество юзеров и гостей - онлайн.

Ну ответ был типа такой:

Код:
span style="color: #0000BB"><?php$online = online();echo 'USERS: '.$online[0].'<br/>GUESTS: '.$online[1];?>
Заранее спасибо, даже просто за внимание smile
Отредактировано tipsun (2011.02.28 22:10)
#935. Gemorroj Off (107)
Administrator
2011.02.28 23:11
Код:
span style="color: #0000BB"><?phpfunction online(){ global $sql; $timeout = time() - 240; $users = $sql->query('SELECT COUNT(1) FROM `users` WHERE `online` > ' . $timeout)->fetch_array(MYSQLI_NUM); $guests = $sql->query('SELECT COUNT(1) FROM `guests` WHERE `online` > ' . $timeout)->fetch_array(MYSQLI_NUM) return array('users' => $users[0], 'guests' => $guests[0]);}
#936. tipsun Off (19)
Moderator
2011.02.28 23:11
1 запросом никак не вытащить раздельно данные?
Что быстрее COUNT(*) OR COUNT(1) ?
Отредактировано tipsun (2011.02.28 23:11)
#937. Gemorroj Off (107)
Administrator
2011.02.28 23:11
подзапросом можно. забей.
#938. tipsun Off (19)
Moderator
2011.02.28 23:11
Ладно, спасибо.
#939. tipsun Off (19)
Moderator
2011.03.05 22:10
Ошибка или же нет если в функции 2 или больше return ??
#940. Gemorroj Off (107)
Administrator
2011.03.05 22:10
все ок
#941. tipsun Off (19)
Moderator
2011.03.05 22:10
СПС))
#942. kirill Off (1)
Участник
2011.03.11 14:02
день добрый ! я чет тут сижу и и меня не получается склеить флеш плеер с пхп !
я как только и не делал , какие функции и не писал ! смысл получается в том что мне надо чтобы из прочитанной директории сслылка файла была добывленна в эту ф-ию <script type="text/javascript">
        AudioPlayer.embed
        (
            "audioplayer_1",
            {
                soundFile: "СДЕСЬ АДРЕСС ССЫЛКИ",
                titles: "СДЕСЬ НАЗВАНИЕ ФАЙЛА",
помогите кто сможет пожалуйста
#943. Gemorroj Off (107)
Administrator
2011.03.11 15:03
и? напиши там адрес ссылки и название файла)
#944. kirill Off (1)
Участник
2011.03.11 15:03
Gemorroj написал:
и? напиши там адрес ссылки и название файла)
смысл то в чем получается ! я просто пишу з.ц. для себя , и просто не вариант на каждый файл писать адресс ссылки
big_smile
#945. kirill Off (1)
Участник
2011.03.11 21:09
все спасибо не надо уже ! я уже сам вкурил :-)
#946. tipsun Off (19)
Moderator
2011.03.13 20:08
Код:
SELECT COUNT(DISTINCT)
FROM messages
WHERE to='$id' or from='$id';
Как посчитать количество записей, исключая одинаковые, иначе? Этот способ чет не работает sad
Отредактировано tipsun (2011.03.13 20:08)
#947. Gemorroj Off (107)
Administrator
2011.03.13 22:10
не работает потому что написан не верно.
Код:
SELECT DISTINCT COUNT(1)
FROM messages
WHERE to = '$id' OR from = '$id';
#948. tipsun Off (19)
Moderator
2011.03.13 23:11
СПС.
Отредактировано tipsun (2011.03.14 01:01)
#949. tipsun Off (19)
Moderator
2011.03.14 17:05
от_кого | кому
.... х .........|... у
.... у .........|... х

Можно ли исключить 1 вариант при существовании 2х сразу, муслулами. Но чтоб если нет 1 из них то это бы не помешало?
Пыхом сделал, там через массив...
- Это для, как бы, открытых диалогов. Если ты или тебе написали сообщение, то у тебя отображается отправитель и у отправителя отображаешься ты
Отредактировано tipsun (2011.03.14 17:05)
#950. Gemorroj Off (107)
Administrator
2011.03.14 17:05
нуу...
Код:
SELECT * FROM table WHERE `from` = $id OR `to` = $id
#951. tipsun Off (19)
Moderator
2011.03.14 17:05
Не. Это пробовал. При ответе на сообщение появляются 2 диалога в списке.

Пыхом я так и сделал, такой запрос, потом сливаю всё в массив заменяя от_кого=моему_ид на кому
и если даже я ответил на сообщение, то $chats = array_unique($chats); нормализует smile
как в одноклассниках типа получилось.
При переходе открывается переписка.
Думал если мускулами можно, то надо бы меньше пыхтеть.
Отредактировано tipsun (2011.03.14 17:05)
#952. Gemorroj Off (107)
Administrator
2011.03.14 18:06
я ничерта не понял про 2 списка.
#953. tipsun Off (19)
Moderator
2011.03.14 18:06
Код:
span style="color: #0000BB"><?php$id = $_SESSION['id'];$q = $sql->query("SELECT DISTINCT from, toFROM messagesWHERE from='$id' or to='$id';");if($q->num_rows){ while($arr = $q->fetch_assoc()) { $dialog[] = $arr['from'] == $id ? $arr['to'] : $arr['from']; } $dialog = array_unique($dialog);}/*from | to | save1 /. Х | У .| Х ...\. Х | У .| У2 / У .| Х .| Х...\. У .| Х .| У1, 2 - сообщение для каждого,если он захочет очистить всё илиудалить сообщение из диалога*/?>
Отредактировано tipsun (2011.03.15 22:10)
#954. Gemorroj Off (107)
Administrator
2011.03.14 19:07
Вместо DISTINCT лучше используй GROUP BY
#955. tipsun Off (19)
Moderator
2011.03.14 19:07
СПС. Сейчас попробую...
- - - - -
Чет пока не понял как она работает.
Сделал на пофиг:
Код:
GROUP BY from, to
ORDER BY id
DESC;
Отредактировано tipsun (2011.03.14 19:07)
#956. fokus
Гость
2011.03.14 20:08
http://wapinet.ru/icq/registration_icq.php не работает пишет
Ошибка!
Проверте правильность данных и попробуйте еще раз


и так много раз в чем косяк ?
#957. Gemorroj Off (107)
Administrator
2011.03.14 23:11
fokus, спс
#958. tipsun Off (19)
Moderator
2011.03.15 22:10
tipsun написал:
Код:
span style="color: #0000BB"><?php$id = $_SESSION['id'];$q = $sql->query("SELECT DISTINCT from, toFROM messagesWHERE from='$id' or to='$id';");if($q->num_rows){ while($arr = $q->fetch_assoc()) { $dialog[] = $arr['from'] == $id ? $arr['to'] : $arr['from']; } $dialog = array_unique($dialog);}/*from | to | save1 /. Х | У .| Х ...\. Х | У .| У2 / У .| Х .| Х...\. У .| Х .| У1, 2 - сообщение для каждого,если он захочет очистить всё илиудалить сообщение из диалога*/?>
----
Код:
span style="color: #0000BB"><?php$id = $_SESSION['id'];$q = $sql->query("SELECT from, toFROM messagesWHERE from='$id' or to='$id'GROUP BY from, toORDER BY from;");if($q->num_rows){ while($arr = $q->fetch_assoc()) { $dialog[$arr['from'] == $id ? $arr['to'] : $arr['from']] = null; } $dialog = array_keys($dialog);}?>
Стыдно за предыдущий код, аайй....
- - - -
В этот раз выдает упорядоченный, без копий, список ИД тех, с кем переписывался, так сказать...

Код:
Array
(
[0] => 2
[1] => 7
[2] => 14
[n] => m
)
Отредактировано tipsun (2011.03.15 22:10)
#959. Nu3oN Off (11)
Moderator
2011.03.18 21:09
гемор, выстави в вап версии margin от левого края пунткта так на 3 хотя бы в подсветке кода
Я буду лучше голоден, но между креслом и рулем и на дороге.
#960. Gemorroj Off (107)
Administrator
2011.03.21 13:01
почитай что такое cron
#961. Gemorroj Off (107)
Administrator
2011.03.22 16:04
POFIGISST, так я вообще не понимаю в чем дело? SQL запрос с удалением составить? Сделать cron задание?
tipsun, это ужасно. LIKE для работы с датами - это верх некомпетентности.
Код:
SELECT COUNT(1)
FROM `messages`
WHERE `user_id` = '$user_id'
AND DATE(`date`) = CURDATE()
#962. tipsun Off (19)
Moderator
2011.03.22 16:04
Стыдно мне, стыдно... sad
Внизу написано, что я из себя представляю.
VVVVV
Отредактировано tipsun (2011.03.22 16:04)
#963. Gemorroj Off (107)
Administrator
2011.03.22 17:05
делай 11 запросов.
#964. tipsun Off (19)
Moderator
2011.03.22 17:05
11 так 11...
Код:
span style="color: #0000BB"><?php//Тут оставил свой говнокод БЫДЛОкодер: TiPsun//$_i = 11;$_t0day = 0;$_uid = abs((int) $_GET['uid']);$_today = $_SERVER['REQUEST_TIME'] - 86400;while(0 < $_i) { $_t0day += mysql_result(mysql_query("SELECT COUNT(*) FROM `chat$_i` WHERE aid='$_uid' AND `seconds`>'$_today';"), 0); $_i -= 1; }//Тут оставил свой говнокод БЫДЛОкодер: TiPsun//?>
Отредактировано tipsun (2011.03.23 09:09)
#965. POFIGISST Off (6)
Участник
2011.03.23 10:10
tipsun Спасибо те,все работает,и обнуляет ночью wink
#966. POFIGISST Off (6)
Участник
2011.03.23 13:01
Возник у меня еще один вопрос)) у меня в чате один чел делал подарки,ник его писать не буду,так как это не столь важно)) Но он сделал,что юзеру можно подарить тголько 1 подарок,он заносится в базу,и вывод идет уже из базы,а я хочу чтоб в базу заносились все подарки,но для каждого подарка (250шт.) создавать отдельное поле в базе это ИМХО,поэтому возник вопрос как сделать в базе,чтоб в одно поле заносились все подарки?)))
#967. Gemorroj Off (107)
Administrator
2011.03.23 13:01
это связь многие ко многим (пользователи к подаркам). стандартная схема - таблица пользователей, таблица подарков, таблица связей пользователей и подарков.
#968. POFIGISST Off (6)
Участник
2011.03.23 13:01
Сейчас прикреплю страничку которая отвечает за подарки)) а то я полный лох в этом((
Добавлено спустя   4 минуты  33 секунды:
Эт страницы,отвечающие за подарки))
Вложения
11211.zip 5kb [загрузок: 440]
Отредактировано POFIGISST (2011.03.23 13:01)
#969. Gemorroj Off (107)
Administrator
2011.03.23 20:08
ага, все бросились переписывать тебе что-то..) задавай вопросы по программингу, а не проси делать что-то за тебя
#970. POFIGISST Off (6)
Участник
2011.03.23 20:08
а я не просил переделать,я спросил только как это сделать)
#971. tipsun Off (19)
Moderator
2011.03.24 19:07
Что лучше: MySQL, MySQLi, PDO?
На MySQL и MySQLi простецкие алгоритмы смогу составить...
PDO вообще не знаю...

И хорош ли http://code-igniter.ru/?
Отредактировано tipsun (2011.03.24 19:07)
#972. Akdmeh Off (9)
Участник
2011.03.24 22:10
Говорят, PDO помогает не зависеть от базы данных.
Лично я понял, что не скоро откажусь от mysqli, поэтому на ПДО переходить не буду.
Хотя можешь перейти)
Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink
#973. tipsun Off (19)
Moderator
2011.03.25 00:12
MySQLi удобно. Сам пользуюсь.
Но в страшном PDO есть свои + я чуть просмотрел доки))
- - - -
Мда, PDO - супер вэСЧЬ. То что на MySQLi надо самому придумывать там уже заложено.
Отредактировано tipsun (2011.03.25 08:08)
#974. Gemorroj Off (107)
Administrator
2011.03.25 08:08
что в PDO страшного? не страшнее php_mysql.
CodeIgniter, не смотря на выход 2 версии, безнадежно устарел. Есть куча более интересных фреймворков.
#975. tipsun Off (19)
Moderator
2011.03.25 09:09
Gemorroj написал:
что в PDO страшного?
код smile
#976. POFIGISST Off (6)
Участник
2011.03.26 15:03
У мя такая шняга в скрипте,перехожу на страницу реги,а там "Can not open new session file." Не удалось открыть новую сессию,хотя на денвере ставил,все норм был((а на хосте такая фигня((( как её можно исправить?)
#977. Gemorroj Off (107)
Administrator
2011.03.26 17:05
указать директорию с правами на запись для сессий. а администрации сервера надавать по рукам
#978. POFIGISST Off (6)
Участник
2011.03.26 17:05
Ну если первое можно сделать,то администрации сервера я не как не смогу надавать по рукам)))Спс)))
#979. tipsun Off (19)
Moderator
2011.03.27 18:06
PDO рулит. Gemorroj, спс.
Отредактировано tipsun (2011.03.27 18:06)
#980. Gemorroj Off (107)
Administrator
2011.03.27 18:06
бредовые тесты, и так ведь ясно было что PDO быстрее, т.к. это нативный php модуль. Написан, на C/C++, а сравниваемые решения на PHP.
Да не в скорости совсем дело. Скорость успеет 100 раз потеряться на плохой архитектуре.
#981. iceman12 Off (1)
Участник
2011.03.30 22:10
Всегда использую PDO. Сейчас перешел на xPDO... Это конечно зверь...
#982. Gemorroj Off (107)
Administrator
2011.03.30 22:10
iceman12, чем оно лучше Doctrine или Propel?
#983. iceman12 Off (1)
Участник
2011.03.31 10:10
Gemorroj написал:
iceman12, чем оно лучше Doctrine или Propel?
Эти ORM никогда не приходилось использовать. А хPDO зверь по-сравнению с чистым PDO, я имел ввидуsmile

Вот вопросец. Как вы реализуете настройки в ваших приложениях? Т.е. какая-то определенная функция, например, set(key), куда передается ключ, и она возвращает true либо false[или какие-то другие значения, в зависимости от типа данных].
Или как-то иначе?
Отредактировано iceman12 (2011.03.31 10:10)
#984. Gemorroj Off (107)
Administrator
2011.03.31 12:12
настройки... как правило - это что-то не изменяемое, т.е. никаких set нету..
если имелись ввиду какие-то пользовательские настройки, то обычная работа с БД
#985. iceman12 Off (1)
Участник
2011.03.31 12:12
Gemorroj написал:
настройки... как правило - это что-то не изменяемое, т.е. никаких set нету..
если имелись ввиду какие-то пользовательские настройки, то обычная работа с БД
Ну, а, к примеру, количество объектов для пагинации на страницу(указываемое из Админки)? Или ВКЛ/ВЫКЛ Регистрации? И т.д.
То, что работа с БД - понятно, а как используете в скрипте? Просто через массив?
#986. Gemorroj Off (107)
Administrator
2011.03.31 14:02
тут много факторов на архитектуру могут влиять. зависит от ситуации.
иногда - это объект, иногда массив.
больше делаю массивами.
#987. ERRTT
Гость
2011.04.02 23:11
Подскажите пожалуйта как можно организовать систему мультизагрузки файлов в обменник (с русскими именами файлов).
Допустим есть файл Картинка.jpg а сохранялась как kartinka.jpg на сервере. Использую класс fileupload-class.php, но там если названия файла ььь.jpg то получим файл с названием .jpg Что делать?
#988. Gemorroj Off (107)
Administrator
2011.04.03 00:12
прикрутить транслит
#989. POFIGISST Off (6)
Участник
2011.04.06 12:12
Тряма всем)))У меня такой вопрос,поставил се на сайт скрипт соцки, phpbb переделанный в соцку)) При установке там должна была быть папка install но её не оказалось,ну вродь так нашел где прописывать базу и пользователя,после того как прописал сделал себя админом через базу))Но вопрос такой,там на главной,стоят ссылки " Форум" "Блоги " и т.д. все работает норм,кроме ссылки на " Фотогалерея" адрес идет там такой http://vcemu.ru/album.php?action=personal_index и я незнаю как исправить,чтоб был мой адрес,откуда там идет  include я х\з ((( http://вапсеть.рф это адрес самой соцки))Помогите плиз(((( Выкладываю index.php )))))))
Вложения
index.zip 4kb [загрузок: 483]
Отредактировано POFIGISST (2011.04.06 12:12)
#990. Gemorroj Off (107)
Administrator
2011.04.06 13:01
по проекту найди текст vcemu.ru и замени на $_SERVER['HTTP_HOST']
#991. POFIGISST Off (6)
Участник
2011.04.06 14:02
Gemorroj спс,ща буду phpDesigner"ом  юзать файлы))
#992. POFIGISST Off (6)
Участник
2011.04.06 21:09
какая тут ошибка в 4 строке кода?

Код:
span style="color: #0000BB"><?php$url = "http://pic.sever.ru/dc3.php?dir=pic/128x128/3D_grafika/2008_Aprelq"; $images = array(); preg_match_all('/(img|src)=("|')[^"'>]+/i', $data, $media); unset($data); $data=preg_replace('/(img|src)("|'|="|=')(.*)/i',"$3" ,$media[0]); foreach($data as $url) { $info = pathinfo($url); if (isset($info['extension'])) { if (($info['extension'] == 'jpg') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'gif') || ($info['extension'] == 'png)) array_push($images, $url); } }?>
#993. DarkDaNTe Off (11)
Участник
2011.04.06 21:09
одинарная кавычка посередине
Добавлено спустя   9 минут  14 секунд:
и ошибки еще выскакивать будут
#994. POFIGISST Off (6)
Участник
2011.04.07 04:04
Эту ошибку исправил,еще показывает что там ошибка(((((
#995. Syngularity
Гость
2011.04.08 00:12
Хочу сделать сайт типа waplib.net
какой скрипт лучше использовать?
Может есть какие библы по работе fb2 ? А может быть есть веб библиотека с нужным функционалом?
#996. Gemorroj Off (107)
Administrator
2011.04.08 08:08
POFIGISST написал:
Эту ошибку исправил,еще показывает что там ошибка(((((
нефиг пользоваться всякими говнофтп. явно видно что отсутствуют обратные слеши.
Добавлено спустя   4 минуты  38 секунд:
Syngularity, сходу находится в гугле http://conferdigit.ru/page/model-dlja-p … fb2-na-php. а вообще, если это xml формат, то проблем с парсером быть не должно.
#997. POFIGISST Off (6)
Участник
2011.04.08 15:03
Gemorroj написал:
POFIGISST написал:
Эту ошибку исправил,еще показывает что там ошибка(((((
нефиг пользоваться всякими говнофтп. явно видно что отсутствуют обратные слеши.
Добавлено спустя   4 минуты  38 секунд:
Syngularity, сходу находится в гугле http://conferdigit.ru/page/model-dlja-p … fb2-na-php. а вообще, если это xml формат, то проблем с парсером быть не должно.
Я не пользовался говнофтп,я редко использую фтп,и только 2 пользуюсь,на твоем сайте,и еще на одном))Этот код парсера я посмотрел на 4масе,всунул его в phpdesingner(о ктором кстати тож от тебя узнал,спс за это) а там показало что ошибка,я в пыхе лох,поэтому незнал что там за ошибка(((
#998. Gemorroj Off (107)
Administrator
2011.04.08 15:03
Код:
span style="color: #0000BB"><?php$url = 'http://pic.sever.ru/dc3.php?dir=pic/128x128/3D_grafika/2008_Aprelq';$images = array();preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $data, $media);unset($data);$data = preg_replace('/(img|src)("|\'|="|=\')(.*)/i', '$3', $media[0]);foreach ($data as $url) { $info = pathinfo($url, PATHINFO_EXTENSION); if ($info == 'jpg' || $info == 'jpeg' || $info == 'gif' || $info == 'png') { array_push($images, $url); }}?>
#999. POFIGISST Off (6)
Участник
2011.04.08 15:03
Gemorroj Спасибо за помощь,сейчас буду искать различия,а потом буду стараться почему именно так сделано ))
#1000. POFIGISST Off (6)
Участник
2011.04.08 17:05
Такой вопрос возник по мускул,как что нужно выставить в базе,чтоб в поле заносилось не одно название файла))Например,подарки в чате,в базу заносится только название 1 подарка,например 112.jpg ,а я хочу чтоб заносилось например штук 30,и чтоб они выводились если в базе поле не пустое,например если в базе 10 подарков у юзера,то чтоб они все выводились)
#1001. Gemorroj Off (107)
Administrator
2011.04.08 18:06
создаешь таблицу куда заносишь подарки и ID пользователей.
#1002. Nu3oN Off (11)
Moderator
2011.04.08 22:10
гуманно ли такое решение?
В общем суть функции в том, что когда в цикле выводятся сообщения, и нужно получать информацию о юзере!

Код:
span style="color: #0000BB"><?phpfunction user_info($id){ global $getFunction; static $stat = array(); if (!empty($stat[$id])) return $stat[$id]; $set = $return = array(); if ($getFunction -> cacheArray('users_info', 7200) -> life() < time()) { $getUsers = DB :: $dbh -> query("SELECT `user_id`, `user_login`, `user_level`, `user_points`, `user_click` FROM %users%;"); while ($row = $getUsers -> fetch()) { $set['login'] = $row['user_login']; if ($row['user_level'] == 50) { $set['level'] = 'Управляющий'; } else if ($row['user_level'] == 100) { $set['level'] = 'Помощник'; } else if ($row['user_level'] == 200) { $set['level'] = 'Зам.Босса'; } else if ($row['user_level'] == 300) { $set['level'] = 'Босс'; } else { $set['level'] = 'Местный'; } $set['point'] = $row['user_points']; if ($row['user_click'] > time() - 120) { $set['click'] = 'Онлайн'; } else { $set['click'] = 'Оффлайн'; } $result[$row['user_id']] = $set; } $getFunction -> cacheArray('users_info', $result) -> set(); } else { $result = $getFunction -> cacheArray('users_info') -> get(); } if (!empty($result[$id])) { $return = $result[$id]; } return $stat[$id] = $return;}
Я буду лучше голоден, но между креслом и рулем и на дороге.
#1003. Gemorroj Off (107)
Administrator
2011.04.08 22:10
в смысле сама функция user_info выполняется в цикле?
есть же кеширование, как я вижу, норм значит)
еще совет, замени везде time() на $_SERVER['REQUEST_TIME'] либо вынеси в константу и юзай ее...
#1004. Nu3oN Off (11)
Moderator
2011.04.08 23:11
Gemorroj написал:
в смысле сама функция user_info выполняется в цикле?
есть же кеширование, как я вижу, норм значит)
еще совет, замени везде time() на $_SERVER['REQUEST_TIME'] либо вынеси в константу и юзай ее...
да, это в цикле все происходит! Заменил) я че то даже как то не задумывался о этом))
Я буду лучше голоден, но между креслом и рулем и на дороге.
#1005. Gemorroj Off (107)
Administrator
2011.04.08 23:11
а что такое 7200 ? время жизни кэша? вынеси это в настройки какие-нить, заманаешься потом с такими захардкожеными значениями.
#1006. Nu3oN Off (11)
Moderator
2011.04.08 23:11
Gemorroj написал:
а что такое 7200 ? время жизни кэша? вынеси это в настройки какие-нить, заманаешься потом с такими захардкожеными значениями.
ну так оно и планируется, просто на время отладки пишу так
Я буду лучше голоден, но между креслом и рулем и на дороге.
#1007. tipsun Off (19)
Moderator
2011.04.08 23:11
Функция мега продуманно написана. smile
Возьму на заметку.
- - - -
time() - реальное время.
$_SERVER['REQUEST_TIME'] - время клика.
--
Если ставить $_SERVER['REQUEST_TIME'], то смело из цикла всё махинации с лимитом тунеянства (-120), наверно что-ли...
Отредактировано tipsun (2011.04.09 00:12)
#1008. Gemorroj Off (107)
Administrator
2011.04.09 08:08
tipsun, поскольку скрипт, как правило работает менее секунды, то time() и $_SERVER['REQUEST_TIME'] отличаться не будут. и в любом случае, нам достаточно $_SERVER['REQUEST_TIME'].
#1009. Syngularity
Гость
2011.04.09 10:10
#996 скопируйте пожалуйста в .txt
#1010. tipsun Off (19)
Moderator
2011.04.09 10:10
TxT #996 utf-8
Вложения
new_file.txt 639b [загрузок: 627]
#1011. Syngularity
Гость
2011.04.09 12:12
Я имел ввиду скопировать код с ссылки которую дал Gemorroj в 996 посту, а не сам пост
http://conferdigit.ru/page/model-dlja-parsinga-fb2-na-php
#1012. tipsun Off (19)
Moderator
2011.04.09 12:12
Syngularity написал:
#996 скопируйте пожалуйста в .txt
Как написал, так и понял.
Я лично тут про ссылку ничего не вижу. smile
Отредактировано tipsun (2011.04.09 13:01)
#1013. Syngularity Off (0)
Участник
2011.04.09 12:12
tipsun, и зачем мне файл со ссылкой?
Второй раз я однозначно написал что надо скопировать, и если бы я мог скопировать, так бы и не просил
#1014. tipsun Off (19)
Moderator
2011.04.09 13:01
Виноват. Вот код с ссылки.
Вложения
code.txt 6kb [загрузок: 721]
Отредактировано tipsun (2011.04.09 13:01)
#1015. POFIGISST Off (6)
Участник
2011.04.09 14:02
Gemorroj написал:
создаешь таблицу куда заносишь подарки и ID пользователей.
У меня создано поле для подарка в базе,но туда только 1 подарок заносится,а делать в базе 300 полей для каждого подарка отдельное поле,то эт не вариант))
Вложения
Untitledуу.png 53kb {705x628} [загрузок: 745]
#1016. Gemorroj Off (107)
Administrator
2011.04.09 14:02
таблицу отдельную делай, а не поле.
#1017. POFIGISST Off (6)
Участник
2011.04.09 14:02
Gemorroj написал:
таблицу отдельную делай, а не поле.
Сейчас сделаю)) Там указать только 2 поля? ид и подарок?)) или еще что-то нужно?))
#1018. tipsun Off (19)
Moderator
2011.04.09 15:03
Код:
--Промежуточная таблица------------------------------------------------------------
| oid | from_user_id | from_user_login | to_user_id | present_id | date |
| 1 | 15 | Kinder | 42 | 1 | 08-12-31 23:59 |
| n | x | name | y | z | -------------- |
-----------------------------------------------------------------------------------
 
--Таблица подарков----------------
| present_id | price | about |
| 1 | 100500 | эпилятор |
| z | 9000 | описание |
----------------------------------
 
Каталог подарков:
<img src="/presents/'.$present_id.'.gif" alt="'.$about.'" title="'.$price.'" />
 
Подарки юзера:
<img src="/presents/'.$present_id.'.gif" alt="Подарок" title="От '.$from_user_login.'" />
Или функцию подключай, которая все данные пользователя достает...
 
Мне осталось только колыбельную спеть... xD
Отредактировано tipsun (2011.04.09 16:04)
#1019. Gemorroj Off (107)
Administrator
2011.04.09 15:03
как минимум еще от кого и кому подарок
#1020. POFIGISST Off (6)
Участник
2011.04.09 16:04
я сделаю 5 полей)) 1=id 2=ot 3=komu 4=text(текст к подарку) 5=data думаю вроде все учел))
#1021. tipsun Off (19)
Moderator
2011.04.09 17:05
POFIGISST, смотри пост #1018.
#1022. tipsun Off (19)
Moderator
2011.04.21 22:10
MemCache by OZ_: http://xwab.ru/forum/topic28301
Отредактировано tipsun (2011.04.21 22:10)
#1023. Gemorroj Off (107)
Administrator
2011.04.21 22:10
я бы не советовал это использовать. поддержи не будет, комментариев нет, стиль кода не PEAR и не Zend
#1024. tipsun Off (19)
Moderator
2011.04.22 19:07
Писал с расчетом на защиту от всякой гадости в $_GET['dir'] в моем зц

Норм?

еще чуть наговнокодил
Код:
span style="color: #0000BB"><?phpfunction url_dir($dir=0) { return str_replace('//', '/', preg_replace(array('/[^a-z0-9\_\-\/]/i', '/\/{3,}/'), array(null, '/'), $dir)); }/*- - До - -В адресной строкеhttp://test.ru/dls/?dir=..///////.../'////Images///Wallpapers/128x128///../Screensavers/%D1%8D%D0%AD%D0%AD%E2%84%'"дп\\\\\%22/240x320>>- - После - -В переменной $dir будет /Images/Wallpapers/128x128/Screensavers/240x320*/?>
Отредактировано tipsun (2011.04.22 23:11)
#1025. Gemorroj Off (107)
Administrator
2011.04.22 20:08
бред, 100 раз уже сказано, что нет функций "и от запора, и от поноса". можно найти 100500 случаев, когда эти функции пытающиеся защитить от всего неприменимы.
#1026. tipsun Off (19)
Moderator
2011.04.22 23:11
Я там еще поговнокодил, вроде от запоропоноса должна помочь.
- - - -
Если нет, то как тогда?
Так:

Код:
span style="color: #0000BB"><?php$dir = empty($_GET['dir']) ? '.' : htmlspecialchars(trim($_GET['dir']), ENT_QUOTES);if(false !== strpos($dir, '..') or false !== strpos($dir, '/.')) { header('Location: ?dir='); //знаю про полный адрес, потом укажу у себя exit(); }?>
Отредактировано tipsun (2011.04.22 23:11)
#1027. Gemorroj Off (107)
Administrator
2011.04.22 23:11
что это вообще такое? предлагаешь это на форуме вставить например, штоля?
#1028. tipsun Off (19)
Moderator
2011.04.23 00:12
tipsun написал:
Писал с расчетом на защиту от всякой гадости в $_GET['dir'] в моем зц

Норм?
Ну при opendir/readdir без всякой защиты могут ведь прописать /. или /../../ и посмотреть папки, которые находятся выше. Я этого хочу избежать.
+
папки со спец символами я всё равно использовать не буду, значит спец символы тоже исключаем из принятых из $_GET['dir'] данных.
А как же файлы, там же точка и расширение. Ну сделаю прямую ссыль на файлы, а на папки как обычно ?dir=/audio/mp3/
Отредактировано tipsun (2011.04.23 08:08)
#1029. Gemorroj Off (107)
Administrator
2011.04.23 08:08
ну так это очень кастомная вещь. htmlspecialchars там не нужен. и strpos($dir, '/.') тоже не понятно зачем
#1030. tipsun Off (19)
Moderator
2011.04.23 08:08
Понял. Спс.
#1031. tipsun Off (19)
Moderator
2011.04.23 12:12
Вот додумался так сделать, по-моему самая простая/примитивная защита.

Код:
span style="color: #0000BB"><?php$dir = (empty($_GET['dir']) or strpos($_GET['dir'], '..')) ? '.' : trim($_GET['dir']);$files = array();if(is_dir('./'.$dir) and $ondir = opendir('./'.$dir)) { while(false !== ($read = readdir($ondir))) { //ляля } //люлю }?>
Отредактировано tipsun (2011.04.23 12:12)
#1032. Gemorroj Off (107)
Administrator
2011.04.23 22:10
ну да вроде, все ок)
#1033. tipsun Off (19)
Moderator
2011.04.24 19:07
Как лучше считать количество эл массива?

Код:
span style="color: #0000BB"><?phpwhile(false !== ($read = readdir($ondir))) { //ляля $count += 1; }//или в конце sizeof($array); ??>
#1034. Gemorroj Off (107)
Administrator
2011.04.24 20:08
конкретно по твоему вопросу - sizeof
по примеру, у тебя считается кол-во файлов/директорий/ссылок в папке. что совсем не массив.
#1035. tipsun Off (19)
Moderator
2011.04.24 20:08
Спс.
#1036. POFIGISST Off (6)
Участник
2011.04.25 11:11
как сделать номера?
вот мой код
Код:
span style="color: #0000BB"><?php//подключение к базе$db = mysql_connect("localhost","ололо","олололо");mysql_select_db ("ололоол",$db);//выбор из базы,сортировка,лимит(сколько юзеров выводить)$result = mysql_query("SELECT * FROM chat_users ORDER BY posts DESC LIMIT 4 ",$db);$myrow = mysql_fetch_array ($result);$glavn = "http://x4atix.ru";//Главная// вывод данныхecho'<div class="hdrs">Топ активных</div>'; echo'<div class="dt">'; do{ printf("Ник: %s - %s<br><br>",$myrow ["nickname"],$myrow ["posts"]); }while ($myrow = mysql_fetch_array ($result));echo'<div class="gb">';echo "<a href=\"$glavn\">Главная</a>"; ?>
у меня выводит вот так как на первой картинке ,а я хочу сделать чтоб под номерами выводило,как на второй картинке )) как такое можно сделать?))
Вложения
112114.png 2kb {201x49} [загрузок: 784]
112112.png 2kb {172x48} [загрузок: 771]
Отредактировано POFIGISST (2011.04.25 11:11)
#1037. Gemorroj Off (107)
Administrator
2011.04.25 11:11
Код:
span style="color: #0000BB"><?php//подключение к базе $db = mysql_connect("localhost", "ололо", "олололо");mysql_select_db("ололоол", $db);$glavn = "http://x4atix.ru";//Главная//выбор из базы,сортировка,лимит(сколько юзеров выводить)$result = mysql_query("SELECT * FROM chat_users ORDER BY posts DESC LIMIT 4 ", $db);// вывод данныхecho '<div class="hdrs">Топ активных</div>'; echo '<div class="dt">'; $i = 0;while ($myrow = mysql_fetch_assoc ($result)) { printf(++$i . ') Ник: %s - %s<br><br>', $myrow['nickname'], $myrow['posts']);}echo '<div class="gb">';echo '<a href="' . $glavn . '">Главная</a>';?>
#1038. POFIGISST Off (6)
Участник
2011.04.25 11:11
Gemorroj спс)))Работает тема)))))
#1039. POFIGISST Off (6)
Участник
2011.04.25 12:12
Блин,теперь оно где то теряет 1 юзера(( самого первого не выводит,то есть ставлю лимит 4,а оно выводит 3,ставлю 5,а выводит 4 ((
#1040. Gemorroj Off (107)
Administrator
2011.04.25 12:12
логика не поменялась в сравнении с оригиналом. возможно, что-то ты не так скопипастил.
#1041. POFIGISST Off (6)
Участник
2011.04.25 12:12
Код:
span style="color: #0000BB"><?php//подключение к базе$db = mysql_connect("localhost","ооо","оооо");mysql_select_db ("000",$db);//выбор из базы,сортировка,лимит(сколько юзеров выводить)$result = mysql_query("SELECT * FROM chat_users ORDER BY posts DESC LIMIT 5 ",$db);$myrow = mysql_fetch_array ($result);$glavn = "http://x4atix.ru";//Главная// вывод данныхecho'<div class="hdrs">Топ активных</div>'; echo'<div class="dt">'; $i = 0;while ($myrow = mysql_fetch_assoc ($result)) { printf(++$i . ') %s - %s<br>', $myrow['nickname'], $myrow['posts']);} echo '<div class="gb">';echo '<a href="' . $glavn . '">Главная</a>';?>
вродь все так)))
#1042. Gemorroj Off (107)
Administrator
2011.04.25 13:01
да вот кАк раз и не так.  скопируйПолностьюИзамениТолькоДанныеДляПодключенияКбд
#1043. POFIGISST Off (6)
Участник
2011.04.25 13:01
Точн чет не так я скопировал((((ща все нормик выводит)))))))
#1044. Nu3oN Off (11)
Moderator
2011.04.30 17:05
Почитал сегодня о такой возможности в php phar...
Собственно решил обернуть в такой "архив" свои классы типа MVC_BaseController, MVC_Router, DB_ClassBase, DB_Statement
что бы не вносить их в отдельные категории... Что думаете?
Я буду лучше голоден, но между креслом и рулем и на дороге.
#1045. Gemorroj Off (107)
Administrator
2011.04.30 18:06
я лично пока смысла не вижу. вообще.
#1046. Nu3oN Off (11)
Moderator
2011.04.30 20:08
SILEX имеет такую фичу, всего один файл на весь фрейм
Я буду лучше голоден, но между креслом и рулем и на дороге.
#1047. Nu3oN Off (11)
Moderator
2011.05.01 00:12
Задумал такой автолоадер, что думаете?
Код:
span style="color: #0000BB"><?php/*** __autoload* * Автоматическая подгрузка классов.** @param string $name Название класса.* @return bool**/function __autoload($name) { // Проверяем подключен ли необходимый класс или нет. if (class_exists($name, false)) { return false; } // Разбиваем название класса по ключу. $arrNameClass = explode('_', $name); $intNameClass = count($arrNameClass) - 1; // Проверяем нужно ли искать класс. if (empty($intNameClass)) { $fileClass = $name; } else { $fileClass = null; for ($i=0; $i<=$intNameClass; ++$i) { if ($i == $intNameClass) $fileClass .= $arrNameClass[$i]; else { $fileClass .= $arrNameClass[$i].'/'; } } } $fileClass = PATH_SYSTEM . 'classes/' . $fileClass . EXPANSION_CLASS; if (! is_file($fileClass)) { trigger_error('No file class: '.$name, E_USER_ERROR); } require_once($fileClass); return true;}
Я буду лучше голоден, но между креслом и рулем и на дороге.
#1048. POFIGISST Off (6)
Участник
2011.05.01 14:02
У мя в phpmyadmin при создании нового поля есть такая тема "Collation" переводит это слово как "Сопоставление" и там идет выбор разных кодировок )) какую кодировку нужно поставить,чтоб там был текст на русском языке,и его нормально выводило?))а то разные кодировки пробовал,а текст все равно выводит квадратиками((или знаками вопроса((
#1049. tipsun Off (19)
Moderator
2011.05.01 14:02
utf8_general_ci - вроде + прописываешь при подключении к бд:

Код:
span style="color: #0000BB"><?phpmysql_set_charset('utf8', $dbnet);?>
#1050. POFIGISST Off (6)
Участник
2011.05.01 14:02
Код:
span style="color: #0000BB"><?php$db = mysql_connect("localhost","ололо","олололо");mysql_select_db ("ололоол",$db)mysql_set_charset('utf8', $db);?>
Эт вот так делать подключение?)))
#1051. tipsun Off (19)
Moderator
2011.05.01 14:02
Да.
#1052. POFIGISST Off (6)
Участник
2011.05.01 14:02
tipsun
спс))))
#1053. Gemorroj Off (107)
Administrator
2011.05.01 16:04
Nu3oN написал:
    // Проверяем подключен ли необходимый класс или нет.
    if (class_exists($name, false)) {
        return false;
    }
то не понял, автолоадер вызывается только тогда, если класс не найден
#1054. POFIGISST Off (6)
Участник
2011.05.02 03:03
Код:
do
{
printf("Название статьи - %s<br>Статья:%s<br>Дата написания:%s<br>Автор:%s<br><br>",$myrow['nazv'],$myrow['stat'],$myrow['data'],$myrow['autor']);
}
while ($myrow = mysql_fetch_assoc($result));
как тут дивы прописать?чтоб они были между маркерами %s ?)))
#1055. Gemorroj Off (107)
Administrator
2011.05.02 08:08
ну напиши дивы между %s
#1056. POFIGISST Off (6)
Участник
2011.05.02 22:10
Блин,я уже и так
Код:
Название статьи - %s<div class="main"><br>Статья:%s......
пробовал ставить дивы,и так
Код:
Название статьи - %s echo '<div class="main">'<br>Статья:%s....
а оно ошибку выдает(((
Отредактировано POFIGISST (2011.05.02 22:10)
#1057. Gemorroj Off (107)
Administrator
2011.05.04 10:10
какую ошибку. не телепаты же.
#1058. POFIGISST Off (6)
Участник
2011.05.04 12:12
Код:
<div class=\"main\">Название статьи: %s </br>%sДата:%s<br.....
так надо было дивы прописывать))сейчас уже все норм работает)))
#1059. Gemorroj Off (107)
Administrator
2011.05.04 12:12
мде.... бери текст в одинарные кавычки и убери обратные слеши. а так же замени </br> на <br />
#1060. POFIGISST Off (6)
Участник
2011.05.04 12:12
Код:
printf("<div class='main'>Название статьи: %s
Вот так?)))
#1061. Gemorroj Off (107)
Administrator
2011.05.04 14:02
printf('<div class="main">Название статьи: %s
#1062. POFIGISST Off (6)
Участник
2011.05.04 14:02
Gemorroj
блин пропустил ту кавычку((
#1063. Wenwap
Гость
2011.05.06 01:01
Здарова. Подскажи как определить бравзер телефона если юзер с оперы?
#1064. TLENS Off (14)
Moderator
2011.05.06 04:04
Wenwap написал:
Но опера передает его в заголовке Usrer-agent
#1065. wenwaps
Гость
2011.05.06 19:07
Неважно где. Как определить модель телефона если человек с оперы?
#1066. tipsun Off (19)
Moderator
2011.05.06 21:09
Код:
span style="color: #0000BB"><?phpecho $_SERVER[HTTP_X_OPERAMINI_PHONE_UA];//или просто:echo '<pre>';print_r($_SERVER);echo '</pre>';//там видно будет, заходи с оперы-мини.?>
Отредактировано tipsun (2011.05.06 21:09)
#1067. Gemorroj Off (107)
Administrator
2011.05.06 22:10
tipsun написал:
$_SERVER[HTTP_X_OPERAMINI_PHONE_UA];
заменить на $_SERVER['HTTP_X_OPERAMINI_PHONE_UA'];
#1068. Владислав1
Гость
2011.05.09 19:07
Всем привет, кто может поправить вот этот полу граб, полу витрину http://upwap.ru/1487462 . Проблема в том что ссылка для скачивания не правильная выдается. Ссылка на скачку должна передаваться через файл load.php, но ссылка идет как на сайте который грабим, из-за скачка не работает sad Пожалуйста помогите.
#1069. POFIGISST Off (6)
Участник
2011.05.10 12:12
Прив народ))такой вопрос возник,как сделать вычет из одного поля в базе определенного кол-во  единиц,и записывало в другое поле тож определенное кол-во единиц?)) например чтобы за монетки можно было покупать рейтинг)) например чтоб снимало за 1% рейтинга 3 монетки))
#1070. Gemorroj Off (107)
Administrator
2011.05.10 12:12
рассказать как вычитание делается чтоли?
#1071. POFIGISST Off (6)
Участник
2011.05.10 12:12
Да))как вычитание,и занос в поле в базе)) должно вычитать при покупке рейтинга монетки из поля "monet" и записывать кол во рейтинга который юзер купил в поле "rejting" )
#1072. LooK Off (1)
Участник
2011.05.12 16:04
ID3v2 found. Be aware that the ID3 tag is currently lost when transcoding.
Can't init outfile 'new.mp3'
Это в логах при выполнении лэйма из proc_open, библа для чтения ид3 поставлена. В чем проблема?
#1073. Gemorroj Off (107)
Administrator
2011.05.12 16:04
хотелось бы видеть код. Can't init outfile 'new.mp3' намекает о том, что нет прав на запись.
#1074. LooK Off (1)
Участник
2011.05.12 23:11
$descriptorspec = array(
0 => array("pipe", "r"),// stdin это канал, из которого потомок будет читать
1 => array("pipe", "w"),// stdout это канал, в который потомок будет записывать
2 => array("file", "/tmp/error-output.txt", "a"), // stderr это файл для записи
);
$process = proc_open("lame -b 128 /var/www/down/files/test.mp3 new.mp3", $descriptorspec, $pipes);
Ну и тд.
Добавлено спустя   2 минуты  33 секунды:
С терминала подобные команды выполняются без проблем
Отредактировано LooK (2011.05.12 23:11)
#1075. Gemorroj Off (107)
Administrator
2011.05.12 23:11
new.mp3 создается вообще? с терминала ты работаешь под другим пользователем.
#1076. LooK Off (1)
Участник
2011.05.13 00:12
Не создается
#1077. Gemorroj Off (107)
Administrator
2011.05.13 10:10
ну знач прав на запись нет.
#1078. LooK Off (1)
Участник
2011.05.13 15:03
Gemorroj написал:
ну знач прав на запись нет.
Так как же их поставить если я на локале?
#1079. Gemorroj Off (107)
Administrator
2011.05.13 16:04
lame -b 128 /var/www/down/files/test.mp3 /var/www/down/files/new.mp3
и папке /var/www/down/files/ дай права 777
#1080. DarkRiDDeR Off (4)
Участник
2011.05.13 16:04
LooK, на локале? Ты же наверно сам устанавливал сервер? Прав нет. Давай операционную систему. И у тебя Apache или что?
#1081. LooK Off (1)
Участник
2011.05.13 20:08
Спс, проблема решена)
#1082. LooK Off (1)
Участник
2011.05.13 21:09
А как лучше создавать превьюшки для мп3 файлов при аплоаде или при переходе по ссылке например "Файл для прослушивания" нарезать?
#1083. Gemorroj Off (107)
Administrator
2011.05.13 23:11
хз как лучше.. я бы при аплоаде делал
#1084. DarkRiDDeR Off (4)
Участник
2011.05.14 12:12
При upload ты сам нарезаешь: откуда и куда; но может пользователю что-то по другому охото. Нагрузка на сервер меньше будет зато. А если делать нарезку на сервере, пользователю удобнее будет, хотя не всегда: ты можешь вырезать лучший кусок из песни, а пользователь неизвестно что; и тут надо думать, как лучше сделать и т.д. К тому же нагрузка на сервер больше. Я бы выбрал upload.
#1085. LooK Off (1)
Участник
2011.05.15 11:11
Ну значит при аплоаде.
А как такое меню ссылок организовать при бесконечной вложенности: категория1/подкат/подподкат/статья1 ? Покажите пожалуйста пример кода, может функцию рекурсивную написать?
#1086. LooK Off (1)
Участник
2011.05.15 17:05
Чет тишина совсем... Мож я вопрос не так сформулировал?
#1087. Gemorroj Off (107)
Administrator
2011.05.16 10:10
как хранятся в бд эти категории?
#1088. DADO Off (1)
Участник
2011.05.16 11:11
Gemorroj приветы. Помоги пожалуйста с запросом.
//Если пользователь не был в чате за показанную время то снять с поста и отнять все //
Правилен ли такой запрос?
$time = time()-604800;
mysql_query ("UPDATE FROM `users` SET level = '3', bal = '0', posts = '0', status = 'Chatter' WHERE time<$time");
#1089. Gemorroj Off (107)
Administrator
2011.05.16 11:11
FROM убери
#1090. DADO Off (1)
Участник
2011.05.16 11:11
Ок. Спосибо.
#1091. LooK Off (1)
Участник
2011.05.16 15:03
Gemorroj написал:
как хранятся в бд эти категории?
`categories`
id | id_cat | name
#1092. Gemorroj Off (107)
Administrator
2011.05.16 16:04
и как определяется какая категория родитель, а какая ребенок?
#1093. LooK Off (1)
Участник
2011.05.16 18:06
Gemorroj написал:
и как определяется какая категория родитель, а какая ребенок?
Не понял вопроса, нужно дополнительное поле?
#1094. Gemorroj Off (107)
Administrator
2011.05.16 18:06
вообще-то да. parent_id или как-то так. иначе как строится иерархия директорий?
#1095. LooK Off (1)
Участник
2011.05.16 19:07
Gemorroj написал:
вообще-то да. parent_id или как-то так. иначе как строится иерархия директорий?
Так у меня же id_cat играет эту роль
#1096. DADO Off (1)
Участник
2011.05.16 19:07
Gemorroj запрос не пашет с временем. Подумал вставить в инфу там есть отличный точный показатель онлайна. Вот сделал такое но эт тож не сработал.
Вложения
new_file.txt 778b [загрузок: 519]
#1097. LooK Off (1)
Участник
2011.05.19 21:09
В чем может быть проблема? При аплоаде файла есть переменная которая содержит имя, которое будет у файла в папке, так вот в папке оно в ужасной кодировке, а в базу оно же записывается норм
#1098. Gemorroj Off (107)
Administrator
2011.05.19 22:10
DADO, что такое $nk? ник чтоли?
LooK, каким образом просматриваешь имя файла? не все клиенты поддерживают отображение имен файлов в utf-8
#1099. LooK Off (1)
Участник
2011.05.19 22:10
$file['name_file'][$i] = pathinfo(mb_strtolower(basename(mb_substr($_FILES['add_file']['name'][$i],0,300))), PATHINFO_FILENAME) . '_' . mt_rand(1, 99) . '.' . $ext;
#1100. Gemorroj Off (107)
Administrator
2011.05.20 10:10
что в $file['name_file'][$i] в итоге? посмотри через var_dump(); в какой кодировке строка.
#1101. LooK Off (1)
Участник
2011.05.20 20:08
Gemorroj написал:
что в $file['name_file'][$i] в итоге? посмотри через var_dump(); в какой кодировке строка.
Проверил, вывело в нормальной кодировке
#1102. POFIGISST Off (6)
Участник
2011.05.21 02:02
у меня идет в foot счетчик,прописан он не из админки,и немогу найти откуда его тянет((( вот код foot
Код:
span style="color: #0000BB"><?phpif ( !defined('IN_PHPBB') ){ die('Hacking attempt');}global $do_gzip_compress;$admin_link = ( $userdata['user_level'] == ADMIN ) ? '<a href="admin/index.' . $phpEx . '?sid=' . $userdata['session_id'] . '">' . $lang['Admin_panel'] . '</a><br /><br />' : '';//niz_all$q="SELECT `id`, `link`, `name`, `time`, `color`, `all_verh`, `all_niz`, `verh`, `niz`, `teg_b` FROM `phpbb_reklama` WHERE all_niz='1'";$res=mysql_query($q);while($row=mysql_fetch_array($res)) {if (empty($row['color'])) {$color = "<a href='http://".$row['link']."'>".$row['name']."</a>";}else{$color = "<a href='http://".$row['link']."'><font color='".$row['color']."'>".$row['name']."</font></a>";}if ($row['teg_b'] == '1'){$niz_all = "<b>".$color."</b><br/>";}else{$niz_all ="".$color."<br/>";}$t=time();if ($row['time'] < $t){mysql_query("DELETE FROM phpbb_reklama WHERE id = '".$row['id']."'");}else{echo "<br/>$niz_all";}}$template->set_filenames(array( 'overall_footer' => ( empty($gen_simple_header) ) ? 'overall_footer.tpl' : 'simple_footer.tpl'));$template->assign_vars(array( 'TRANSLATION_INFO' => (isset($lang['TRANSLATION_INFO'])) ? $lang['TRANSLATION_INFO'] : ((isset($lang['TRANSLATION'])) ? $lang['TRANSLATION'] : ''), 'PROF' => append_sid('http://'.$board_config['sitename'].'/profile'.$userdata['user_id']), 'LIST' => append_sid('http://'.$board_config['sitename'].'/id'.$userdata['user_id']), 'ANKET' => append_sid('http://'.$board_config['sitename'].'/anketa'.$userdata['user_id']), 'BLOGI' => append_sid('http://'.$board_config['sitename'].'/blog'), 'CHAT' => append_sid('http://'.$board_config['sitename'].'/chat'), 'FORUM' => append_sid('http://'.$board_config['sitename'].'/forum'), 'SOO' => append_sid('http://'.$board_config['sitename'].'/soo.php'), 'FOTO' => append_sid('http://'.$board_config['sitename'].'/foto'), 'SHOP' => append_sid('http://'.$board_config['sitename'].'/shop.'.$phpEx), 'ADMIN_LINK' => $admin_link));$template->pparse('overall_footer');$db->sql_close();if ( $do_gzip_compress ){ $gzip_contents = ob_get_contents(); ob_end_clean(); $gzip_size = strlen($gzip_contents); $gzip_crc = crc32($gzip_contents); $gzip_contents = gzcompress($gzip_contents, 9); $gzip_contents = substr($gzip_contents, 0, strlen($gzip_contents) - 4); echo "\x1f\x8b\x08\x00\x00\x00\x00\x00"; echo $gzip_contents; echo pack('V', $gzip_crc); echo pack('V', $gzip_size);}exit;?>
Где тут идет код счетчика? или откуда его инклудит?))
#1103. TLENS Off (14)
Moderator
2011.05.21 03:03
Счетчик чего? посетителей?
Добавлено спустя   1 минуту  10 секунд:
Если их то его здесь нет ищи выше ето последний инклюд
Добавлено спустя   2 минуты  11 секунд:
А что за двиг ротор?
Добавлено спустя   5 минут  27 секунд:
правда 43 строка подозрительная
Добавлено спустя   8 минут  45 секунд:
лан я спать
#1104. POFIGISST Off (6)
Участник
2011.05.21 03:03
счетчик ваплога стоит на всех страницах,а где он прописан я х\з (( двиг,это соцка сделанная из phpBB ))счетчик точно гдет в этой странице заныкан,если её удалить,или переименовать,то он исчезает))) ПРиятных снов)))З.Ы. в 6 утра конец света big_smile так что отсыпайся,вдруг на том свете будет очередь big_smile
Отредактировано POFIGISST (2011.05.21 03:03)
#1105. Gemorroj Off (107)
Administrator
2011.05.21 08:08
LooK, ну а чем файлы смотришь? попробуй гменеджером)
Добавлено спустя   1 минуту  12 секунд:
POFIGISST, ну пройдись по темплейтам, да найди
#1106. DADO Off (1)
Участник
2011.05.21 14:02
Gemorroj $nk эт ид пользователя. infophp?id=$id&amp;ps=$ps&amp;nk=$nk&amp;ref=$ref
просто подумал что включая этот запрос в этом внутри этого онлайна будеть еще проще но по моему не робит такой запрос.
#1107. POFIGISST Off (6)
Участник
2011.05.21 14:02
POFIGISST, ну пройдись по темплейтам, да найди
А это как?)))
#1108. Waperwen
Гость
2011.05.21 15:03
Привет. Подскажи как зделась чтоб в чате можна покупать посты по смс (например: 500 постов 20 рублей и т.д)?
#1109. LooK Off (1)
Участник
2011.05.21 16:04
POFIGISST написал:
POFIGISST, ну пройдись по темплейтам, да найди
А это как?)))
Просто просмотри все шаблоны и найдешь код счетчика
#1110. Windler Off (3)
Участник
2011.05.21 18:06
Waperwen написал:
Привет. Подскажи как зделась чтоб в чате можна покупать посты по смс (например: 500 постов 20 рублей и т.д)?
Тоесть?
-----
Типо отправсь смс для размещения вашего сообщения? гг
<script>alert("Упс!")</script>
#1111. POFIGISST Off (6)
Участник
2011.05.21 20:08
LooK написал:
POFIGISST написал:
POFIGISST, ну пройдись по темплейтам, да найди
А это как?)))
Просто просмотри все шаблоны и найдешь код счетчика
Ты имеешь в виду по всем страницам пройтись поиском?)))
#1112. LooK Off (1)
Участник
2011.05.21 21:09
Почему ид3 теги обрезает, не целиком вытаскивает?
#1113. Gemorroj Off (107)
Administrator
2011.05.22 00:12
LooK, потому что гладиолус. конкретнее давай.
#1114. Windler Off (3)
Участник
2011.05.22 15:03
Gemorroj написал:
LooK, потому что гладиолус. конкретнее давай.
ID3 класс (который читает Тэги из mp3 файла) обрезает тэги на 30 символов, почему?гг
<script>alert("Упс!")</script>
#1115. Gemorroj Off (107)
Administrator
2011.05.22 15:03
что за класс? из PEAR который? IDv2? или IDv1? или PECL модуль?
#1116. LooK Off (1)
Участник
2011.05.22 18:06
Windler написал:
Gemorroj написал:
LooK, потому что гладиолус. конкретнее давай.
ID3 класс (который читает Тэги из mp3 файла) обрезает тэги на 30 символов, почему?гг
Да, именно так
Вложения
id.php 31kb [загрузок: 795]
#1117. Gemorroj Off (107)
Administrator
2011.05.23 11:11
у меня все ок. код давай, которым данные пишешь.
#1118. LooK Off (1)
Участник
2011.05.23 12:12
Gemorroj написал:
у меня все ок. код давай, которым данные пишешь.
$id3=new MP3_Id();
$id3->read($_FILES['add_file']['tmp_name'][$i]);
$id3->study();
echo $id3->getTag('album');
#1119. Gemorroj Off (107)
Administrator
2011.05.23 12:12
где тут запись?
#1120. LooK Off (1)
Участник
2011.05.23 12:12
Gemorroj написал:
где тут запись?
Речь то не о записи, а о том что он выводит их обрезанными
#1121. Gemorroj Off (107)
Administrator
2011.05.23 13:01
ммм.... странно. все mp3? и в какой кодировке теги? там же ограничение на размер вроде есть все-таки. а UTF-8 в кириллице больше в 2 раза занимает места
#1122. LooK Off (1)
Участник
2011.05.25 08:08
Вообщем теги пока ладно.
Как правильно организовать таблицу песен и таблицу имполнителей, если у одной песни может быть несколько исполнителей?
#1123. Gemorroj Off (107)
Administrator
2011.05.25 10:10
таблица песен, таблица исполнителей, таблица связей между таблицами песен и исполнителей.
#1124. LooK Off (1)
Участник
2011.05.25 11:11
Gemorroj написал:
таблица песен, таблица исполнителей, таблица связей между таблицами песен и исполнителей.
Вот как должна выглядеть эта таблица связей?
#1125. Gemorroj Off (107)
Administrator
2011.05.25 11:11
id id_author id_song
#1126. LooK Off (1)
Участник
2011.05.26 22:10
"SELECT t1.id, t1.filename, t1.name, t2.id_author, t2.id_song FROM `files` AS t1 LEFT JOIN `svaz` AS t2 ON(t1.id=t2.id_song AND t2.id_author='$id') ")
Где тут че не так? Выводит не то...
#1127. Gemorroj Off (107)
Administrator
2011.05.26 22:10
нужно получить все песни исполнителя?
Код:
SELECT t2.id,
t2.filename,
t2.name,
t1.id_author,
t1.id_song
FROM `svaz` AS t1
LEFT JOIN `files` AS t2 ON (t2.id = t1.id_song)
WHERE t1.id_author = '$id'
#1128. LooK Off (1)
Участник
2011.05.26 22:10
Да все ок, спс
#1129. LooK Off (1)
Участник
2011.05.26 23:11
Код:
span style="color: #0000BB"><?phpforeach(array('А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ё', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Э', 'Ю', 'Я', '0-9') AS $value) echo '<a href="'.$config['url'].'/letter.php?let='.rawurlencode($value).'">'.$value.'</a> '; echo '<br/>'; foreach(range('A', 'Z') AS $value) echo '<a href="'.$config['url'].'/letter.php?let='.rawurlencode($value).'">'.$value.'</a> ';
А как вывести подобно этому, но только чтоб как на скрине?
Вложения
a-b.png 3kb {144x194} [загрузок: 755]
#1130. TLENS Off (14)
Moderator
2011.05.26 23:11
используй оператор и счетчик
Код:
span style="color: #0000BB"><?phpif($i==7) echo '<br />';
Добавлено спустя   3 минуты  14 секунд:
Или просто в ручную
Код:
span style="color: #0000BB"><?phpecho <<<LINK<a href="?page=name&amp;name=0-9">0-9</a><br><a href="?page=name&amp;name=%D0%90">А</a><a href="?page=name&amp;name=%D0%91">Б</a><a href="?page=name&amp;name=%D0%92">В</a><a href="?page=name&amp;name=%D0%93">Г</a><a href="?page=name&amp;name=%D0%94">Д</a><a href="?page=name&amp;name=%D0%95">Е</a><a href="?page=name&amp;name=%D0%96">Ж</a><a href="?page=name&amp;name=%D0%97">З</a><a href="?page=name&amp;name=%D0%98">И</a><a href="?page=name&amp;name=%D0%9A">К</a><br><a href="?page=name&amp;name=%D0%9B">Л</a><a href="?page=name&amp;name=%D0%9C">М</a><a href="?page=name&amp;name=%D0%9D">Н</a><a href="?page=name&amp;name=%D0%9E">О</a><a href="?page=name&amp;name=%D0%9F">П</a><a href="?page=name&amp;name=%D0%A0">Р</a><a href="?page=name&amp;name=%D0%A1">С</a><a href="?page=name&amp;name=%D0%A2">Т</a><a href="?page=name&amp;name=%D0%A3">У</a><a href="?page=name&amp;name=%D0%A4">Ф</a><br><a href="?page=name&amp;name=%D0%A5">Х</a><a href="?page=name&amp;name=%D0%A6">Ц</a><a href="?page=name&amp;name=%D0%A7">Ч</a><a href="?page=name&amp;name=%D0%A8">Ш</a><a href="?page=name&amp;name=%D0%A9">Щ</a><a href="?page=name&amp;name=%D0%AD">Э</a><a href="?page=name&amp;name=%D0%AE">Ю</a><a href="?page=name&amp;name=%D0%AF">Я</a><a href="?page=name&amp;name=%D0%81">Ё</a><br><a href="?page=name&amp;name=a-z">a-z</a><br><a href="?name=zhanr">Жанры саундтреков</a></br>LINK;
Добавлено спустя   5 минут  13 секунд:
Но это я скриптом набрал далее просто подправил и готово
#1131. LooK Off (1)
Участник
2011.05.31 17:05
Как здесь определяются размеры если файлы еще не созданы?
Вложения
razmer.png 2kb {101x109} [загрузок: 767]
#1132. Gemorroj Off (107)
Administrator
2011.05.31 19:07
хм, вероятно, заданы примерные значения на сколько процентов уменьшается файл, если ему понизить битрейт.
#1133. POFIGISST Off (6)
Участник
2011.06.06 14:02
решил поставить фо себе на сайт,выбрал скрипт,на денвере его посмотрел,все оки было,начал ставить на хост,выдает ошибку при заливке базы(( выкладываю скрин с ошибкой((
Добавлено спустя   1 минуту  13 секунд:
как исправить эту ошибку?
Вложения
Бд.png 33kb {1279x501} [загрузок: 686]
#1134. tipsun Off (19)
Moderator
2011.06.06 15:03
Ответ...
Таблица 'категория' уже существует.
- - - -
Почисти базу, если там ничего нужного нет.
Отредактировано tipsun (2011.06.06 15:03)
#1135. POFIGISST Off (6)
Участник
2011.06.06 16:04
Все,базу почистил,теперь нормик залилась))все работает)))
#1136. LooK Off (1)
Участник
2011.06.07 14:02
Вывожу альбом трека так: iconv('windows-1251','UTF-8', $id3->getTag('album', 'Неизвестный'))
Но у многих песн все равно кракозябры. Пробывал сначала определять кодировку из которой изменять, но так вообще альбом выводится перестал.
#1137. POFIGISST Off (6)
Участник
2011.06.07 14:02
из базы берет название трека?
#1138. TLENS Off (14)
Moderator
2011.06.07 15:03
POFIGISST
Не с базы а с треков
#1139. POFIGISST Off (6)
Участник
2011.06.07 15:03
аа,сорри,чуть не так прочитал пост((((
#1140. TLENS Off (14)
Moderator
2011.06.07 15:03
а что ты от этой строчки хочешь? iconv('windows-1251','UTF-8', $id3->getTag('album', 'Неизвестный'))
#1141. LooK Off (1)
Участник
2011.06.07 16:04
Она выводит альбом композиции - ид3 тэг
#1142. TLENS Off (14)
Moderator
2011.06.07 16:04
А зачем ты во второй параметр пинешь неизвестный?
#1143. LooK Off (1)
Участник
2011.06.07 16:04
А это дефолтное значение
#1144. TLENS Off (14)
Moderator
2011.06.07 16:04
попробуй те что иероглифами на другой кодировке показать например в орегинальной на ютф8.
Я ког то работал с ними то не помню что бы перекодирував с вин
Отредактировано TLENS (2011.06.07 16:04)
#1145. LooK Off (1)
Участник
2011.06.07 16:04
не понял тебя... я же их и так в ютф8 вывожу
#1146. TLENS Off (14)
Moderator
2011.06.07 16:04
а это что iconv('windows-1251','UTF-8' убери
#1147. LooK Off (1)
Участник
2011.06.07 16:04
Все, решил вроде проблему, перекодировать стал в теле класса, а то он и дефолтное значение тоже перекодировывал
#1148. TLENS Off (14)
Moderator
2011.06.07 16:04
ну ты просто utf переводил в utf
#1149. LooK Off (1)
Участник
2011.06.07 16:04
ага
#1150. Nu3oN Off (11)
Moderator
2011.06.07 23:11
Есть такой запрос
Код:
span style="color: #0000BB"><?php$getPost = DB :: $dbh -> query("( SELECT * FROM `nu3on_inbox` WHERE `inbox_in` = ? AND `inbox_out` = ? ) UNION ALL ( SELECT * FROM `nu3on_outbox` WHERE `outbox_in` = ? AND `outbox_out` = ? ) ORDER BY `inbox_time` DESC LIMIT ".$start.", ".$config['privatpost']."; ", array($id, $udata['users_id'], $id, $udata['users_id']) );?>
Но по какой то причине иногда сортируются сообщения в неправильном порядке!
грубо говоря 5 пост может оказаться третьим при выводе, а третий четвертым и т.д!
в чем причина не догоняю... пытался сортировать по id, но получается еще хуже
Я буду лучше голоден, но между креслом и рулем и на дороге.
#1151. Gemorroj Off (107)
Administrator
2011.06.08 10:10
так у тебя же там 2 таблицы, а сортировка идет только по полю из одной таблицы
#1152. Nu3oN Off (11)
Moderator
2011.06.08 12:12
так после все поля из nu3on_outbox потом имеют имена таблицы nu3on_inbox
Я буду лучше голоден, но между креслом и рулем и на дороге.
#1153. Gemorroj Off (107)
Administrator
2011.06.08 13:01
не совсем понял, имена колонок в таблицах одинаковые? зачем тогда такая выборка из 2-х таблиц?
#1154. POFIGISST Off (6)
Участник
2011.06.09 00:12
Вот у меня идет постраничная навигация
Код:
if($all>1){
echo '<div class="iblock">Страницы: ';
$asd = $page - 2;
$asd2 = $page + 3;
if($asd<$all && $asd>0 && $page>3) echo '<a href="index.php?id='.$id.'&amp;page=1">1</a> ... ';
for ($i=$asd; $i<$asd2; $i++) {
if ($i<$all && $i>0) {
if ($i > $pages ) break;
if ($page==$i) {
echo '<strong>['.$i.']</strong> ';
} else {
echo '<a href="index.php?id='.$id.'&amp;page='.$i.'">'.$i.'</a> ';
}
}
}
if($i <= $pages)
{
if($asd2<$all) echo ' ... <a href="index.php?id='.$id.'&amp;page='.$pages.'">'.$pages.'</a>';
}
echo '<br>';
и её выводит примерно так "Страницы: 1 [2] 3 " а как сделать чтобы было просто вот так "Назад | Далее" или если это 1 страница то так "... | Далее"  подскажите пожалуйста)
Отредактировано POFIGISST (2011.06.09 00:12)
#1155. POFIGISST Off (6)
Участник
2011.06.09 00:12
а как можно сделать в сеа,чтоб на главной странице выводило например все папки на 1 странице,например 10,20 папок,все чтоб они шли на 1 странице,а на страницах с выводом файлов чтобы так и оставался лимит вывода файлов который настроен в админке,например чтоб на 1 страницу выводило 10 или 20 файлов,ну как в админке заданно)) потому что если вот эту 
Код:
$onpage = get2ses('onpage');
строку изменить например так
Код:
$onpage = 5;
то и на главной странице зц будет выводить 5 папок(((
Отредактировано POFIGISST (2011.06.09 00:12)
#1156. TLENS Off (14)
Moderator
2011.06.09 00:12
ну на главной поставь 10 в чем проблема?
#1157. POFIGISST Off (6)
Участник
2011.06.09 00:12
ну на главной идет вот такая
Код:
$query = mysql_query('SELECT `id` FROM `files` WHERE `infolder` = "'.$d['path'].'" ORDER BY '.$MODE.' LIMIT '.$start.', '.$onpage);
while ($list_sw = mysql_fetch_row($query)) {
$array_id[] = $list_sw[0];
вытаска файлов,и если я изменяю значение переменной $onpage,или заменяю её на другую переменную,то это влияет на все страницы сайта((а мне нужно чтобы только на главную страницу влияло(((
#1158. TLENS Off (14)
Moderator
2011.06.09 00:12
ну подключи оператора $onpage = (Главная) ? 10 : 5;
#1159. POFIGISST Off (6)
Участник
2011.06.09 00:12
а как его подключить?))там где ты написал (Главная),  писать index ?
#1160. TLENS Off (14)
Moderator
2011.06.09 00:12
$onpage = (($_SERVER['SCRIPT_NAME'] == '/index.php' && empty($_GET['id'])) ? 10 : 5);
#1161. POFIGISST Off (6)
Участник
2011.06.09 01:01
Бля,работает yikes спасибо огромнейшее yikes  wink
#1162. Nu3oN Off (11)
Moderator
2011.06.10 23:11
Gemorroj написал:
не совсем понял, имена колонок в таблицах одинаковые? зачем тогда такая выборка из 2-х таблиц?
ну попробуй, и сам все увидишь))
Я буду лучше голоден, но между креслом и рулем и на дороге.
#1163. Nu3oN Off (11)
Moderator
2011.06.10 23:11
Хрен с ним... решил я сделать так:

Код:
CREATE TABLE `rotorcms`.`nu3on_privat` (
`privat_id` int NOT NULL AUTO_INCREMENT,
`privat_type` enum('in', 'out') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`privat_inbox` varchar(21) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`privat_otbox` varchar(21) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`privat_time` int NOT NULL,
`privat_text` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`privat_read` bool NOT NULL,
PRIMARY KEY (`privat_type`, `privat_inbox`, `privat_otbox`, `privat_id`),
INDEX ( `privat_id` )
)
ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
Я буду лучше голоден, но между креслом и рулем и на дороге.
#1164. Gemorroj Off (107)
Administrator
2011.06.10 23:11
`privat_inbox` varchar(21) - что тут такое хранится интересное на 21 символ?
`privat_read` bool NOT NULL - на сколько я помню, в mysql нет буля, технически там enum подставляется.
#1165. Nu3oN Off (11)
Moderator
2011.06.10 23:11
Gemorroj написал:
`privat_inbox` varchar(21) - что тут такое хранится интересное на 21 символ?
`privat_read` bool NOT NULL - на сколько я помню, в mysql нет буля, технически там enum подставляется.
Ну вообще по принципу идет bool как tinyint в один символ!
а varchar(21) это на роторе логин везде используется вместо id.
Я в прошлый раз пытался обойтись одними id, но это накладно! часто приходится делать запрос к базе что бы по логину узнать id пользователя
Я буду лучше голоден, но между креслом и рулем и на дороге.
#1166. POFIGISST Off (6)
Участник
2011.06.17 22:10
Как вырезать из этого
Код:
span style="color: #0000BB"><?phpini_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;?>
грабба рекламу которая в верху, вот пример ,и заменить фавиконку на свою?))
#1167. DADO Off (1)
Участник
2011.06.19 00:12
Приветы. Одинь вопрос. Если корень станицы хtml и еще филтируется в inc.php то такую ссылку можно вставить?
test.php?ver=wml&amp;id=$id&amp;ps=$ps&amp;ref=$ref\"> или убрать из урла ver=wml?
Посоветуйте пожалуйста.
#1168. POFIGISST Off (6)
Участник
2011.06.19 07:07
а  как это корень страницы хtml ?))корень это если я не ошибаюсь,то это папка а не страница))
#1169. DADO Off (1)
Участник
2011.06.19 07:07
echo "<!DOCTYPE html PUBLIC \"-//WAPFORUM//DTD XHTML Mobile 1.0//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">";
echo "<html xmlns=\"http://www.w3.org/1999/xhtml\">";
echo "<head>";
echo "<title>$url-($num)</title>";
if ($avr==0) echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>";
else echo "<META HTTP-EQUIV=\"Refresh\"  версия xhtml
#1170. POFIGISST Off (6)
Участник
2011.06.19 07:07
ну и в php так же))вот например страница вывода юзеров из базы в чате
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="author" content="" />
 
<title>Неназванный 3</title>
</head>
 
<body>
 
<?php
 
//подключаемся к базе
$db = mysql_connect("localhost","test","123456");
mysql_select_db ("test",$db);
//выбор из базы,сортировка,лимит(сколько юзеров выводить)
 
result = mysql_query("SELECT * FROM stat",$db);
$myrow = mysql_fetch_array($result);
 
echo $myrow ["nazv"];
 
 
?>
 
</body>
</html>
#1171. DADO Off (1)
Участник
2011.06.19 07:07
У мя там Все Комнаты в чате в хhtml верси для цветного шрифта. А все другие страницы в wml версии.
#1172. POFIGISST Off (6)
Участник
2011.06.19 07:07
а че за чат?))какой скрипт?))
#1173. DADO Off (1)
Участник
2011.06.19 07:07
Регион 56. Толь с нуля модлю
#1174. POFIGISST Off (6)
Участник
2011.06.19 08:08
как Паша бы сказал php.su тебе в руки  big_smile
#1175. DADO Off (1)
Участник
2011.06.19 09:09
Гг. Учусь. Еще раз но в странице уже
$ver = trim(addslashes(htmlspecialchars($ver)));
        $ver = check($ver);
поставил так. Норм вродь
Добавлено спустя   8 минут  58 секунд:
POFIGISST ну вот еще как  этот код изменить чтоб user не вылетел из онлайна а то при обнове страницы пользователь выходить из онлайна.  Из за этого чудо юды.В инфе показывает Последный раз был: 15152 дней назад.
А usеr реально находится в чате. Вот
<?
   
mysql_connect($DBhost,$DBuser,$DBpass,$DBname);
$link1 = connect_db();
$link2 = connect_db();
$link3 = connect_db();
$baza = mysql_connect($DBhost,$DBuser,$DBpass,$DBname);
?>
#1176. POFIGISST Off (6)
Участник
2011.06.19 10:10
ну если инфа о том когда юзер был последний раз в чате храниться в базе,то просто вытаскивай её из базы в переменку,и выводи примерно так  echo "Последный раз был: .$твоя переменка." если не ошибаюсь,то так))а если инфа не храниться в базе,то там уже нужно наверно сортировку какую то делать,но я х\з какую(((
#1177. DADO Off (1)
Участник
2011.06.19 10:10
Показ такой:
$onl = $inf["onl"];

if($onl+300>=time()){
echo "<img src=\"css/online.gif\" alt=\"onl\"/> в онлайне<br/>\n";

}
Добавлено спустя   1 минуту  9 секунд:
Я шас с трубы. Не могу показать весь код
#1178. POFIGISST Off (6)
Участник
2011.06.19 10:10
$onl = $inf["onl"]; - это тащит из базы если не ошибаюсь,хотя могу ошибаться,if($onl+300>=time()){ а это если юзера больше 300сек нет в чтае,то показывает что он в оффе))вродь так))
#1179. DADO Off (1)
Участник
2011.06.19 10:10
if($onl+300>=time()){
echo "<img src=\"css/online.gif\" alt=\"onl\"/> в онлайне<br/>\n";

}
else
{
$tkick = time() - $onl;
if($tkick < 60 && $tkick > 0)
{
$vrem = "секунду\n";
}
elseif($tkick < 3600 && $tkick > 60)
{
$new = $tkick;

$tkick = $new/60;
$vrem = "минуты\n";
}
elseif($tkick < 86400 && $tkick > 3600)
{
$new = $tkick;
$tkick = $new/3600;
$vrem = "часа\n";
}
elseif($tkick > 86400)
{
$new = $tkick;
$tkick = $new/86400;
$vrem = "дней\n";
}
$tkick = round($tkick);

echo "<img src=\"css/offline.gif\" alt=\"off\"/>\n";
echo "(Вышел из чата $tkick $vrem назад)<br/>\n";
}
#1180. TLENS Off (14)
Moderator
2011.06.19 10:10
DADO
Это что за крокодил?
#1181. TLENS Off (14)
Moderator
2011.06.19 11:11
Код:
lt;?//--------------------------- Функция перевода секунд в дни -----------------------------//function makestime($string) { $day = floor($string / 86400); $hours = floor(($string / 3600) - $day * 24); $min = floor(($string - $hours * 3600 - $day * 86400) / 60); $sec = $string - ($min * 60 + $hours * 3600 + $day * 86400); return sprintf("%01d дн. %02d:%02d:%02d", $day, $hours, $min, $sec); }echo 'Провел на сайте: '.makestime(15152).'<br />';
Добавлено спустя   1 минуту  38 секунд:
Если тебе так не подойдет. Тогда  используй switch
#1182. DADO Off (1)
Участник
2011.06.19 11:11
Ну эт крокодил африканский. Из bigchata форма показа выпнутого. Изменяя ставил как показатель онлайна. Есть идеи по лучше? Мож есть более точный? Одна голова лучше а две вообше супер
#1183. TLENS Off (14)
Moderator
2011.06.19 11:11
Ну у тебя используются показатель онлайна всего и в секундах так?
#1184. DADO Off (1)
Участник
2011.06.19 11:11
А это с перемменой онлайна будеть работать?
$onl = $inf ["online"];
Добавлено спустя   1 минуту  2 секунды:
Да.
#1185. TLENS Off (14)
Moderator
2011.06.19 11:11
Код:
lt;?function makestime($string) { $day = floor($string / 86400); $hours = floor(($string / 3600) - $day * 24); $min = floor(($string - $hours * 3600 - $day * 86400) / 60); $sec = $string - ($min * 60 + $hours * 3600 + $day * 86400); return sprintf("%01d дн. %02d:%02d:%02d", $day, $hours, $min, $sec); }if($onl+300>=time()){ echo "<img src=\"css/online.gif\" alt=\"onl\"/> в онлайне<br/>\n";} else { echo "<img src=\"css/offline.gif\" alt=\"off\"/>\n"; echo '(Уже нет в чате '.makestime(time() - $onl).')<br/>'."\n";}
Попробуй так
Отредактировано TLENS (2011.06.19 11:11)
#1186. DADO Off (1)
Участник
2011.06.19 11:11
А этот твой код не знаю как прикрепить к инфе пользователя. Он очь нужный мне. Так как думаю онл рейтинг создать. Кто больше времени был в чате. А эт код по моему идеально для таких форм
Добавлено спустя   2 минуты  13 секунд:
Оо. Большое спосибо. Благодарю
Добавлено спустя   4 минуты  20 секунд:
Ок. Спосибо большое. Попробую.
#1187. TLENS Off (14)
Moderator
2011.06.19 11:11
Функция просто переводит секунды в дни часы минуты секунды
#1188. DADO Off (1)
Участник
2011.06.19 11:11
Код отличный то что нужно. Рабочий на все 2000%
+++
#1189. Gemorroj Off (107)
Administrator
2011.06.19 11:11
так, тема разрослась. открываем новую http://wapinet.ru/forum/viewtopic.php?id=1478
Страниц: 1117 118 119 Все
Главная
WEB
PunBB Mod v0.6.2
0.522 s