title
Description
Body
Admin написал:
Постараюсь помочь в данном направлении
Я хочу в чате в анкете сделать вывод постов сказанных за сутки. Допустим Постов:1089(34) в скобках посты за последние сутки. Как это исполнить? Нужно писать таблицу, а я в этом не очень .
приведи пример таблицы, в которой сообщения хранятся.
тут просто надо сделать запрос с условием чтобы время добавления сообщения не было старше заданного времени
что-то вроде такого
|
|
Это если время и сообщения хранятся в одной таблице, если в разных, то так
|
|
Gemorroj, а как закрыть страницу паролем, как в твоих скриптах новостей? Очень надо, а как не пойму помоги пожалуйста.
|
|
это называется BASIC авторизация
довольно хорошая и надежная вещь.
Неактивен
Gemorroj, я создаю страницу pass.php, вставляю в неё этот код, обновляю, а проверки пароля нет, сразу ошибка авторизации. Почему?
|
|
И сразу ошибка авторизации, без проверки пароля.
Очистил кэш, обновил - то же самое. Пробовал в Опере и IE всё одно и то же
я не знаю... версия оперы? только что скопировал это, запустил в опере 9.50 - запросило авторизацию...
|
|
- это запрос авторизации.
http://ru2.php.net/manual/ru/features.http-auth.php вот мануал на русском по поводу Basic авторизации
попробуй оттуда код
|
|
Неактивен
Опера 8.01 тот код тоже не робит. В скрипте news2 авторизация работает. Копирую эту страницу в другую папку - работает, что-то изменяю или переименовываю страницу - перестаёт.
ГГ, хорошо, как разживусь 9 оперой - отпишусь, но твои новости и на этой работают. Есть ещё один вопрос: может помнишь, я писал про форум PunBB, у меня был глюк с авторизацией, побродил по punbb.ru, но без толку. Не подскажешь, что можно сделать?
Такая проблема и с твоей версией, и с punbb.ru может глюк из-за хостинга? т.к. на h2m и на денвере всё нормально работает. А в какой проге переписывать PHP+WML? А то после блокнота WML не робит.
Про редакторы есть отдельная тема. Там я написал чем пользуюсь. PHP Expert Editor вобщет русифицирован, и вообще это отечественная разработка А блокнотом ни в коем случае не пользуйся, это же мазохизм
Добавлено спустя 1 минуту 49 секунд:
а в чем именно проблема с авторизацией? у меня что-то никаких проблем не возникало
Неактивен
http://wapinet.ru/forum/wap/viewtopic.php?id=7 там русский встроен по умолчанию, просто в настройках выбрать надо.
Неактивен
PHP Expert Editor!!! Точно!!! А я и забыл, что у меня такая прога есть (месяц назад систему переустанавливал - теперь бардак жуткий, до сих пор порядка нет), теперь всё получается. А с форумом такое: вводишь логин и пароль, нажимаешь войти - "Успешный вход. Переадресация." потом попадаешь на главную, а там написано "Вы не зашли" после регистрации нового пользователя - тоже самое. Куки включены, реферер передаётся, на денвере робит, на h2m тоже, а на новом хосте - нет, хотя везде форум из одного архива.
Ээ... Такое дело. Библиотека. Как сделать чтобы слова не делились по страницам. fread(файл, 5000 и еще до ближайшего провела); ???
Добавлено спустя 4 минуты 29 секунд:
А соответственно на следующей что бы fseek(файл, указанное количество+до ближайшего пробела, от начала файла);
Неактивен
|
|
вот такая абракадабра
Отредактировано Gemorroj (2008.01.25 11:55)
Неактивен
Какая то муть выходит. Гг. Плохо. Может лучше передавать указатель... Тогда количество страниц не посчитаешь. Гм.
Добавлено спустя 5 минут 14 секунд:
Ща надо глянуть, как дионисий читалку продумал.
Неактивен
Сильно пока не смотрел. Это довольно сложно назвать библиотекой, именно читалка. Потому как в админке надо вводить текст статьи. В этой статье \r\n меняются на [br] и по ним при чтении создается массив. Пока не смотрел как он считает страницы и переносит слова.
Неактивен
А нет. Там полный писец // По [br] только делится статья и заголовок. Затем скрипт берет всю статью и начинает с ней работать.
Добавлено спустя 1 минуту 2 секунды:
А если она будет весить 100 килов... Тормозить не будет? Хм
Неактивен
$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 секунд:
Это наверно может по
Неактивен
Ща скрипт нашел на
tegos.ru // я конечно ниче не понимаю в напряге сервер, но мне кажется что то не то. Собирается из файла строка и с нужного символа по нужный работой скрипта читаем по 1! Символу. Так сделано что бы узнать что наступил конец файла. А если мне надо по 10000 символов выводить?
Отредактировано Helqg (2008.01.27 15:32)
Неактивен
Народ такая проблемка, мне нужно из базы вывевести все данные у которых $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 ;
|
|
Вроде так =)
Отредактировано Gemorroj (2008.01.28 14:38)
Неактивен
Работает Сенкс ))
$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 секунду:
Во так решил оставить. Вроде ниче так осталось сделать красиво, коротко и защищенно.
Добавлено спустя 3 минуты 52 секунды:
Вообщем остальное мелочи... Выбор папки и так далее... Решена главная проблема: при делении слов у меня браузер никак не хотел читать. А опера заходила
Неактивен
|
|
Насколько я понял это должно выглядеть так?
Добавлено спустя 1 минуту 15 секунд:
Пользуйтесь BB кодами!! код выделяется с помощью кода [cоde]код[/cоde]
Неактивен
Там $length+20. Если же кому то нужен перенос слово в слово. То на следующей странице надо сделать строку из первых 20 символов, найти последний провел и использовать его. // а зачем использовать request, понял. Если создавать выбор количества символов. Почему ты пишешь print? Есть разница с echo?
Неактивен
мысль стандартна - UTF-8, 2 байта, следовательно функции должны быть именно для этой кодировки. т.е. не скажем strlen а mb_strlen.
Разница между print и echo есть какая-то, я сам толком не знаю. Но на практике различий в я не замечал. Использование зависит скорее просто от привычки
Отредактировано Gemorroj (2008.01.30 21:15)
Неактивен
вот че гугл говорит. Мнение?
Отредактировано Helqg (2008.01.31 12:13)
Неактивен
да да, очень хороший материал
вот могу привести кусок из своего главного .htaccess
|
|
считаю что то же самое должно быть на всех сайтах
Как видишь php_value mbstring.func_overload 6. т.е. стоит автопреобразование. Хотя все равно всегда стараюсь писать с mb_.
Использовать какие-либо самописные функции для работы с UTF-8 считаю в корне не правильным.
1) Это сильно снизит, так сказать, юзабельность кода, т.е. посторонним людям будет с ним сложнее работать, да и самому.
2) Как говорилось по ссылке, в PHP6 работа с юникодом нормализуется, так что ждем, хотя еще очень долго ждать придется
В PHP6 будут вообще устранены EREG функции, для лучшей совместимости, на будущее, сразу привыкаем к PERL регуляркам.
Отредактировано Gemorroj (2008.01.31 12:40)
Неактивен
Не. Может че хостинг или браузер... Мдя // вопросик: если к mb_ereg передать не в utf8 она нормально проверит? Надо что бы нет.
Добавлено спустя 3 минуты 30 секунд:
А точнее что бы выдал false.
Отредактировано Helqg (2008.01.31 19:23)
Неактивен
что-то я не понял, нужно специально чтобы не правильно проверяло? по умолчанию кодировка для mbstring обычно ставится windows-1251, так что с UTF-8 работать будет не корректно (если есть кирилица)
Неактивен
Ну я так понял все нормально будет. Не пропустит. Надо добивать эту библиотеку. Нет какой нить функции стандартной чтобы узнать количество файлов в папке? Или придется читать ее?
Добавлено спустя 5 минут 51 секунду:
И вот еще что. filesize нормально работает с файлом в юникоде? Вроде бы должен нормально.
Неактивен
Тогда может функцию сляпать. Передавать ей папку. Там если не каталог переменную увеличиваем на одну. Выводим ее. Как то так в теории будет : ). У тебя как? В каждом файле?
Добавлено спустя 1 минуту 16 секунд:
И вообще эту функцию в корень. Пригодится.
Неактивен
Неактивен
Ага. Мне понравилось. Что то об админке навеяло... .dat файлы. // Но есть непонятность. Если я в админке поставлю форму для загрузки файлов, то не получится ли что любой сможет добавить файл откуда угодно? Очень было б неприятно
Неактивен
Итак, вопрос. Как защищен мой каталог? Он вообще защищен? Если кто то создаст подобное у себя он сможет загрузить мне что то функцией copy();? Ну наверно нет. Но хотелось бы наверняка знать
Добавлено спустя 3 минуты 33 секунды:
В правах доступа на каталог ему еще на редактирование ставить?703?
Неактивен
в copy можно писать какой угодно путь, в том числе копировать файлы с других сайтов, если директива allow_url_fopen включена, т.е. On. загрузить не смогут (надеюсь ) тому, что скрипт не станет копировать файл, если пароль не подойдет.
Отредактировано Gemorroj (2008.02.02 12:32)
Неактивен
Да я и думал что нет. Но просто не знал так изначально или че где надо подправить. // ща вот на распутье. Как лучше админку сделать? Один большой файл или на 2 разделить? И нормально будет если будет на доступ проверяться так: if($_GET['enter']!=='очень сложный пароль') exit('не судьба');
Неактивен
Кста, недавно пришлось поработать с XML, вещь. Была мысля комментарии замутить в XML, да как-то все не до того. Советую вобщем поковырять этот XML и если на фалах делать будешь, то с использованием XML
инфа тут: http://php.su/functions/?cat=xml
Неактивен
Gemorroj, привет. Про Basic авторизацию: скопировал твой код в PHP Expert Editor и всё заработало! Опера таже// ты говорил, что в новом форуме нашёл ошибку, не подскажешь где, и как закрыть? И ещё вопрос: решил немного переделать твой скрипт "Инфа о браузере", в где-то видел, что показывает разрешение экрана, кол-во цветов и наличие камеры, не знаешь, с помощью каких функций это сделать? Заранее СПАСИБО!
Серый, теоретически это можно выдрать с помощью JavaScript, но это ОЧЕНЬ не надежно, да и я лично подсказать не смогу. Как правило это просто собирается база с моделями телефонов и их характеристиками. Собственно инфа берется из этой базы.
Ошибка в форуме - письма на емыло отправляются в не верной кодировке. Просто надо убрать все iconv
Насчет XML я же ссылку дал это РАСШИРЯЕМЫЙ язык разметки. Дело в том, что там в УДОБНОЙ форме можно хранить данные. К примеру RSS лента - это обычный XML документ. Так же можно и что-то свое сделать.
Неактивен
Gemorroj, спасибо, всё ясно. Не посчитай за тупость, но где эти iconv и что это такое
В папке include файл email.php функция pun_mail
замени на это:
|
|
Отредактировано Gemorroj (2008.02.05 16:17)
Неактивен
Gemorroj, всё заменил, огромное тебе спасибо
Какую такую? XML это РАСШИРЯЕМЫЙ язык, т.е. из него хоть собственный аналог HTML слепить можно. Но это все же XML для него нужен свой парсер. если выдать в заголовке что это RSS, то будет RSS и откроется в соответствующем приложении. Других распространенных WEB сервисов на XML я не знаю Так же XHTML и WML отвечают (ну должны отвечать) XML правилам.
Неактивен
Ага, самое суровое как раз там, это обязательное соответствие XHTML стандартам XML. И как следствие очень жесткий контроль ошибок. Если в HTML браузер попытается игнорировать ошибку, то в XHTML, W3C консорциум рекомендует производителям браузеров показывать сообщение об ошибке. Это то, что сразу бросается в глаза. Так же, есть сведения, что поисковики (Google) больше ценят страницы на XHTML. Я когда-то сам верил в XHTML и что он спасет мир но меня ждал облом. Блин, скрестили бы как-нибудь WML и HTML.
Неактивен
Усе. Все в xhtml. Все прологи взял твои. Заголовок тоже где то взял: application/xhtml+xml. Наверно верно. // новостную ленту я добил. Надо сделать терь простенький форум на mysql.
Неактивен
еще есть 1 серьезный ньюанс. если смотреть, например, мои скрипты, то там MIME тип отправляется так:
|
|
т.е. если в юзер агенте есть MSIE отправляем MIME тип что это HTML а не XHTML.
Интернет Эксплорер и все что построено на его движке не понимают MIME тип XHTML
Неактивен
Вопросы по форуму. Че хранить в базе,а что в файлах? Юзеров понятно в бд, а посты, темы, разделы. // далее как передавать переменные тем, разделов постов. Может в сессии? У тебя наверно печеньями.
Неактивен
Мдыц. А че в сессии то тащить только ник? А если она не обьявленна, то выкидывать? Таблицы: одна на юзеров, другая название разделов, третья ээ... Как содержимое тем вклинивать? Точнее так: в таблице темы как то делить по разделам? Или не надо. Гм
Неактивен
Просто если через сессии, то нельзя будет ни закладку сделать, ни ссылку на тему например где-нибудь в сети скинуть. В сессиях логин и пароль. А насчет таблиц это уже тебе решать. Просто старайся чтобы данные в базе НЕ ДУБЛИРОВАЛИСЬ.
Мы переехали на новый сервер, бэкап базы немного старый
Насчет сессий, ну чтобы не перехватили сниффером. Хотя с другой стороны, например, в форуме софттайма пароль передается открыто в куках. Сессии нужны для безопасности, т.к. пароль нигде не светится.
Неактивен
Админ, помоги пожалуйста. У меня в чате в комнатах в самом верху ссылка на новости, если они есть. Как сделать, чтоб эта ссылка там висела только, например, в течение пяти дней с момента добавления последней новости? Вот файл.
Ясно, что он нигде не светится. Я вот не пойму зачем его передавать, как его использовать? Проверять на правильность на каждой странице? Ээ. А сессию юзер сможет создать как то, кроме как авторизуясь?
Отредактировано Helqg (2008.02.18 06:23)
Неактивен
Casper, я так понимаю, дата новости записывается именно датой, а не timestamp? Если так, то надо изменить так, чтобы записывался timestamp. А поттом уже работать с news.php, а chat.php я не понял зачем.
Helqg, передавать чтобы пользователю не пришлось каждый раз авторизовываться если он хочет например добавить сообщение. Данные сесси проверяются 1 раз, при ее создании, после передается ИДЕНТИФИКАТОР уже созданной сессии, и данные будут те, которые мы проверили в 1 раз. Почитай о сессиях на PHP.SU
Неактивен
Я читал о сессиях. Я не въеду зачем пароль передавать. Страница входа- сверяются логин и пароль. Если верно, то стартует сессия с одной переменной-логин. Никак не пойму где мне нужен будет пароль.
Неактивен
А почему с одной переменной? Запихивай туда логин и пароль. И потом никаких проверок, просто смотриш идентификатор сессии, если такой есть, то значит это авторизованный пользователь с паролем и логином которые занесены в эту сессию.
Неактивен
Ну вот допустим пользователя авторизован. В сессии у него и логин и пароль. Логин я буду использовать(от этой переменной посты будут писаться), а пароль? Да он лишний просто
Неактивен
CREATE TABLE `users`
(
`nick` char(10) NOT NULL,
`pass` char(20) NOT NULL,);
Добавлено спустя 1 минуту 52 секунды:
без последней запятой перед скобкой. // Ну, красивая будет таблица?
Отредактировано Helqg (2008.02.19 18:01)
Неактивен
нет подозреваю что таблица должна выглядеть как минимум вот так
|
|
Не забывай делать все в UTF-8 и поле с auto_increment тоже наверняка тебе потребуется. Т.к. идентифицировать пользователя по ID много удобней. Да и надежней.
Отредактировано Gemorroj (2008.02.19 18:23)
Неактивен
Шо за collate? И шо за тип myisam? Последняя кодировка это только для авто вырасталки?
Добавлено спустя 1 минуту 57 секунд:
ALTER DATABASE имя_базы DEFAULT CHARACTER SET имя_кодировки. Вот што у меня в книжке пишут. В админе писать? Катит?
Неактивен
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 секунд:
Вот што осталось в итоге. Тут смесь всегоВсякие, что нашел. разные ошибки были Про MyISAN страшные вещи пишут, что его в 5 версии не будет.
Неактивен
5 версия mysql. Гг. Че то я какое то старье читаю.
Добавлено спустя 3 минуты 17 секунд:
Вопросик: как запрос написать для вставки новой записи. А именно что мне отправлять в поле с авто вырасталкой?
Неактивен
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 секунд:
Ну или права доступа какие надо?
Неактивен
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 секунд:
А в поддержке вообще кадры сидят. "мы не даем рекомендаций по настройке баз данных". но хоть обещали обновить с 4.0.Скокототам до последней. И на том спасибо.
Неактивен
Так зачем ты с h2m вообще связываешся??? возьми хоть недорогой но платных хост. имхо даже начинать с подобных хостингов нельзя, потому что слишком уж многое работать не будет.
Неактивен
Да там сессию объявлять, после вывода заголовков в браузер... Ну это я сляпал. Идем дальше-> как сделать регистрозависимые логин и пароль? Я ща что не введу- прохожу все равно.
Добавлено спустя 2 минуты 5 секунд:
И даже что то мыслей нет. Не знаю где подправить запрос: пхп, муску
Неактивен
Да уж пишут либо COLLATE либо BINARY.
Первое вряд ли, а вот бинарные поля может пойдет. Гм
Добавлено спустя 1 минуту 25 секунд:
Опять таблицы мучить. Ыы
Отредактировано Helqg (2008.02.25 20:47)
Неактивен
Varchar и использую. Но не тянет. Я думал может любой пароль подойдет. Но нет. Именно проблемко с регистром. С логином тоже самое
Отредактировано Helqg (2008.02.26 11:06)
Неактивен
$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;
Неактивен
А вот вырезка из книжки пхп 5. Колисниченко. "При поиске с помощью оператора SELECT не учитывается регистр символов" "Бинарные данные также можно использовать для хранения текста, но при поиске будет учитываться регистр символов"
Неактивен
насчет SELECT... видимо там имеется ввиду следующий запрос
|
|
хотя я не уверен. всю жизнь изспользовался этот селект для проверки, где-то ты недосмотрел с регстром. ищи проблему в коде.
Неактивен
Да я поставил бинарные поля. пусть. Кстати, разрешать ли русские буквы в логине, пароле? И если да, то как? Сразу отправлять в базу или транслитировать на входе/выходе? Переживаю от незнания.
Добавлено спустя 1 минуту 52 секунды:
Дельный был совет. Но поздно
Неактивен
Да, конечно, ВЕЗДЕ и ПОВСЮДУ используй UTF-8. Главное условие - ВЕЗДЕ, а не как в одном мерзком скрипте, называемом еще "бодр-чатом", и тогда проблем не будет. В БД данные тоже должны храниться в UTF-8.
Часто проблема возникает с тем, что сервера настроены на ISO 8859 или windows-1251, а нам нужен UTF-8.
Решается это следующим образом: сразу после соединения с базой отправляем MySQL серверу информацию, что мы будем работать с UTF-8.
|
|
лично я этот код как правило выделяю в отдельный файл - connect.php и где надо подключаю через require
Еще, твой код
|
|
вот это
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, так вот... не стоит лишний раз передергивать такие соединения. Если подразумевается что пользователь в дальнейшем будет использовать скрипт, то соединение закрывать не стоит, это открытое соединение используется при следующем действии пользователя. Оптимизация епт =) Я на ней помешан =)
Неактивен
Гм. Ага. Не подумал об этом. В следующем же скрипте. Купить бы где учебник по мускулу. Один оракул продают. Че нить знаешь о нем?
Отредактировано Helqg (2008.02.29 23:08)
Неактивен
Об Оракуле? не основы MySQL я лично брал из книжки Кузнецова & Симдянова PHP 5, потом какия-то инфа из сети. Часто пользуюсь этим http://wapinet.ru/textbook/mysql/ построение SQL запросов как правило не вызывает особых проблем. Главное изначально грамотно спроектировать Базу Данных.
Неактивен
Gemorroj, привет, подскажи плиз как сделать отсчёт времени от какого - нить события, где-то видел, а как не помню
Helqg, вот что по этому поводу сказано на ru2.php.net
Только для запросов SELECT, SHOW, EXPLAIN, DESCRIBE, mysql_query() возвращает указатель на результат запроса, или FALSE если запрос не был выполнен. В остальных случаях, mysql_query() возвращает TRUE в случае успешного запроса и FALSE в случае ошибки. Значение не равное FALSE говорит о том, что запрос был выполнен успешно. Он не говорит о количестве затронутых или возвращённых рядов. Вполне возможна ситуация, когда успешный запрос не затронет ни одного ряда.
для подсчета пользуйся следующей конструкцией
|
|
в переменной $count будет требуемый результат.
Неактивен
Ну да, немного не так выразился, нада чтобы показывалось время, которое прошло, к примеру, с твоего дня рождения
|
|
Неактивен
Спасибо а как посчитать часы, минуты, секунды, к примеру сколько времени сайту?
|
|
правда код идиотский наверно
Неактивен
Спасибо за код, и вовсе он не идиотский Про мотор: почитал, аж обидно стало, нах так делать? И так никогда его не юзал, а теперь и подавно не буду.
Ы. Форум встал. Емое. Как то невнятно работает substr();. Красиво режет буквы не по буквам. Пишу md_ пустая страница. Как обрезать строку до заданной длины?
Добавлено спустя 2 минуты 47 секунд:
Через SET NAMES может попробовать? Хм. Мдя
Неактивен
чтобы mb_ работало нужна библиотека mbstring
залезь в php.ini и расскомментируй соответствующую строку.
|
|
так же можно использовать iconv
|
|
Неактивен
Да не просто я в упор писал md_ а надо mb_. И думал, почему ничего не работает... Гг. ///
Добавлено спустя 2 минуты 56 секунд:
Да не. Я там буковку напутал просто. /// Ща такое дело- надо новые темы наверх выводить. Чем? Может в базе создать столбик с временем последнего изменения записи? Ну там в секундах unix овых. И сравнивать их MAX()?
Неактивен
А, тогда да. Еще можно в таблице постов писать ID темы. И делать запрос к постам, сортируя их по времени. Соответственно берем из полученных данных ID тем и выводим. Я делаю именно так)
Неактивен
Время всегда храни как timestamp. Я темы и имел ввиду, из таблицы с постами ты вибираешь id тем.
"SELECT `id`,`time`,`title`,`quantity` FROM `tems` WHERE `forum`='$kat' ORDER BY `time` LIMIT $start,$over"
Добавлено спустя 4 минуты 31 секунду:
Должно прокатить. Там пока пыхадмин в ауте. Гг. Зато разрешили самим .htaccess трогать. // как лучше написать time(); или date("U"); ? Блин. В коде двумерные массивы Они ниче не будут тормозить? Как выводить время работы скрипта?
Неактивен
наверное time насчет двумерным массивов, если они нужны, то пусть будут. я очень сомневаюсь что они будут узким местом.
время работы скрипта:
|
|
Неактивен
да основа уже есть. http://helqg.h2m.ru/forum
ща админку ляпаю. Форум пока страшный, но вроде без ошибок.
да у тебя форум наверно огромный. Килов 700 весит. Да и код наверно полный паштет...
Неактивен
На h2m 5 мускул поставили. Ура. Только я как сидел с бинарными полями, так и остался сидеть. Зато пока искал utf8_*_cs нашел
http://oszone.ru/4743/MySQL
разницу между char & varchar.
Неактивен
отличная ссылка. cs — case sensitive — чувствительно к регистру, ci — case insensitive — не чувствительно) - этого я не знал.
Для кодировки UTF-8 сервер выделяет разное количество байт для разных символов (в соответствии с кодировкой) в случае VARCHAR и 3 байта на каждый символ в случае CHAR. Таким образом, в UTF-8 строка CHAR(10) всегда занимает 30 байт, а VARCHAR(10) — от 1 до 31 байта. - этого тоже не знал. Можно было конечно и самому догадаться, но я как-то не догадался)
Неактивен
Да почему ж обидели??? Глобализация, никуда не денешся. Наша кирилица тоже 2 байта занимает на символ. Ради совместимости, я лично готов этим лишним байтом пожертвовать, поскольку проблема-то серьезная. А если беспокоит вопрос экономии трафика в нете, то есть GZIP. Меня уже просто достали эти проблемы с кодировками Из ничего порой такой гемор из-за этих кодировок бывает, просто ужас =/
Неактивен
То есть? Почему к примеру не выбрал за основную кодировку 1251? Она ща многими телефонами поддерживается. В отличие от Koi8r, эта даже с моей sis kовской оперы не превратится в буквы.
Неактивен
сделай в какой-нибудь таблице колонку с временем последнего посещения. при посещении зарегистрированным пользователем форума, соответственно заноси туда timestamp. ну и потом если этот timestamp больше time()-300, то пользователь в онлайне. 300 - это сколько секунд считать в онлайне.
по поводу Win-1251 vs UTF-8. В ACSII таблице 255 символов. Вот они
|
|
255! разве это много?? в Unicode я насчитал их больше миллиона! всякие пиктограммы, иероглифы.
вот почитай http://ru.wikipedia.org/wiki/Юникод
Отредактировано Gemorroj (2008.03.21 12:18)
Неактивен
Блокировка по юзер-агенту:
|
|
Как сделать, чтоб пользователь с таким юзер-агентом переадрисовывался на другую страницу?
Отредактировано Casper (2008.03.21 13:20)
Неактивен
|
|
еще замечу, что при переадресации через Location в заголовке, следует отправлять код 301. По умолчанию отправляется 302.
Это нужно для того чтобы поисковики нормально относились к подобным переадресациям. При частых переадресациях с кодом 302, есть риск попасть в бан у поисковиков или по крайней мере снизить PR.
На переадресациях построены дорвеи, посему поисковые машины таким образом им противостоят.
Неактивен
это пользователь открывает страницу, а там? Отбираю всех юзеров у которых открытие страницы было недавно. Такс... То есть на каждой странице надо обновлять юзеру дату своего последнего действия?
Неактивен
Хочу сделать свои поисковик на сайте,а в php почти не разбираюсь.Может кто нибудь может помочь?
просто представь что должен делать поисковый робот. все ремя быть в работе, ходить по ссылкам, ранжировать полученные данные в зависимости от содержимого, разумно противостоять различным SEO ухищрениям, хранить огромный объем информации у себя на сервере. Вероятно еще много всего требуется. В т.ч. и собственные мощные сервера. Вот например что пишет о себе яндекс.
В поиске Яндекса сегодня
сайтов: 11 896 113,
веб-страниц: 2 677 821 253,
объем проиндексированной
информации: 79 239 ГБ.
еще есть вопросы?
Отредактировано Gemorroj (2008.03.23 14:56)
Неактивен
так. Время работы готово. с онлайн думаю пока погодить... Надо сделать анкету юзера. Че б туда всунуть, почту, дату регистрации, постов живых, тем живых, ээ. Картинки наверное будут много места занимать...
Добавлено спустя 3 минуты 58 секунд:
кстати ушел от двумерных массивов. Как оказалось возможно такое:
|
|
Неактивен
да, английский там жестокий. может это американский, а не английский даже.
ну 1 - echo быстрее чем print
2 - $ret = print "hello"; так можно, и переменная $ret будет равняться 1, в то время как с echo такие штуки не прокатя. На счет AND, OR and XOR я не понял что-то говориться что они более низкоуровневые, но как это связать я не понял.
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 больше нравится почему-то.
Неактивен
увидел ща про клик клуб и регулярку, но все таки хотелось бы понять в чем я промахнулся. Мне вот конечно круглые скобки не нравятся, но у меня в книжке именно пример с такими скобками
Неактивен
чет аще ниче не работает
|
|
Неактивен
|
|
на сколько я понимапю проблема была не в регулярке.
isset проверяет СУЩЕСТВУЕТ ли переменная, а она у тебя будет существовать, хоть и пустая.
Неактивен
да вряд ли. Не фатально. У меня страница что то грузит не том объеме, в каком должна.
|
|
я даже так условие распаковал, но даже слово логин не появляется. В чем то блин серьезный косяк
Добавлено спустя 1 минуту 53 секунды:
isset заменил на !empty
Неактивен
в одном две переменные начала и конца. Второй сразу смотрит время, и потом вычитает его функцией slow(). В форум то я захожу все нормально.
Too many connections- для мускула это как ? Из моего скрипта или идет для всех баз хостинга?
Добавлено спустя 4 минуты 46 секунд:
о, вложения работают красиво.
Отредактировано Helqg (2008.03.31 11:26)
Неактивен
как можно на это ответить не зная структуры БД???
в общем случае примерно так
|
|
Неактивен
ну я щас через час пример таблицы кину
вобщем да. еще можно проверить функцией getimagesize
|
|
если $arr[2] =1, то это GIF. если 2, то это JPEG. если 3, то это PNG
Неактивен
админ расскажи поподробней о функции BASEDIR для чего и где её применять. и не грузит ли она сервер при многократном обращении этой функцией?
Неактивен
вообще функции basedir нету. есть например basename — Возвращает имя файла из указанного пути.
Вероятно ты имел ввиду функцию realpath — Возвращает канонизированный абсолютный путь к файлу. Т.е. раскрывает символы /./ ../, так же убирает лишние /
Насчет того, как сильно она грузит сервер у меня информации нет, но думаю не сильно.
Неактивен
нет именно ".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
Неактивен
в твоем случае это константа, вероятно прописана в конфиге.
сделать ее можно как и любую другую константу, а именно
|
|
и в дальнейшем пользоваться этой константой с указанным значеием.
к слову чтобы получить текущую папку, можно воспользоваться следующей конструкцией
|
|
и еще я бы рекомендовал просто писать путь к баннеру от корня. Т.е. не theme/img/banner.gif, а /theme/img/banner.gif (в начале слеш)
Неактивен
Ааа. Я очнулся. Форум надо отложить в ящик или я умру за ним... Надо че нить другое попробывать. Вот к примеру крестики-нолики.
Понятно, что сложно но надо попробывать.
Добавлено спустя 6 минут 14 секунд:
так, нолики значит , крестики...
страница, на ней 9 символов- 9 переменных, допустим =. Сначало ходит игрок - один символ меняется на +. Точнее значение переменной. видать надо сессию будет ляпать. Мда. Такс. Затем скрипт ему отвечает, пусть пока отвечает random. И
после чьего то хода проверка на 8 выигрышных комбинаций и на ничью. Вроде так
Добавлено спустя 9 минут 16 секунд:
если есть умные мысли буду рад
Неактивен
чуть не умер. Скачал скрипт у тебя загруз центра, так карта к бобруйску.
Это кадры конечно... Дорога для разбега... Апстена.
Добавлено спустя 3 минуты 14 секунд:
а нафиг мне форма? Все в сессии 9 переменных. get, post- их введут сразу выигрышную партию. Пусть будет на голых ахрефах
Неактивен
ну может и можно. Это надо глянуть учебник по html. Если для ссылок возможно- имя значение , то можно и через форму.
Добавлено спустя 1 минуту 10 секунд:
если нет, то 9 форм.
Неактивен
ну наверное нужно будет лучше просто прописать все возможные варианты, их не так много, как мне думается. и сравнивать данные в сессии с готовыми вариантами. просто и надежно.
Неактивен
нет, порыл мануал, такой функции нет. можно выбрать КЛЮЧИ массива с определенными параметрами, но не из значения. Вообще, ты изначально идешь не верным путем. Сначало нужно ЧЕТКО представлять что ты хочешь сделать. Ну я по крайней мере не видя формы, представить дальнейшую разработку скрипта не могу.
Неактивен
ну да. Чето уже написанно. Ща прочитаю, может понимая что написал %) увижу ошибки:
-стартует сессия
-проверка не передан ли скрипту ход игрока, то есть нолика. Если так и есть то объявляем переменную сессии с именем 'aнужное число'
-цикл 9 раз. В нем условие существует ли переменная от а1 до а9. Если существует то элементу $а[нужное число] присваиваем значение нужной сессии иначе равна _
Неактивен
-проверяем ничью, то есть имеются ли в массиве элементы _
-проверяем победу. Лучше функцией. Тут правда будет проблема, если нельзя global $a.
-если ход соперника, то в массиве случайный элемент _ превращается в крест. Затем выводятся все 9 элементов массива, сбивается переменная хода скрипта.
- если же не ход соперника, то двумя циклами и условием "если данный элемент массива равен _" выводятся ссылки на пустые поля и символы содержания элемента массива, если не пустые. Создается сессия на ход соперника.
Добавлено спустя 2 минуты 47 секунд:
ыгыгы. Стопудово не будет работать
Неактивен
|
|
Добавлено спустя 2 минуты 47 секунд:
что то h2m тормозит. Пока тестирование откладывается
Добавлено спустя 8 минут 17 секунд:
пока правда без Заголовков, и без рестартов... Ну это уж как дело пойдет
Неактивен
свежее: забыл одну }, не объявил $hod, $empty.
главный косяк в функции всегда выигрывает ноль. Гг. Совсем забыл про $znak
Добавлено спустя 7 минут 33 секунды:
блин. Превышенно время выполнения как так. Сверх оптимизированный код. Практически без циклов
Неактивен
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))
Как это записать проще? Ужос. Что то мне кажется через цикл будет совсем не проще.
Неактивен
ну не свех уж...
здесь же в тестах показано было, что isset относительно медленная функция
так же лучше заменить for($i=1;$i!=9;$i++) на for($i=1;$i<9;$i++) (во всех циклах)
Неактивен
дада, C такой. Имел смелось ознакомиться в общих чертах с C и C++, могу подтвердить что отличаются, а C# на сколько я знаю еще сильнее отличается.
Интересно еще что JAVA так сильно всех опережает. Это на западе на самом деле так, у нас несколько другая ситуация. У нас бы Delphi повыше был, да PHP думаю тоже, а вот JAVA наоборот, как мне кажется была бы не на первом месте. И уж точно не 20% у нее было бы.
Еще если посмотреть тенденцию, то число PHP кодингистов постоянно растет а вот JAVA кодингистов все меньше. Еще почему-то не увидел я тут ASP. Ну не верю я что им так мало народу пользуется. Еще момент... Вызывает сомнение что на C++ пишут меньше чем на чистом C. Вероятно подсчет имеет некоторую погрешность. А вообще инфа интересная Хотя сравнивать скажем PHP и Бейсик, как мне кажется не совсем корректно
Неактивен
http://www.disciples3.ru/news/news_rus_1.htm
когда же она выйдет? Скорей бы. Самая мною ожидаемая игра. Обещали в том году потом на месяц отложили, а потом еще на год. И комп еще надо купить...
Неактивен
|
|
Добавлено спустя 1 минуту 36 секунд:
|
|
Добавлено спустя 5 минут 55 секунд:
еще надо все таки будет сделать проверку на победу. И неплохо бы как нить продумать разум оппоненту.
Неактивен
я ж говорю. Он совсем никак не считает. За это будет отвечать функция win_lose. "enemy plotting strategy" это просто любимая фраза из игры с sega. "враг разрабатывает стратегию"
Неактивен
мда. Крестики нолики это конечно интересно, но надо пробывать сделать для 2 игроков. Человеков. Только как? как узнать кто с кем играет. Надо какую то базу. Допустим таблица. Поля: кто играет, с кем, ээ. Чорт. Надо глянуть скрипты каких нить игр
Неактивен
вот ведь... Проблемко... И че я сразу в таблице id не сделал. Терь переделывать. Это ведь так удобно, искать игру по точному столбцу, а не по нику то ли создателя то ли подключившегося
Неактивен
чорт. Как всегда. Ниче не понятно- ниче не работает. : ( индексовая страница после заполнения формы выводит чистую страницу:
index.php
|
|
Добавлено спустя 1 минуту 58 секунд:
work.php
|
|
Неактивен
|
|
******
php5 точно. Всякие mb_ тоже поддерживает
Неактивен
день добрый подскажи как мне обойти защиту по ай пи.у меня есть скрипт который бродит по сайтам и собирает информацию.а не могу сделать чтоб он передавал ай пи если не сложно подскажи или в icq 8100966 за деньги допиши эту возможность
Неактивен
скрипт который подделывается под браузер мобильного телефона как сделать чтоб он был с ай пи на сайте стоит проверка по ай пи и дальше этой защиты я пройти не могу не пропускает по ай пи
Добавлено спустя 5 минут 7 секунд:
можешь написать в icq 8100966 в офф быстрее все обговорим или ты только на форуме
Неактивен
Эхь где б взять скрипт какой нить онлайн стратежки... Мысли то конечно есть, но страшно. Вот так пишешь- пишешь и оп , не баланс. Нет баланса, нет интереса. cswap.org так и сдох. Были у него хорошие задумки, но получилась фигня и дорабатывать он не стал : (
Неактивен
Что касается этих игр, очень важна именно задумка, проработка деталей сюжета игры. А уже потом непосредственно кодинг.
А вообще мое имхо. Жуткий бред эти игры) играть в это, по-моему невозможно в принципе)
Неактивен
Приветствую! Помоги пожалуйста с импортном таблицы, точнее я не могу eе заполнить, вoт пример
|
|
что мне надо прописать и где? 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 ("Не могу подключится к БД");вот куда мне это все вставить? Вообще запутался... Что куда? Помоги пожалуйса разобраться.
Неактивен
по поводу статьи... ну да, ну да... приятно почитать умных людей)
я за модульное программирование) пример - Gmanager (http://wapinet.ru/gmanager/) на мой взгляд все можно сделать функциями
да, там используются классы (PclZIP, Tar и др) но не суть, суть в файле functions.php
Неактивен
Эээ... Это круто. Особенно создание таблицы.
Ответы
1.Таблица у тебя однозначно косая. Пароль кстати поменяй, мало ли.
2.Да. Вместо users название таблицы.
3.Title-название столбца таблицы. Text-тип ячейки. А not null- значит, что не может быть пустой.
4.Пароль от базы данных используется при подключении к базе данных, никак не при создании таблицы.
5. это все вписывается прямо в php код. Но до вызова какой ли функции работающей с бд.
6. Знания в мозг. Руки печатать.
1:0 в пользу знатоков
Неактивен
Helqg так я пробывал импортировать пишут "Импорт дaмпа зaпушeн. Вывод команды: ERROR 1064(42000) и дальше что то на анг. Короче понял что ошибка. a как сделать чтобы таблица была не косая.?..
Добавлено спустя 5 минут 55 секунд:
Сейчас еще зашел в index там настройки, вписaл данные и выдало ERROR, на других страницах написано удалите Instal, так, a я не знаю еще что с базой? a его же после удалять как с базой будет все нормально, и как понять что я подключился?
Неактивен
Gemorroj, так a в ридми не чего нет вот http://top.ly4.h2m.ru/readme.txt , вoт пример таблицы которую не трогал http://top.ly4.h2m.ru/tables.sql, Gemorroj помоги пожалуйса, понять как она заполняется ,что бы не была кривая...
Неактивен
Все равно не хочет работать? Когда заполняю instal.php dbhost, dbuser, и.т.д пишут что ошибка установки скрипта... попробуйте еще раз... Может обращение к базе в скрипте не для h2m или даже не знаю, что...
Добавлено спустя 5 минут 21 секунду:
Gemorroj, a надо какое то время после отправки файла sql или cкрипт сразу должен запускатся...?
Неактивен
: ) под снос. Ну невозможно это. Включается главная. Она достает header.Php , в нем
|
|
как это понимать? Че там будет инклудиться...
Неактивен
вероятно как-то так надо.
|
|
хотя если глобальные переменные отключены, то и так нормально.
Неактивен
сложный вопрос. это значит постоянное соединение, т.е. она само не закроется, пока ты сам его не закроешь (mysql_connect по умолчанию само через минуту закрывается)
вот целесообразность посоянных соединений под вопросом, одни говорят что это хорошо, другие что плохо...
скажем форум. эта страница у меня открыта уже больше минуты, при моем следующем переходе будет заново открываться соединение с mysql, а еслиб тут использовалось mysql_pconnect, то использовалось бы мое старое соединение. что позволяет снизить нагрузку на mysql сервер.
Неактивен
из перечисленного тобой я только мафию разгребал. ужас
проблема как раз в том, что соединения не будут закрываться и со времением на сервере будет висеть куча лишних процессов.
я на этом форуме, например, сознательно сделал непостоянное соединение. постоянное можно применять на посещаемых ресурсах, типа чатов, ну форумов тоже, только посещаемых ))
Неактивен
отсюда хочется задать вопрос. Постоянное соединение оно ведь одно? Или уникально каким нибудь образом для каждого юзера... Ну незнаю каким, каким нибудь...
А так по идее действительно удобно для посещаемых ресурсов. Но чувствую на бесплатных хостингах такие фокусы прикрыты.
Неактивен
#253, прикрепишь этот скрипт к чату? чтоб ник не надо было придумывать всё время, а брались из базы чата, т.е. текущий ник пользователя в чате
Helqg, соединение с SQL-сервером не будет закрыто, когда работа скрипта закончится. Вместо этого, оно останется рабочим для будущего использования (mysql_close() также не закрывает постоянные соединения) вот... даже mysql_close не закрывает такие соединения..) оно одно для всех обращений к БД с одинаковыми логином и паролем.
Добавлено спустя 52 секунды:
и да... на бесплатных хостингах такое соединения запрещено)
Неактивен
Caspеr написал:
#253, прикрепишь этот скрипт к чату? чтоб ник не надо было придумывать всё время, а брались из базы чата, т.е. текущий ник пользователя в чате
разумная мысль. Гм. Подумаю. Возможность использовать любую базу юзеров... Очень занятно : )
Неактивен
phpclasses.org отличный сайт. давно там зареган. регулярно смотрю что шлют мне на почту. в основном хлам конечно, но есть и очень интересные класссы. думаю в архиве скриптов сделаю раздел с классами всякими. далеко не все думаю знаю где нужно скачивать тот же PEAR.php или pclzip.php
Неактивен
да, так и передаются
$ref нужна чтобы не кешировались страницы.
да, там rand(xxx,xxxxxx); просто шняга кароч
итак, перед классом идет проверка на константу. Я долго думал че это, решил чтобы файл не включали отдельно, только includom.///
так, переменные... Первая ip long. Че такое? Ща погуглю.
Неактивен
очень интересно, но мало понятно здесь
остальные вроде понятные. : )
Далее идет конструктор, понятия не имею чем он отличается от метода, ну да ладно.
Если человек пришел с прокси- то ip все равно будет его(у меня так написано : ) ), иначе Http_Via. че за виа хз... Ну тоже видно адрес. Иначе будет обычный remote_addr. либо умри...
Затем адрес превращается в длинный вариант, ща надо глянуть что за функция.
Неактивен
А таблицы изменены или старые можно оставить? Я их раньше залил в базу чата.
так, дальше метод reqcount. Объявляем директорию выше в глобальную переменную.
Создаем временный пустой массив.
Переменную запросов приравниваем к 1.
Открываем файл флудеров. Ставим его на недоступность для других. Зачем оно надо- непонятно.
Время. Цикл, читаем построчно файл. Unpack. Первый раз вижу. Гм.
Добавлено спустя 1 минуту :
Caspеr написал:
А таблицы изменены или старые можно оставить? Я их раньше залил в базу чата.
таблицы не трогай. Должно все сойтись.
Неактивен
unpack
вещь довольно непонятная. здесь
вроде более понятно, но опять я в ауте.
Я так понимаю получается массив с 2 частями адресом и временем.
Условие: если время- время последнего запроса больше заданного, то все нормально, смотрим следующую строку в файле.
Иначе сравниваем адреса, если они сходятся переменную плюсуем на 1.
записываем кусок в временный массив tmp.
Цикл заканчивается. Указатель файла находится в конце, перекидываем его в начало. Файл чистим.
затем весь список записываем. И в конце приписываем данные зашедшего юзера. Переменную метода превращаем в видимую для класса.
Неактивен
мда. Однако я никак не въеду в эти зашифрованые файлы...
Как это дело применяют. Гм. Создается объект, я так думаю при его создании уже идет проверка на флуд. Затем в core.php находится левый адрес и превращается в нормальный. :-/ как то так.
Неактивен
В индексе ошибка. Не хочет эта станица загружаться может тебе дать доступ к директории с чатом?
Теперь нормально, но при входе выдает: отсутствуют параметры для входа.
А! Там, по чату в ссылках не пишется ник. Там id. Ссылка имеет вот такой вид: ...file.php?id=8&ps=password&ref=1234 Надо выяснить какой ник у пользователя с таким id
Casреr написал:
Теперь нормально, но при входе выдает: отсутствуют параметры для входа.
я не знаю что ты там хочешь искать и выводить, но не работает так как скрипт ждет переменные id и pass.
Неактивен
то есть либо в скрипте править
|
|
либо ссылка из чата должна выглядеть вот так:
|
|
Неактивен
привет чуваки подскажите как вот при запросе к мускул например поиска слова Чайник мускул( в мускуле например у нас есть слова чайник но с маленьких букв или например ЧайНик) искал и выдавал его в любом регистре?
Неактивен
Вообще если сравнение таблицы utf8_general_ci, то поиск должен быть регистронезависимый, но как это часто бывает, регистронезависимый он лишь в теории, на практике вылазят всякие траблы.
Во первых установи сравнение utf8_general_ci и посмотри как выбираются данные, если не поможет, то есть другой вариант, делать следующий запрос:
|
|
где keywords - это имя таблицы в которой ищем запись
Неактивен
Проверил на локалхосте, работает. Проверь, правильно ли ты код записал? UPPER(`body`) - есть такое? strtoupper($_GET['word']) - тоже есть? В таком случае выдало бы по крайней мере в верхнем регистре.
Неактивен
всё что ты написал есть. короче у меня в базе есть слово чат так вот при запросе чат или ЧАТ мускул дает ответ а при запросе слова ЧаТ уже пишет что нет такого
Неактивен
Чудеса)
тип таблицы какой? И сравнение?
Привет. Я только что вышел из больницы. Простите за оффтоп, но я так рад снова быть здоровым.
Живите и радуйтесь жизни.
вопрос: таким способом принятые данные из формы можно записать в базу?
|
|
?????
Неактивен
Ну из формы данные приходят вероятнее всего в массиве $_POST, а тут $data. Может в этом проблема?
сверху ошибка, мол неожиданное подключение(подключаю файл где настройки и коннект к базе(вродь всё правильно написал)) и белый экран.. ну я попозжа посижу.. ща неохот чёт
Неактивен
ну подключался я тавк:
|
|
Неактивен
можно ли на одной странице подключаться к двум разным базам? я на главную вывести хочу сколько файлов в загрузе(эт одна база) и сколько тем/постов в форуме(эт другая база)??
Неактивен
http://wapinet.ru
Отредактировано Gemorroj (2008.08.05 14:14)
pda, рекламишь?!?!?!?
__________________
неподелишся этой функцией? твоя иль где взял?
ели чё тож могу тут одну дать всмест mysql_query её использовать можн и нетолько(можн сказать работает как фильтровальщик, как ф-я mysql_query, и по принципу sprintf и printf)) гг b; книги взял кстать уж всю прочёл) тЫща страниц..
Неактивен
да обычная функция. что-то типа
|
|
Вот эта счтитает посты в гостевой у меня.
Неактивен
а, ясн)) слушай у меня херь какая то, на компе все ОК, а на хосте зделал и пишет мол неправильно чё то, а всё правильно...
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)
юзера правильно написалд чё он хочет от меня?!
Неактивен
такой вот вопрос... прикрепляю в этом форуме к сообщению .txt файл и при кликании на него он скачивается, закидываю к себе на сайт, он открывается, как страница. Как сделать, чтоб с моего сайта он тоже скачивался?
Неактивен
в загрузе sea пытаюсь скринШот вывести у тем .thm
|
|
вот отдельно от скрипта работает)
а в скрипт сую и выводит одни каракули..
Неактивен
A нe htm?
еndrj, нет.
-----
блин неправильный код слегка дал, ща уж комп вырубил, а с телефона не весь текст закачивается...
завтра изменю..
и ошибку вродь уже понял в чём, но всё равно незнаю как её решить..
Неактивен
|
|
вот, я думаю ошибка у меня в том что, header('Content-type: image/jpeg'); вдруг посылаю прям посередь страници... как правильно сделать?!
вот если чё страница.
Неактивен
http://lorras.wapn.ru/xak.php
pochemu ne robit ?!
в eтoй cтpoкe
|
|
выдaeт тaкую oшибку:Ошибка: syntax error, unexpected T_STRING, expecting ',' or ';' Строка: 31 Страница: 3 кaк иcпpaвить?
copи нeт тopмoзит.
я пoмeнял фaйл,eт у мну бывaeт тaкoй глюк
вот делаю вывод даты новости на главную, и хочу ,что бы если дата новости сегодняшняя то выводилось Сегодня, если вчерашняя то Вчера,
я это все дело в функцию засунул, короче я додумать/доделать всё немогу...
|
|
Неактивен
я делаю так
|
|
т.е. передаешь функции таймштамп, она возвращает отформатированную дату.
Неактивен
вот посмотри:
|
|
где ошибка? вот форму выдаёт, я там всё изменяю жму на кнопку и меня выкидывает, т.е запись не изменяется в таблице.. вооющем где то после else у меня ошика.. немогу понять где..
Добавлено спустя 1 минуту 31 секунду:
вроде всё правильно написал..
Неактивен
safe_var
|
|
а 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 />'
}
неробит...
Неактивен
denich написал:
а mysql_qw эт таже функция что и mysql_qeary прост из книжки взял..
фукции mysql_qw нету (mysql_qeary тоже нету, ) есть mysql_query и тебе нужна именно она.
mysql_qw испльзуется в библиотеке Котерова, забыл как называется, ты используешь эту библиотеку? Вероятно всего нет, а значит и описание этой функции в скрипте не указано.
после case скобки открывать не надо.
Неактивен
вообщем проблема у меня с заменой дат, вот так вот работало, но поистечению 3-х дней выводит год и время прошедший с эпохи Unix т.е 01-01-70 3:30
|
|
почему нехочет она возвращать поистечению 3-х дней это else return date('d.m.y в H.s', $date);
Неактивен
есть такая замечательная функция strtotime...
модифицируй функцию которую я тебе давал таким образом и пользуйся ей.
|
|
Неактивен
Доброго всем времени суток!Пожалуйста,если не трудно,напишите,где взять или как создать базу MySQL?Только, если можно,поподробнее и с самого начала!Я в программировании,как студент,пропустивший первые 5 лекции,пришедший ко второй паре и пытается понять,что к чему!
Отредактировано staryisv (2008.11.08 22:05)
Неактивен
Да был я там.Разобраться не могу.Захожу в базы данных.Создаю базу.База создается,а размер ее 0.00.И что дальше делать,никак не пойму.Паша,если не трудно,научи?!
Неактивен
нутаквот. базу ты создал. теперь нужно ее чем-то наполнить.
заходиш в phpmyadmin, где он находится спроси у хостера или посмотри опять же в панели управления хостом.
слева выбираеш созданную тобой базу.
далее жмеш "импорт" и заливаеш файл с таблицами. все.
или жмеш не импорт, а "SQL" и вручную пишешь требуемые SQL комманды.
Неактивен
В Gmanager типа консоли, нужно знать комманды. Но хостеры как правило не позволяют создавать новые БД скриптами, для этого нужно лезть в панель. Gmanager поможет залить таблицы в уже созданную БД.
Неактивен
Phpmyadmin нашел.Спасибо.Пойду разбираться,что к чему./Паша,загляни в каталог.По моему,там что то не так.Регистрировал в нем свой сайт,не так давно,а вчера не смог найти.Зарегистрировал еще раз.Перехожу по ссылке со своего сайта,а мне пишет-сайтов в каталоге еще нет,будь первым.Или типа этого.А может я чего не разобрался правильно./
Неактивен
Наверно последний вопрос.Где взять начальные таблицы,для базы?Не те,что в игре.Как импортировать,я разобрался,спасибо!Осталось узнать,что нужно импортировать!/Надеюсь ты не обижаешься,что я тебе об ошибках сообщаю?А то скажешь,что яйца курицу учат!
Неактивен
Ага,есть такие!И их надо заливать в базу?А так,ничего там создавать или заливать не надо?Правильно я понял?Даже если движок ставишь?/Мне на ссылке каталога какой номер ставить,тот который раньше был или который сейчас зарегистрировал?/
Неактивен
Привет Паша!Это снова я!Есть вопрос!Подскажи пожалуйста,где и как вставить счетчик или файл,чтобы он на каждой странице отображался?Что то не могу разобраться!
Неактивен
И копирайт так же прописан?А можно его прописать в одном файле,который отвечает за низ всех станиц?
Добавлено спустя 1 минуту 20 секунд:
И если можно,напиши подробно?!
Неактивен
Паш,а можешь пример вставки привести?Есть ссылка <a href.../a>.Как ее нужно вставлять в файл?Я пробовал,у меня низ страницы пропадает!
Добавлено спустя 3 минуты 8 секунд:
Кстати,я тут пытался добавить 3 скрипта,в ответ получил сообщение,что они появятся после проверки!И что то так и не появились!Не в курсе?
Неактивен
я не проверял))
|
|
|
|
Неактивен
Чего то у меня не так все?!Ты wap-motor 18 не знаешь случайно?Может кинуть тебе пару файлов,которые за низ всех страниц отвечают?Посмотришь,если время будет?
Неактивен
Паша,спасибо,помогло!Сначала файл создал,потом его проинклудил в файле,который,за низ всех страниц отвечает и все заработало!Спасибо,еще раз!/Паша,на форуме опять что то не работает!
Неактивен
что это за регулярка? можт её как то укоротить?
|
|
Добавлено спустя 1 минуту 13 секунд:
---------------
p.s уж слишком мелкий шрифт в форуме, кода савсем невидать (ps с компа)
Неактивен
ммм.. это на сколько я понимаю проверка на 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)
не вижу особо в ней надобности где-бы то нибыло)
Неактивен
вот такой запрос реален? могет быть?
|
|
у мене он что та неработает..
Неактивен
|
|
Неактивен
пишет
|
|
Добавлено спустя 2 минуты 40 секунд:
с переменными $o $do $usid всё пучком.
Неактивен
Не знаю, может не совсем в тему, но вроде эта самая близкая к моему вопросу))
Хотел вот что спросить...
такой вот из себя "ilichat" в плане безопасности как?
А то не хотелось бы, что б взломали нафик)
Неактивен
не хотел забивать форум лишней темой, такие темы думаю долго не живут)
Вот это огорчает...
Ну я надеюсь, что кто попало взломать такой скрипт не может?
Если это по способностям только зело опытным программистам, та оно и ладно, а если кому попадя, то не радует)
Неактивен
По-моему там еще с Й должна быть проблема. Где-то всет-таки не UTF-8.
Добавлено спустя 2 минуты 47 секунд:
соединение с БД как происходит? после mysql_connect еще вставь mysql_query('SET NAMES `utf8`');
Неактивен
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 ;
Неактивен
`id` int(11) NOT NULL auto_increment,
здесь указывается, что при каждой новой записи в`id` это поле будет автоматически увеличиваться на 1.
AUTO_INCREMENT=36 ;
это значит, что отсчет начнется с 36.
Скорее всего тот, кто делал дамп этой таблицы просто поленился навести в ней порядок.
Вероятнее всего лучше будет поставить AUTO_INCREMENT=1, а так же заменить CHARSET=cp1251 на CHARSET=utf8
Неактивен
Gemorroj написал:
`id` int(11) NOT NULL auto_increment,
здесь указывается, что при каждой новой записи в`id` это поле будет автоматически увеличиваться на 1.
AUTO_INCREMENT=36 ;
это значит, что отсчет начнется с 36.
Скорее всего тот, кто делал дамп этой таблицы просто поленился навести в ней порядок.
Вероятнее всего лучше будет поставить AUTO_INCREMENT=1, а так же заменить CHARSET=cp1251 на CHARSET=utf8
Да я вот решил перебороть свою лень относительно практики и решил попрактиковаться и поковыряться в скриптах. Взял магазин асек. Он оказывается на регистр глобалс он. Вот буду разбираться. .И переделывать на оф.
Неактивен
нужно ли использовать htmlspecialchars если у меня поле обрабатывается регуляркой, согласно которой поле должно содержать только латинские буквы? Я понимаю что можно и то и то сделать но зачем лишний код если регулятка выполнит все.
Также по поводу mysql_real_escape_string если я опять же обработаю регуляркой, обязательно ее обрабатывать?
Неактивен
Gemorroj написал:
если только латинские символы [a-z], то не надо больше ничего.
ну я думаю еще 0-9 можно. Да?
Неактивен
понятно. Спасибо
Неактивен
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>';
правильно я сессию создал?
Неактивен
|
|
Неактивен
я так хотел сделать а потом передумал
Неактивен
|
|
в чем ошибка?
Неактивен
если ты ставиш auto_increment, то на это поле нужно поставить PRYMARY KEY
так же в таблице news в конце не корректно записано vremyanews.
|
|
Добавлено спустя 1 минуту 3 секунды:
а, еще масимальное кол-во символов помещающееся в varchar - 255
ну и вообще, пока что не оч оптимизировано (нет ключей)
Неактивен
я пока ответа ждал проблему решил похожим образом. Ключи ты имеешь ввиду индексы?
Неактивен
ну они мне пока не нужны. Это мой первый скрипт. И там не предполагается такая большая посещалка, чтобы индексы были. Точнее посещалка там вообще пока не планируется. Мне лишь бы работало и было не дырявое. Над этим я работаю
Неактивен
у меня будут позже возможно рулить сейчас решаю проблему с mysql_insert_id
Что то не работает
Неактивен
сначала была проблема что я нечаянно переменную в скобках в ней вставил. А теперь проблема в том что она постоянно 0 возвращает.
Неактивен
все разобрался. Я пока пил чай вспомнил что я запрос на запись данных в базу составил а выполнить его забыл. Я обычно сразу запрос в mysql_query составляю а это в отдельной переменной составил и забыл выполнить.
Неактивен
как проверить есть ли введенные данные в базе. Нужно проверить 3 поля email,url,wmr из базы user
Неактивен
что означает 1 в этом коде? И кавычки одинарные или двойные?
Неактивен
блин, я немного не так вопрос задал вчера.
Пришли данные из формы $email='job@do.la' $url='site.ru' $wmr='558236852369' и вот надо проверить есть ли в базе хотя бы одно и введенных данных. Это значит надо проверить если есть хотя бы одно совпадение то вывести соответственное предупреждние. Типа извините но такие данные уже есть. Как будет выглядеть код? Поля теже самые. Я понимаю что надо пройтись по этим полям и посмотреть но как не пойму. Я select еще не освоил толком.
Неактивен
|
|
Неактивен
вот спасибо а то я застрял на этом. Вечером попробую.
Неактивен
Разъясните что такое глобальные переменные плиз. Сколько ни листал литературу ничего не понимаю по этому поводу. Желательно приведите пример кода с глобальнымы переменными и локальными. Я вообще не пойму почему до сих пор не убрали регистр глобалс
Неактивен
вот один из вопросов тестирования на нашей работе
|
|
что выведет?
так вот $num = 10; находится в локальной области видимости. в функции multiply она не видна, там ее нет. $num которая находится в функции myltiply совершенно независима от $num, которая находится вне функции multipy.
Неактивен
|
|
Неактивен
Привет 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 Вот сам скрипт.За ранее спасибо.
Неактивен
это не пароль,скорее всего это хэш пароля. скорее всего md5 хэш
выполняем следующий код echo md5('1234');
получаем хэш: 81dc9bdb52d04dc20036dbd8313ed055
теперь замени в таблице предыдущее значение хэша, на это. в таком случае пароль будет 1234
Неактивен
Gemorroj написал:
Код:
1
span style="color: #0000BB"><?php$num = 10;function multiply(){// чтобы сделать переменную $num видимой (глобальной) в этой функции// следует оъявить ее таковой с помощью специального слова globalglobal $num; $num = $num*10;}multiply();echo $num;?>
и все что ли? Только различие в глобал объявлений?
Неактивен
AGENT, ну самый распространенный - прием данных из форм или из URI.
соответственно данные попадают в суперглобальные массивы $_GET $_POST $_REQUEST
тоже с сессиями, кукисами.
Область видимости в классах тоже имеет свои особенности.
Неактивен
Gemorroj написал:
AGENT, ну самый распространенный - прием данных из форм или из URI.
соответственно данные попадают в суперглобальные массивы $_GET $_POST $_REQUEST
тоже с сессиями, кукисами.
Область видимости в классах тоже имеет свои особенности.
на сколько я знаю,суперглобальные это не глобальные переменные. Или я ошибаюсь?
Неактивен
они как раз СУПЕР глобальные. Т.е. видны ВЕЗДЕ.
в нашем примере если бы вместо $num была к примеру переменная $_REQUEST['num'], то обьявлять ее как global было бы не обязательно, этот массив и так виден.
Неактивен
Gemorroj написал:
они как раз СУПЕР глобальные. Т.е. видны ВЕЗДЕ.
в нашем примере если бы вместо $num была к примеру переменная $_REQUEST['num'], то обьявлять ее как global было бы не обязательно, этот массив и так виден.
пока понятно. Нужно переварить гг . Спасибо
Добавлено спустя 2 минуты 42 секунды:
Gemorroj написал:
AGENT, ну самый распространенный - прием данных из форм или из URI.
соответственно данные попадают в суперглобальные массивы $_GET $_POST $_REQUEST
тоже с сессиями, кукисами.
Область видимости в классах тоже имеет свои особенности.
а как обойтись в данном варианте без суперглобальных ?
Добавлено спустя 4 минуты 3 секунды:
Дело в том,что у меня нет желания начинать писать с минимальными знаниями и ошибками. Поэтому нужно сначало получить знания. Это лучше чем тебя будут ломать из за ошибок.
Неактивен
хм... во первых замем обходиться без них?
ну есть еще переменные $argc и $argv, в них тоже попадают данные переданные через GET и POST. Но их лучше не использовать просто из-за совместимости и читаемости кода.
Добавлено спустя 37 секунд:
AGENT написал:
Поэтому нужно сначало получить знания.
это конечно правильно)
Неактивен
Забудь, нигде это писать не надо
Паша,смотри. Вот тут же используются глобальные переменные?
|
|
Отредактировано Gemorroj (2009.01.17 17:45)
Неактивен
нет, это не имеет никакого отношения к глобальным переменным
это функция glob http://ru2.php.net/glob для работы с файлами
Неактивен
Вывел описания под именами файлов что бы юзерам было удобнее выбирать файлы. Выборка идет и текстовых файлов,файлы в utf-8. Так вот при этой выборке в 70 символов иногда появляются квадратики которые приводят к ошибке (если смотреть с опера мини 4.2). При нажатии на файл,там есть полное описание и ни каких квадратов нет. Как можно исправить данную ситуацию с квадратиками? Вот скрин куда я вывел часть описания и сам квадратик там видно.
Неактивен
проблему решил интересным образом. echo iconv("UTF-8", "UTF-8", "$opis ...<br/>");
Но тут есть интересность,судя по всему где выводились "квадратики" теперь похоже обрезается это ...<br/> . Как можно решить данную проблему и почему мне приходится перекодировать юникод в юникод для исправления ошибок,ведь на расширенной странице выводится точно такое же описание ,только без вырезания и без ошибок?
Неактивен
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() вообще ошибок убрать не могу. Может есть другой способ?
Неактивен
mb_substr у тебя работал со строкой в однобайтовой кодировке. поставь локаль utf-8 или явно указывай какую кодировку использовать
|
|
Неактивен
Gemorroj написал:
mb_substr у тебя работал со строкой в однобайтовой кодировке. поставь локаль utf-8 или явно указывай какую кодировку использовать
Код:
1
span style="color: #0000BB"><?php$opis = file_get_contents($files.'.dat');$opis = mb_substr($opis, 0, 140, 'utf-8');echo $opis;?>
спасибо. Именно так работает отлично.
Неактивен
Безопасная ли такая форма? Это форму я сделал для загруз центра. Обычно на других сайтах если нажать "ок" из формы то страница перегружается. У меня нет. echo "<input type=\"text\" value=\"http://".$_SERVER['HTTP_HOST']."/dn/".$file."\" name=\"url\"/>";
Отредактировано AGENT (2009.01.22 16:13)
Неактивен
Так если я буду использовать одинарные кавычки,то переменные обрабатываться не будут. Данная переменная отфильтрована в начале.
Gemorroj написал:
Код:
1
span style="color: #0000BB"><?phpecho '<input type="text" value="http://'.$_SERVER['HTTP_HOST'].'/dn/'.$file.'" name="url"/>';?>
подобная форма обязана вызвать ошибку. Обратные косые ты убрал.
Неактивен
Gemorroj написал:
лучше не спорь, сходи на форум джона, да спроси, если мне не веришь.
блин . Это мой косяк был. Я двойную кавычку в конце поставил. Теперь работает. Символов сыкономили гг. И вот особо не пойму почему мы не экранизировали двойные кавычки?
Неактивен
правильно писать именно с одинарными, т.к. это быстрее, красивее и просто так рекомендуют разработчики PHP. обратные слеши нужны только на те символы, с помощью которых мы записываем строку. ну т.е. в случае с одинарными кавычками нужно слешировать одинарные кавычки, но не нужно двойные, и наоборот, если строка записывалась в двойных кавычках, то следовало бы слешировать двойные кавычки, но не нужно было бы слешировать одинарные.
Неактивен
Gemorroj написал:
это символ разметки. смотря в каких случаях, иногда они требуются для корректной переедачи данных.
вот щас смотрю скрипты свои и не вижу этого. Значит необязательно их использовать. Если можно то объясни по подробнее что и для чего.
Неактивен
) ну это плохой стиль просто)
конечно, чем писать так
|
|
лучше было бы написать так
|
|
Неактивен
Я щас почистил весь двиг от ерунды. Убрал все лишнее и работает нормально. Пошел к аффтару поделиться а меня забанили гг
Добавлено спустя 2 минуты 5 секунд:
Кстати у меня вот такой вопрос не стандартный. В .htaccess глобальные выключены. А скрипт показывает что они включены. Что это может быть? Пых как модуль 5. А на 4 пыхе показывал скрипт что выключены глобальные
Неактивен
Ура! Перенес все на другой сервер с пых 5.1.9 в качестве модуля пыха. Гг
Павел,ты не подскажешь что это за код?
|
|
Добавлено спустя 1 минуту 7 секунд:
Что то мне он не нравится .
Неактивен
замена адресов на ссылки
|
|
Неактивен
Gemorroj написал:
замена адресов на ссылки
Код:
1
span style="color: #0000BB"><?phpfunction links($msg){return preg_replace("~((https?|ftp)/[[:alnum:]_=/-]+(\\.[[:alnum:]_=/-]+)*(/[[:alnum:]+&._=/~%#]*(\\?[[:alnum:]?+&_=/%#]*)?)?)~i", '<a href="$1" target="_blank">$1</a>', $msg);}?>
а адрес и ссылка это разные вещи что ли? Гг
и кстати код у него весь именно такой. То есть нет <?php
?>
просто <? ?>
Неактивен
PHP код на данный момент можно обозначать следующими конструкциями
|
|
да, я имел ввиду автоматическую замену http://xxx.ru на <a href="http://xxx.ru">http://xxx.ru</a>
Неактивен
А для чего там https и ftp? Кстати в скрипте меня насторожил такой момент. При инсталяции,в форме ввода мыла,оказалось мыло,которое я указывал в панеле управления хостингом. Что это может значить?
Неактивен
функций подходящих для всех случаев не существует. ну а вообще та самая mysql_real_escape_string
Неактивен
Я неправильно выразился. Не функция,а скорее алгоритм или типо того. Вот код
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;
}
Неактивен
)) глупость это, а не функция)
с помощью этой функции когда-то переводили старые скрипты, которые написаны с расчетом под включенные глобальные переменные, на выключенные глобальные переменные. от SQL она никак не защищает. и к применению никак не рекомендована.
Неактивен
если в дальнейшем переменная $_GET['s'] не используется, то не надо.
Добавлено спустя 2 минуты 31 секунду:
еще желательно использовать фигурные скобки {}
|
|
Неактивен
Есть таблица stat, в ней поля id,ip,link_id
Оператор определяется функцией GetOperator()
Нужно вывести статистику по операторам для определенного link_id
в таком виде:
Мегафон: xx
Билайн: xx
МТС: xx
...
Как это сделать? Хотя бы примерно, а то сам не додумаюсь
Неактивен
Практически дописал скрипт управления рекламой и столкнулся с такой проблемой:
После инклуда в скрипт работающий с БД, файла link.php (в нем рекламные ссылки)
перестает работать скрипт, либо не показываются рекламные ссылки.
В чем может быть проблема?
Неактивен
Всем привет! Небольшой вопрос по php. Как открыть этот массив закрывая коокие if ($b) { } чтоб там где $b можно было закрыть $_COOKIE['abc'] и открылась if ($b)? буду очень признателень
кодеры, вы шо спите? Или я попал не в темку. Дайте ответа...
Привет всем! Как сделать так чтоб этот код echo stripslashes($msg); пропускал только бб коды а не теги html? Вставил это echo htmlspecialchars($msg, ENT_QUOTES) но этот пропускает ни теги ни бб кодов..
bb коды пропускает и к тому же теги тоже (<font ...></font> <div>..) Что нужно сделать чтобы html просто выводилса как текст?
Неактивен
помогите извлечь 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)
чет не выходит
Неактивен
Как конвертировать doc в txt на Linux хостинге ?обясните на пальцах или дайте лучше кусочек кода как ето делаеться)
Привет всем! Граблю загруз но при скачивании не загружается файл а просто текст типа код файла, что нужно прописать в htaccess чтоб избежать это?
Как сделать зеркало сайта?
Гемор, Не помогает(. Я грабил загруз, когда начинаю через него скачать картинку допустим, скачивается не картинка а какой то текст вместо картинки (с тем же размерам), и с любого файла так. Граблю загруз от сеа который у тебя платный, через file_get_contents. Что делать чтоб файлы скачивались нормально?
Т.е. я Hek случайно написал свое имя вместо Hek'a. Пожалуйста ответь
Привет. У меня проблема. Мне нужна wаp скрипт чата. Uzchat.chаt.dj/dchаt почему не регистратсия
SQL запрос :
|
|
- нормально
|
|
- ошибка
нужно выбрать только если количество сгруппированных значений больше 1го
Неактивен
Как обьеденить следующие запросы
SELECT * FROM `forum` WHERE `id`= 5 LIMIT 10
дальше в цикле при выводе значений
SELECT `gender` FROM `users` WHERE `id` = `forum`.`author`
, чтобы при выводе в цикле в ячейке gender массива с результатом запроса был результат второго запроса?
ну так все зависит от того, будет ли использоваться кэш. если в цикле будет более 2 запросов в бд, то скорее всего, следует смотреть в сторону 1 запроса к нескольким таблицам.
Добавлено спустя 2 минуты 38 секунд:
еще, если предпологается работа с большими объемами данных, можно посмотреть в сторону денормализации. т.е. продублировать нужные данные, чтобы к ним можно было легко получить доступ.
Неактивен
Вот такая у меня заморочка. Поставил скрипт, super sea, если создавать папки и лить файлы через админ панель они нормально отображаются, а когда создаю папку или файл с акка их на сайте нет.. Объясните, пожалуйста, как можно это исправить..
Я незнаю можно ли здесь давать ссылки но я вот здесь скачевал http://4mas.ru/download/index.php?act=view&file=6665&SESID=964e711c6366cab731e8f69f59087320
Эта версия очень старая да?
Спасибо.
Админ, та-же самая проблема. Файлы загруженые на сайт не отображаются..
Что тот-же самый скрипт? Нет, этот я уже отсюда скачал http://wapinet.ru/script/show.php?d=%2FZagruzki%2Fsea_downloads2.zip
Все, спасибо, я допёр
А с обратной сортировкой по полю `forum`.`time` как будет?
Спасибо
Это к #602
Привет. Я хочу поставить скрипт 'случайной графической ссылки (баннер)' как защитить картинку от скачкавния?
Жаль. Спасибо.
админ, привет. вот я в файл 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. Все файлы лежат в одной папке
|
|
Неактивен
Спасибо
Поскажите пожалуйста как сделать. Есть таблица привата:
`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 '',
Нужно вывести список моих сообщений как на картинке.
Отредактировано Mark (2010.07.24 10:17)
Неактивен
Таблица с юзерами вот:
`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 '',
Неактивен
|
|
Неактивен
ребята обясните пожалуйста
вот есть 2 таблици
в 1й данные юзера
как мне сделать чтобы юзеру присваивалось со втарой таблице?
например во второй таблице баланс и этот баланс присвоеть в первую таблицу юзерам сколько каждый заработал игравого баланса
спасибо за внимание! не получаеться это делать
Неактивен
AS - это алиас, просто то что слева AS будет иметь имя которое написано справа AS
LEFT JOIN - это связь с таблицей. Т.е. мы добавляем к нашему запросу еще одну таблицу.
ON - это равнозначно WHERE, только используется в случае с джоинами (JOIN)
Неактивен
Gemorroj написал:
AS - это алиас, просто то что слева AS будет иметь имя которое написано справа AS
LEFT JOIN - это связь с таблицей. Т.е. мы добавляем к нашему запросу еще одну таблицу.
ON - это равнозначно WHERE, только используется в случае с джоинами (JOIN)
спасибо доступно обясняешь
Неактивен
нужно оптимизировать запросы.
первый запрос :
|
|
второй (уже при обработке результатов первого)
|
|
можно ли как то это всунуть в один?
пробовал так
|
|
но возвращает всегда is_someid = 0
Неактивен
Morgan просто у тя оба posts, думаю из-за него попробуй основной через альянс
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:48)
Неактивен
|
|
tam vsio provilno i xorosho dzelal? ) eto table dlia blog script
Неактивен
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
Неактивен
Gemorroj написал:
999 - тебе нужно mediumint. http://www.phpclub.ru/mysql/doc/column-types.html
spasibo
Неактивен
На счёт работы Пирата.
Вот тут спор завязался.
/* Функция отфильтровки чисел */
function int($int)
{
return abs(intval($int));
}
я считаю, что нехорошо, что функция использует стандартное имя в php. Согласен или это я уже чудю?
Неактивен
если она вынесена в класс или использует неймспейс, то вроде как считается что все ок. если она в глобальной области видимости, то пхп кинет фатал еррор, т.к. переопределять функции в пхп нельзя. в данном случае, это функция int(), у пхп же языковая конструкция (int). как к этому относиться хз... в доках о таком не читал. лично мне это не нравится т.к. запутывает код.
Неактивен
Геморрой.
Форум Пирата->system/functions.php
тоже сказал, что это правильно, но не очень хорошо.
Неактивен
Morgan написал:
Akdmeh #660
если ты не заметил, у меня есть такая же функция, с таким же именем :\
Братья по несчастью .
Сегодня гуглил по поводу внедрения этой функции в php 6, гугл сказал что не будет. Мы же её в конце концов не цифрой назвали, и с конца в конец не транслитом.
Отредактировано Pirate (2010.08.21 09:07)
Неактивен
Но это сбивает пользователя с толку.
Прочитав функцию int я ожидаю от неё поведение - очистку символов не зависимо от знака.
Поэтому у меня такая функция названа absint (абсолютное число, то есть, беззнаковое).
Ну это конечно ваши проблемы)
Неактивен
Pirate
почему же по несчастью.
Использование вполне оправданно.
Юзать abs(intval($var)); или abs((int)$var);
не хочу.
Akdmeh
так быстрее писать, понятней, и удобней.
Вот к примеру функция, mysql_real_esace_string, гораздо удобнее использовать escape(), да и если что можно будет поменять алгорит обработчика только в одной функции
Неактивен
На счёт mysql_real_escape_string согласен, он у меня давно уже называется
mes - для краткости. Но при этом документируется нормально, и не похож на название стандартного типа.
Это немного удивляет.
Неактивен
Morgan написал:
Pirate
почему же по несчастью.
Использование вполне оправданно.
Юзать abs(intval($var)); или abs((int)$var);
не хочу.
Akdmeh
так быстрее писать, понятней, и удобней.
Вот к примеру функция, mysql_real_esace_string, гораздо удобнее использовать escape(), да и если что можно будет поменять алгорит обработчика только в одной функции
По несчастью по отношению жюри ))).
Я например protect назвал.
Неактивен
Gemorroj написал:
Morgan, если бы ты этот свой int определил в классе, тебе бы никто ничего не сказал. А ты его вынес в глобальную область видимости.
Засунуть функции обработки в один статический класс?!
Неактивен
Вопрос: как ты считаешь, переопределение mysql-класса для добавления дополнительного функционала - хорошо или нет? Падает ли от этого производительность?
Я говорю о функционале типа:
mysqli_additional extends mysqli{...
?
Неактивен
да. считаю что это нужно делать обязательно. тогда у нас есть всегда возможность посчитать запросы, задампить их, и вообще есть низкий уровень доступа - а это всегда полезно. скажем, можно в приватных свойствах еще пароли хранить и проч.
Неактивен
$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?
Неактивен
Gemorroj написал:
Код:
1 2
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);
так?
Неактивен
ппц..))
нет, не так)
|
|
убери urldecode. такой запрос уязвим. %27
Неактивен
Gemorroj написал:
ппц..))
нет, не так)Код:
1
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
спасибо, прикрыл дырочку )
Неактивен
<?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, если переменную не определить.
Минусы - усложнения логики.
Твоё мнения?
Неактивен
думаю, если библиотека будет предостовлять помимо этих 3-х методов еще кучу всякого интересного, то вполне имеет право на жизнь. а если ограничиваться этими 3-мя методами, то пользы просто мало видно.
Неактивен
Думаю, задача класса будет именно в получении данных от пользователя, при чём получение без Notice'ов, а также начальная фильтрация этих данных, например,
input::get_bool input::get_array(это если вводить test[]=1&test[]=4, будет массив, а это вызывает ошибку, и метод get заодно будет проверять тип).
Какие-то ещё идеи будут?)
Неактивен
Ещё в чём минус, если передавать массив(я писал выше) - будут ошибки.
@ действительно довольно сильно тормозит работу, хотя в принципе это не важно)
Неактивен
Геморрой, у меня тоже давно стоит линейка 5.3
Вот я в бложеке ещё это смотрел, ну конечно бенчмарки сакс, тем не менее:
http://akdmeh.net/full_text.php?id=68
То есть, эта функция для меня ещё чисто выгодна проверкой переменной на наличие переменной - противная ошибка)))
Неактивен
http://dev.mysql.com/doc/refman/5.0/en/ … ation.html
EXPLAIN показывает одинаковые результаты и по полям с индексами и без них
Неактивен
две таблицы, posts - сообщения и posts_files - файлы сообщений;
делаю вывод
|
|
возможно ли как то оптимизировать?
Неактивен
а понял.
|
|
Неактивен
|
|
цель : удалить записи в таблицах files и dirs, в которых in_dir_id = 0.
удаляет только из таблицы dirs
Неактивен
не работает регистрация ICQ почему ? сколько не пробовал выдает ошибку!
Ошибка!
Проверте правильность данных и попробуйте еще раз
и так не один раз
обновил скрипт толку 0
да про нее
переустановил не отображаеться картинка права на файл temp.jpg поставил как и написано 666
сейчас попробую в отдельную папку с 0 поставить отпишусь о результате
Подскажите пожалуйста как организовать систему смены размера шрифта на сайте. Есть файл style.css и переменная $razmer=11-14. Файл стиля подключаетя к каждому файлу движка. Как сменить в файле стиля значение Font-size. Сейчас на многих сайтах есть такая фишка в личных настройках.Если можна подскажите приблизительный код.
Отредактировано Mark (2010.10.11 17:36)
Неактивен
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/', '');
заранее благодарю)))
Неактивен
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:43)
Неактивен
как прописывать бд на хостинге h2m.ru.....помогите ....подскажите
foreign key (itemname) references AuthItem (name) on delete cascade on update cascade
что значит on delete cascade on update cascade? т.е. как оно работает? если я удалю запись из 1 таблицы, то и связаная запись с другой таблицы удалится? что происходит когда on update cascade??
Неактивен
1) да, удалится.
2) при обновлении родительской таблицы произойдет действие указанное в ON UPDATE. CASCADE значит обновить инфу у детей в соответствии с данными у родителя.
Неактивен
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.
Неактивен
есть таблица users (есть поле id) и таблица friends ( поля id, user1_id, user2_id). какой внешний ключ должен быть, чтобы при удалении записи из users, удалялась запись из friends, где user1_id или user2_id = user.id?
Неактивен
У меня проблемма с запросом!
Сам запрос:
|
|
Что надо:
Мне надо чтобы со второй таблицы смотрело последнее время совсем(ну там последнее сообщение в форуме например(а именно время)), а первую таблицу выводило с лимитом 0,10 (это постраничная навигация)... Две таблицы одинаковые... Недавно начал склеивать таблицы, чтобы не уменьшать производительность скриптов...
Если такое было, прошу кинуть ссылочку
Отредактировано FireStorm (2010.10.27 13:33)
Неактивен
Ну да... Но мне time со второго запроса надо.... Запрос несколько иной у меня, но суть такова как написала
Отредактировано FireStorm (2010.11.10 08:32)
Неактивен
Если убрать GROUP BY `f`.`id` то первый результат выдачи, тот который мне нужен...
Добавлено спустя 3 минуты 14 секунд:
Мне так кажется, что лучше добавить в базе еще одно поле(updatetime)... Ну если другого способа не найду
Неактивен
Вопрос по SQL:
Есть таблица с постами и темами в форуме, нужно для цикличного вывода тем подсчитать посты в выводимой теме что-то типа этого:
$query = mysql_query("SELECT topics.*,COUNT(*) FROM topics,posts WHERE topic_id=topics.id LIMIT 0,10");
Отредактировано Pirate (2010.10.27 15:40)
Неактивен
Gemorroj написал:
в чем проявляется некорректность?
Идея в том, что я пишу форум, для него сделана одна таблица, и мне надо было, чтобы тема где последний пост выводилось само выше..
Добавлено спустя 3 минуты 25 секунд:
Pirate написал:
Gemorroj написал:
Код:
1 2 3
SELECT topics.*, COUNT(posts.id) AS cnt LEFT JOIN posts ON posts.topic_id = topics.id LIMIT , 10 Если не сложно, можешь расписать запрос? Ибо я JOIN плохо понимаю.
Отредактировано FireStorm (2010.10.27 17:31)
Неактивен
FireStorm написал:
Gemorroj написал:
в чем проявляется некорректность?
Идея в том, что я пишу форум, для него сделана одна таблица, и мне надо было, чтобы тема где последний пост выводилось само выше..
ORDER BY id DESC
Неактивен
Pirate написал:
FireStorm написал:
Gemorroj написал:
в чем проявляется некорректность?
Идея в том, что я пишу форум, для него сделана одна таблица, и мне надо было, чтобы тема где последний пост выводилось само выше..
ORDER BY id DESC
Это аналог того, что и я можно сказать написала выше(в самых первых постах. Я про вывод)... Проблему решила добавлением еще одного поля....
Отредактировано FireStorm (2010.11.10 08:34)
Неактивен
Возник еще один вопрос, играет ли особую роль в производительности при указывании в запросе, что нужен вывод всего лишь одного элемента(LIMIT 1)... И сразу же если да, то тогда следующий вопрос, а есть такое, где это необязательно(тоесть производительность от этого выше не станет)?
Неактивен
FireStorm написал:
Возник еще один вопрос, играет ли особую роль в производительности при указывании в запросе, что нужен вывод всего лишь одного элемента(LIMIT 1)... И сразу же если да, то тогда следующий вопрос, а есть такое, где это необязательно(тоесть производительность от этого выше не станет)?
Если в условии запроса указать ячейку с ключом, например: (id-primary key), то не играет, если это не ключ то лучше делать.
Добавлено спустя 1 минуту 51 секунду:
и мой вопрос)
как сделать в регулярке типа (JAR|SISX)?
preg_match_all
Неактивен
FireStorm
как мне кажется, конечно играет.
серверу приходится дергать все строки, а при указании "LIMIT 0,1" он вытянул первую строку и закончил
Неактивен
FireStorm, есть, если выборка строится на уникальных значениях. Т.е. если на id - PRIMARY KEY, то SELECT * FROM table WHERE id = 10 с лимитом или без, разницы нет.
Добавлено спустя 51 секунду:
Pirate, не совсем понял. Объясно зачем preg_match_all и зачем именно регулярка.
Неактивен
Gemorroj написал:
FireStorm, есть, если выборка строится на уникальных значениях. Т.е. если на id - PRIMARY KEY, то SELECT * FROM table WHERE id = 10 с лимитом или без, разницы нет.
Добавлено спустя 51 секунду:
Pirate, не совсем понял. Объясно зачем preg_match_all и зачем именно регулярка.
Уже разобрался, спасибо.
Неактивен
Pirate
SELECT `type` FROM `table` WHERE `type` REGEXP '^(jar|sisx)$'
хотя наверно было бы лучше
SELECT `type` FROM `table` WHERE `type` = 'jar' OR `type` = 'sisx'
Неактивен
Morgan написал:
Pirate
SELECT `type` FROM `table` WHERE `type` REGEXP '^(jar|sisx)$'
хотя наверно было бы лучше
SELECT `type` FROM `table` WHERE `type` = 'jar' OR `type` = 'sisx'
Эм, а mysql зачем?
Неактивен
Pirate
Главная » PHP/MySQL » PHP+MySQL
Добавлено спустя 46 секунд:
вместо REGEXP тут лучше LIKE подошел бы.
LIK'ом можно также сделать?
Но в принципе и так и так неправильно)
как так?
Неактивен
Morgan, эм, посмотрел внимательнее регулярку, я имел ввиду это)
|
|
т.к. вероятно, нужно-таки проверять только расширение.
Неактивен
есть такой массив:
[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|
Количество элементов в массиве может быть разное
Неактивен
на сколько данное решение гомнисто?
|
|
Неактивен
1) до идее должно нотис на labelTime выдать.
2) $labelTime[2] и $labelTime[3] вычисляются и "сегодня", и "вчера", хотя ни там, ни там не используются.
ну а так норм, единственное что лучше уже переползать на класс DateTime. В последнем своем проекте на работе огребли кучу проблем со стандартными php функциями для работы с датой.
Неактивен
включен полный вывод ошибок, ничего не вывело...
labelTime во всех трех случаях используется...
З.ы я его и так юзаю, просто в данный момент лучше юзать ”это”
Добавлено спустя 7 минут 29 секунд:
поправил немного...
Неактивен
Проблемы какие-то с запросам.
Такой запрос
"SELECT COUNT(*) FROM `forum_topics` WHERE `last_date` > '1288607120' AND `last_date` < '1288615359'"
Сжирает 122 мсек времени, хотя все другие (и более сложные) не больше 1й мсек.
Кто в этом виноват?
MySQL сервер?
Неактивен
Gemorroj написал:
оппа, что это у тебя за аватарка, Nu3oN? сертификат у зенда получил?
ну нафиг гг так, поржать гг
Я слишком жадный что бы 20к отдавать...
Неактивен
я бы в принципе сертифицировался если бы знал что буду работать в области разработки... Но нет такой возможности, и тем более я даже не знаю где это востребованно у нас в области
Добавлено спустя 51 секунду:
в общем говоря мне оно не надо
Неактивен
Даброй ночи, подскажите пожалуйста как с помощю preg_match выделить айди в ссылке, допустим есть страница со ссылками типа
<a href="http://sait.ru/dog/?newsid=43">Фильмы</a>
Я хочу загнать страницу в цыкл и через preg_match выделять чило, в даном примере 43.
Как мне это сделать, Вот начал запрос а как продолжыть хз preg_match_all('/<a href="\/dog\/([a-z0-9\_\-\/\.\(\)]+)
|
|
Неактивен
Спасибо за помощь. Если есть возможность подскажите как найти выход из ситуации, использовал код который вы дали и возникла проблема как с текста вырезать ненужный блок текста <!-- Archive-Start --><div id='news-id-46'><b>Вид</b>: Фильм<br /><br /> , проблема в том что чило ( в news-id- ) меняется и оно помещено в переменную $val . Пробовал с помощью substr но не получилось.
|
|
Неактивен
всё, разобрался))) тока пока разбирался, раз 5 денвер удалил((( у меня такая структура папок:
папка 1/
в ней этот файл и папка 2, в которой создаются другие файлы и папки...так вот, мне надо, чтоб удалялось содержимое папки 2, а она сама оставалась...а у меня или удаляется всё с папкой, или ваще вся папка home на денвере оО
Неактивен
блиииин(((
|
|
сама папка 111 должна остаться, а всё содержимое - удалиться....но у меня всё удаляется...rmdir убираю - вообще ничего((
Неактивен
|
|
Неактивен
Здравствуйте.
У меня проблемы с проверкой существования такого же файла. Реализовал структуру:
по ид определяет в какую папку ложить файл(с 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 будет разное....и почему то это еще и варнинг выдает. Как же все таки правильно проверить? Заранее благодарен
Неактивен
|
|
это по поводу варнинга. а в целом вопроса не понял.
Неактивен
Неактивен
Неактивен
Че та уже час втыкаю, и нихрена не пойму о_О
Вот таблица
|
|
отправляю такой запрос
|
|
time_click обновляется, а все остальное с нулевым значением...
Добавлено спустя 38 секунд:
тоже самое и при записи
З.ы это mysqli
Неактивен
ооо блин... теперь еще хлеще история
пишу так
|
|
всего один запрос, а вот что выходит в итоге
|
|
отправляю один запрос, а записывается дважды о_О
Неактивен
ошибка разрешилась сама... думаю надо удалять денвер и ставить топ сервер о_О
то при запуске еще требует какую то библиотеку avicodec.dll вроде...
Добавлено спустя 3 минуты 5 секунд:
Gemorroj написал:
воспроизвести не удалось (php 5.3.3). вероятно, тут нужно копать в сторону некорректного php кода, а не sql
нет... этот запрос отправляется в том виде, что я показал!
я специально писал такую фигню
|
|
Неактивен
Nu3oN, так а что денвер? от него по сути только автосоздание хостов. php, apache, mysql можно руками самому обновлять из noinstall версий (ссылки могу дать, если надо). avicodec.dll для php_ffmpeg нужен вроде.
Неактивен
Подскажите пожалуйста как сделать вывод картинки. Есть файл 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, но не фурычит(
|
|
Если просто выводить в файле test.php картинку через echo '<img src="http://sait.ru/AAAAAAAAAAAA"/>'; то нормально отображает ее только Opera a Google Chrome и Internet Explorer нет.
Вообщем такая проблема:
С этой http://mobjar.ru/games/8433 (к ресурсу отношения не имею), надо с неё регулярками вырезать экраны, да так чтоб список экранов соответствовал джар файлу. То есть я парсю данную страницу, и записываю в бд. Есть поле с экранами и надо записывать так:
176x220: MOT E398,E770,L7,E1,V3i,Vxxx\n|\n240x320: S40 3ed.\n240x320: S60 3ed.: Symbian 9.1\n
Я смог сделать только чтобы по одной строке с каждого джар файла писалось, а ведь где одна строка, а где-то две, три, и при чем все это к одной игре относится.
Неактивен
|
|
Неактивен
Gemorroj большой спс.
Вот еще небольшой вопрос созрел. Вот как устроена (организованна) страница типа: "Файл подготавливается к скачиванию, подождите 0%. Обновить"
Я так думаю буферизацию надо использовать, а вот что именно в этот момент происходит пока юзер ждет, не догоняю. Ну думаю копирование файлов, а еще что? И вообще как она устроена? Благодарю.
Неактивен
Подскажите, как в Sеа идет подсчет файлов в отдельной папке, хочу на главную вывести, а как не пойму
Не получается!... пишу так
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);
вот щас заработал, но показывает только новые файлы
Блин.. этот код папки щитает))
А есть ведь код, где просто указываеш id папки!
вот нащел в index
|
|
че тут переделать?
блин это вообще.. тоже не работае..
писал так в отдельном файле! я все это пытаюсь вывести на главной.
$65 = mysql_result(mysql_query('SELECT COUNT(1) FROM `files` WHERE `infolder`="files/!Simbian_9.4/" AND `size` > 0 LIMIT 1'), 0);
echo '('.$65.')';
А как сделать чтоб после обновления страницы, скрипт не сначала начинал работу, а откуда надо?
И еще вопрос, так правильно сравнивать размер полученны с get_headers с размером загружаеМОГО файла
if (filesize('data/'.trim($muza[5])) != trim($siz[1]))
??
Неактивен
переменные не могут начинаться с цифр.
Добавлено спустя 2 минуты 30 секунд:
LooK написал:
А как сделать чтоб после обновления страницы, скрипт не сначала начинал работу, а откуда надо?
скачивать файл должен другой скрипт нежели тот, который генерит страницу с процентами.
LooK написал:
if (filesize('data/'.trim($muza[5])) != trim($siz[1]))
примерно так
Неактивен
я и латинскими набирал, все также
поменял на латинские буквы, показывает (0) хотя файлы есть..
да нет.. папка правильная..
Не работает.. хрен с ним! устал уже, щас клаву запулю в угол, если продолжу
Блин ты не повериш)) получилось))
Сново заморочки.. как правильно инклудить счетчик на главной john, делаю так include 'co.php'; и пол страницы исчезаит
Все сделал, ток как теперь вычилить в каждой папке новые файлы %)
Как вообще правильно смотреть если новые файлы в папке?
|
|
Вот брал этот код, прописывал папку, которую смотреть надо, в отдельном файле работает
записываю на главну, и показывает все файлы, так выглядит, Windows (23 23) почему так не пойму
вот этот код писал в index возле нужной ссылки
|
|
COUNT(1) и COUNT(*) - в данном случае одно и то же.
|
|
Неактивен
нет все также, в файле отдельном например reo.php работает, А когда твой код ставлю прям в index показывант так (55+55) Я так понимаю, нужно к сылки инклуд счетчика делать, но на john не получается,
делаю так include 'reo.php' и нижняя часть страницы исчезает..
Все сдел..) остался последний ворос вот на гланой страницы выводится 10 рвзделов я переделал на 15, но теперь когда открываеш папку, например видео там выводится 15 штук..
if($onpage < 3){
$onpage = 10;
вот тут место 10 поставил 15! надо что то добавить?чтоб в нутри папки например было всего на вывод файлов 7 строк
Неактивен
|
|
помогите пожалуйста реализовать, в гет содержится полный путь к файлу.
Все получается тупо, когда файл уже загрузился выводится сообщение, обновить (
Неактивен
1) у get_headers есть 2 параметр, используй его.
2) url файла, который нужно скачать записывается в таблицу, а скрипт запускаемый кроном через каждые 5 сек читает таблицу и скачивает файлы.
3) скрипт, который описан тобой тут просто должен проверять file_exists
Неактивен
вот думаю как лучше осуществить мультиязычность сайта?
Хранить все в массиве, или создать например энное колличество папок, с шаблонами на разных языках...
Кто, что думает по этому поводу?
Неактивен
во первых есть php модуль gettext, использовать ли его, вопрос сложный.
а вот зачем под каждый язык отделная директория совсем не пойму. там же все равно будет по 1 файлу с массивом?
Неактивен
Начались какие-то непонятные проблемы с кодировкой... Выбираешь UTF-8 в браузере, в базе прописываешь вручную ТЕКСТ и на выходе <?><?><?><?><?> уже в самом движке.
И наоборот, если с движка прописываешь в базу, то в базе <?><?><?><?><?>
С чем связанно?
Отредактировано tipsun (2010.12.31 21:48)
Неактивен
Походу с denwer чет не то... я переустановил, все равно проблема не решена...
Везде utf-8 (utf8, utf8_general_ci)...
Добавлено спустя 3 минуты 56 секунд:
Нет, ниче не помогает((
Было вроде все норм...
В браузере ставишь UTF-8 сайт отображается корректно, вводишь с сайта данные и в базе коряво записываются
Сбрасываешь на автомат, сайт отображается не корректно, а введенные с сайта данные, в базу, корректно
Отредактировано tipsun (2010.12.31 22:26)
Неактивен
никогда не вини денвер) дело в руках) на основании тех данных которые ты таки не дал. сказать можно только о часто распространенных ошибках. часто - это соединение с mysql сервером с дефолтными настройками, т.е. latin1, а не utf8, решается через set names в скрипте, либо не помню какой директивой в my.cnf
Неактивен
Да, точно "latin1".
|
|
Саму кодировку соединения <latin1> не поменять, как я понял, но все остальное поменял:
|
|
Вроде проблема решена, СПС))
Отредактировано tipsun (2011.01.01 01:26)
Неактивен
Я не понимаю, где и чего менять.
Я сделал запрос (Пост #864) в СУБД Variable все поменялось на необходимое.
Но
|
|
Хотя проблем с кодировкой сейчас нет, вроде.
Единственное при restart denwer приходится заново запрос делать на utf8
Я еще побродил по папкам denwer и понял в папке [C:\WebServers\usr\local\mysql-5.1\share\charsets\], что utf8 там и нет
Отредактировано tipsun (2011.01.01 10:25)
Неактивен
Неактивен
ID vs LOGIN
у меня в, уже 2жды (и после ответа подозреваю будет 3жды), говнодвижке primary key на поле LOGIN, a поля ID вообще нет, плохо ли то, что операции прохотят с использованием поля LOGIN?
Отредактировано tipsun (2011.01.11 22:16)
Неактивен
не может быть 2 primary ключа. он по определению может быть только 1.
если на login стоит primary и все его отличие от обычного id в типе varchar, то разница особо заметна не будет. хотя int, конечно, всегда будет быстрее varchar
Неактивен
Вот такой парадокс:
|
|
Я уже нашел выход, но все же почему так, если я везде int указал в базе?
|
|
Отредактировано tipsun (2011.01.15 20:28)
Неактивен
Я проверяю значение.
who = 1 - админ, 2 - модер, 3 - юзер;
Чтоб получить доспук к изменению своей анкеты надо чтоб авторизация совпадала с ид (который был отправлен формой) либо это был админ
Если оба значения неверны, то выкидывает на главную
Отредактировано tipsun (2011.01.16 11:34)
Неактивен
Не знаю как реализовать вывод смайлов для просмотра какие есть смайлы.
Для собственно самой функции смайлов вот так написал:
|
|
Ну не вписывается короче код
Как вевести с бази посетителей за сутки?
Тип даты в строке 00-00-0000 00:00:00
Вот ето посетители за сутки так вивожу
<?php
$q = mysql_query("SELECT * FROM
`users` WHERE `timeob` LIKE
'".(date("Y"))."-".(date("m"))."-
".(date ("d"))." %:%:%' ORDER BY
`time` DESC LIMIT $s, 10;");
?>
Огромное спасибо.
А как можно реализовать вывод фаилов на экран, с обрезаным типом? В моем случае .gif,
тобишь заместо file.gif
писало просто file.
А как обрезать тип? У меня сейчас просто выводит содержимое.
|
|
Блин етот код виводит посетителей за сегодня. Мне нужна чтоб виводил так с теперешней 2011-01-25 23:50:00 до вчарешней 2011-01-24 23:50:00.
Tinga написал:
А как обрезать тип?
|
|
Добавлено спустя 5 минут 52 секунды:
Dawapnet написал:
Блин етот код виводит посетителей за сегодня. Мне нужна чтоб виводил так с теперешней 2011-01-25 23:50:00 до вчарешней 2011-01-24 23:50:00.
проверь еще раз. я менял знак `timeob` > DATE_SUB
Неактивен
|
|
Что не так в запросе?
Неактивен
может я сильно отстал от жизни, но 2 таблицы одновременно обновлять нельзя.
ну да, полез в мануал. нельзя же. http://dev.mysql.com/doc/refman/5.5/en/update.html
Неактивен
чувак, ты отстал от жизни)))
http://ru.w3support.net/index.php?db=so&id=546879
---
З.ы ошибка была с таблицей
Неактивен
Такая глупая идея у меня... х.з реализовывать или нет!
Есть таблица users для чего она объяснять нет смысла...
так вот, она выходит у меня с кучей полей с которыми я уже запутываюсь!
и вот необходимо теперь еще штук 10 добавить со счетчиками типа колличество сообщений, постов, тем и т.д
и задумался я о создании отдельной таблицы для этого! типа:
|
|
и потом массив кэшировать в файл, и обновлять раз в час например!
Стоит ли это реализовывать? или все же лучше это держать в таблице users?
Неактивен
ну.. можно держать в отдельной таблице, подгружать ее через INNER JOIN. Кэшировать тоже все можно. По-моему идея здравая.
Всегда же нужно отдавать предпочтение в угоду удобству и поддерживаемости в ущерб производительности.
Неактивен
привет) помогите плиз) пробую писать подобие парсера, допустим структура папок такая:
папка1/
.папка2/файл1
.папка3/файл1
как сделать так, чтоб каждый раз не прописывать путь к папке, а выкачать папку1 со всем содержимым?
Неактивен
прошу прощения за тупой вопрос но у меня такая проблема ! к примеру я создал тему для сайта и она лежит по адрессу localhost -> themes/mytheme/ и файлы там style.css header.php footer.php ! мне надо вставить ее к примеру на страницу index.php находящиюся по адрессу localhost->video/films/kino/ делал так через include '/themes/mytheme/header.php'; ....... и выводит ошибку ! много раз проьовал по всякому но ничего у меня не получалось ! подскажите пожалуйста
kirill написал:
прошу прощения за тупой вопрос но у меня такая проблема ! к примеру я создал тему для сайта и она лежит по адрессу localhost -> themes/mytheme/ и файлы там style.css header.php footer.php ! мне надо вставить ее к примеру на страницу index.php находящиюся по адрессу localhost->video/films/kino/ делал так через include '/themes/mytheme/header.php'; ....... и выводит ошибку ! много раз проьовал по всякому но ничего у меня не получалось ! подскажите пожалуйста
Ну тут 2 способа:
|
|
Отредактировано tipsun (2011.02.04 21:34)
Неактивен
include 'Z:/home/localhost/themes/mytheme/header.php';
Добавлено спустя 1 минуту 1 секунду:
На сервере /home/td/tp/themes/mytheme/header.php
Добавлено спустя 6 минут 59 секунд:
а вообще это не вариант.
Попробуй так
|
|
Добавлено спустя 8 минут :
И посмотри какую папку откроет
Отредактировано TLENS (2011.02.07 23:48)
Неактивен
Gemorroj, нет это не фреймворк. Вообщем есть два класса модели и вида. В виде создается экземпляр класса навигации и тд, так как же тогда в модели сформировать запрос такого вида "SELECT * FROM `write` GROUP BY `id` DESC LIMIT ".$navig->begin.", ".$navig->pnumber
Неактивен
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:53)
Неактивен
Неактивен
Привет. Подскажи как зделать типа голосовую почту в чате, ну чтоб была такая кнопка "записать голосовое сообщение(аmr)" и после записи отправить сообщение
Нужна записать файл аmр и отправить етот файл пользователю (чтоб прослушать файл его нужна проста скачать на тел.) и ненужна думаю некакова приложения. Главное как записать голос чтоп с бравзера невиходить
Нужна записать файл аmр и отправить етот файл пользователю (чтоб прослушать файл его нужна проста скачать на тел.) и ненужна думаю некакова приложения. Главное как записать голос чтоп с бравзера невиходить
Ну ето нужна с бравзера телефона виходить и записивать файл а дальше загружать(так неудобно будет). А как зделать так чтоб ненужна с бравзера виходить а записать и сразу отослать?
Вот интересно как правильней:
|
|
или
|
|
По мне так удобней второй вариант, т.к я сразу вижу какое условие выполняется!
Неактивен
Неактивен
Помогите пожалуйста с функцией:
|
|
Мне надо чтоб 1 запросом раздельно можно было получить количество юзеров и гостей - онлайн.
Ну ответ был типа такой:
|
|
Заранее спасибо, даже просто за внимание
Отредактировано tipsun (2011.02.28 22:42)
Неактивен
|
|
Неактивен
день добрый ! я чет тут сижу и и меня не получается склеить флеш плеер с пхп !
я как только и не делал , какие функции и не писал ! смысл получается в том что мне надо чтобы из прочитанной директории сслылка файла была добывленна в эту ф-ию <script type="text/javascript">
AudioPlayer.embed
(
"audioplayer_1",
{
soundFile: "СДЕСЬ АДРЕСС ССЫЛКИ",
titles: "СДЕСЬ НАЗВАНИЕ ФАЙЛА",
помогите кто сможет пожалуйста
Неактивен
от_кого | кому
.... х .........|... у
.... у .........|... х
Можно ли исключить 1 вариант при существовании 2х сразу, муслулами. Но чтоб если нет 1 из них то это бы не помешало?
Пыхом сделал, там через массив...
- Это для, как бы, открытых диалогов. Если ты или тебе написали сообщение, то у тебя отображается отправитель и у отправителя отображаешься ты
Отредактировано tipsun (2011.03.14 17:41)
Неактивен
Не. Это пробовал. При ответе на сообщение появляются 2 диалога в списке.
Пыхом я так и сделал, такой запрос, потом сливаю всё в массив заменяя от_кого=моему_ид на кому
и если даже я ответил на сообщение, то $chats = array_unique($chats); нормализует
как в одноклассниках типа получилось.
При переходе открывается переписка.
Думал если мускулами можно, то надо бы меньше пыхтеть.
Отредактировано tipsun (2011.03.14 17:50)
Неактивен
|
|
Отредактировано tipsun (2011.03.15 22:38)
Неактивен
http://wapinet.ru/icq/registration_icq.php не работает пишет
Ошибка!
Проверте правильность данных и попробуйте еще раз
и так много раз в чем косяк ?
tipsun написал:
Код:
1
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:52)
Неактивен
POFIGISST, так я вообще не понимаю в чем дело? SQL запрос с удалением составить? Сделать cron задание?
tipsun, это ужасно. LIKE для работы с датами - это верх некомпетентности.
|
|
Неактивен
11 так 11...
|
|
Отредактировано tipsun (2011.03.23 09:46)
Неактивен
Возник у меня еще один вопрос)) у меня в чате один чел делал подарки,ник его писать не буду,так как это не столь важно)) Но он сделал,что юзеру можно подарить тголько 1 подарок,он заносится в базу,и вывод идет уже из базы,а я хочу чтоб в базу заносились все подарки,но для каждого подарка (250шт.) создавать отдельное поле в базе это ИМХО,поэтому возник вопрос как сделать в базе,чтоб в одно поле заносились все подарки?)))
Неактивен
Что лучше: MySQL, MySQLi, PDO?
На MySQL и MySQLi простецкие алгоритмы смогу составить...
PDO вообще не знаю...
И хорош ли http://code-igniter.ru/?
Отредактировано tipsun (2011.03.24 19:54)
Неактивен
Говорят, PDO помогает не зависеть от базы данных.
Лично я понял, что не скоро откажусь от mysqli, поэтому на ПДО переходить не буду.
Хотя можешь перейти)
Неактивен
MySQLi удобно. Сам пользуюсь.
Но в страшном PDO есть свои + я чуть просмотрел доки))
- - - -
Мда, PDO - супер вэСЧЬ. То что на MySQLi надо самому придумывать там уже заложено.
Отредактировано tipsun (2011.03.25 08:35)
Неактивен
У мя такая шняга в скрипте,перехожу на страницу реги,а там "Can not open new session file." Не удалось открыть новую сессию,хотя на денвере ставил,все норм был((а на хосте такая фигня((( как её можно исправить?)
Неактивен
бредовые тесты, и так ведь ясно было что PDO быстрее, т.к. это нативный php модуль. Написан, на C/C++, а сравниваемые решения на PHP.
Да не в скорости совсем дело. Скорость успеет 100 раз потеряться на плохой архитектуре.
Неактивен
Gemorroj написал:
iceman12, чем оно лучше Doctrine или Propel?
Эти ORM никогда не приходилось использовать. А хPDO зверь по-сравнению с чистым PDO, я имел ввиду
Вот вопросец. Как вы реализуете настройки в ваших приложениях? Т.е. какая-то определенная функция, например, set(key), куда передается ключ, и она возвращает true либо false[или какие-то другие значения, в зависимости от типа данных].
Или как-то иначе?
Отредактировано iceman12 (2011.03.31 10:52)
Неактивен
Gemorroj написал:
настройки... как правило - это что-то не изменяемое, т.е. никаких set нету..
если имелись ввиду какие-то пользовательские настройки, то обычная работа с БД
Ну, а, к примеру, количество объектов для пагинации на страницу(указываемое из Админки)? Или ВКЛ/ВЫКЛ Регистрации? И т.д.
То, что работа с БД - понятно, а как используете в скрипте? Просто через массив?
Неактивен
Подскажите пожалуйта как можно организовать систему мультизагрузки файлов в обменник (с русскими именами файлов).
Допустим есть файл Картинка.jpg а сохранялась как kartinka.jpg на сервере. Использую класс fileupload-class.php, но там если названия файла ььь.jpg то получим файл с названием .jpg Что делать?
Тряма всем)))У меня такой вопрос,поставил се на сайт скрипт соцки, phpbb переделанный в соцку)) При установке там должна была быть папка install но её не оказалось,ну вродь так нашел где прописывать базу и пользователя,после того как прописал сделал себя админом через базу))Но вопрос такой,там на главной,стоят ссылки " Форум" "Блоги " и т.д. все работает норм,кроме ссылки на " Фотогалерея" адрес идет там такой http://vcemu.ru/album.php?action=personal_index и я незнаю как исправить,чтоб был мой адрес,откуда там идет include я х\з ((( http://вапсеть.рф это адрес самой соцки))Помогите плиз(((( Выкладываю index.php )))))))
Отредактировано POFIGISST (2011.04.06 12:47)
Неактивен
какая тут ошибка в 4 строке кода?
|
|
Неактивен
Хочу сделать сайт типа waplib.net
какой скрипт лучше использовать?
Может есть какие библы по работе fb2 ? А может быть есть веб библиотека с нужным функционалом?
POFIGISST написал:
Эту ошибку исправил,еще показывает что там ошибка(((((
нефиг пользоваться всякими говнофтп. явно видно что отсутствуют обратные слеши.
Добавлено спустя 4 минуты 38 секунд:
Syngularity, сходу находится в гугле http://conferdigit.ru/page/model-dlja-p … fb2-na-php. а вообще, если это xml формат, то проблем с парсером быть не должно.
Неактивен
Gemorroj написал:
POFIGISST написал:
Эту ошибку исправил,еще показывает что там ошибка(((((
нефиг пользоваться всякими говнофтп. явно видно что отсутствуют обратные слеши.
Добавлено спустя 4 минуты 38 секунд:
Syngularity, сходу находится в гугле http://conferdigit.ru/page/model-dlja-p … fb2-na-php. а вообще, если это xml формат, то проблем с парсером быть не должно.
Я не пользовался говнофтп,я редко использую фтп,и только 2 пользуюсь,на твоем сайте,и еще на одном))Этот код парсера я посмотрел на 4масе,всунул его в phpdesingner(о ктором кстати тож от тебя узнал,спс за это) а там показало что ошибка,я в пыхе лох,поэтому незнал что там за ошибка(((
Неактивен
|
|
Неактивен
Такой вопрос возник по мускул,как что нужно выставить в базе,чтоб в поле заносилось не одно название файла))Например,подарки в чате,в базу заносится только название 1 подарка,например 112.jpg ,а я хочу чтоб заносилось например штук 30,и чтоб они выводились если в базе поле не пустое,например если в базе 10 подарков у юзера,то чтоб они все выводились)
Неактивен
гуманно ли такое решение?
В общем суть функции в том, что когда в цикле выводятся сообщения, и нужно получать информацию о юзере!
|
|
Неактивен
в смысле сама функция user_info выполняется в цикле?
есть же кеширование, как я вижу, норм значит)
еще совет, замени везде time() на $_SERVER['REQUEST_TIME'] либо вынеси в константу и юзай ее...
Неактивен
Gemorroj написал:
в смысле сама функция user_info выполняется в цикле?
есть же кеширование, как я вижу, норм значит)
еще совет, замени везде time() на $_SERVER['REQUEST_TIME'] либо вынеси в константу и юзай ее...
да, это в цикле все происходит! Заменил) я че то даже как то не задумывался о этом))
Неактивен
Gemorroj написал:
а что такое 7200 ? время жизни кэша? вынеси это в настройки какие-нить, заманаешься потом с такими захардкожеными значениями.
ну так оно и планируется, просто на время отладки пишу так
Неактивен
Функция мега продуманно написана.
Возьму на заметку.
- - - -
time() - реальное время.
$_SERVER['REQUEST_TIME'] - время клика.
--
Если ставить $_SERVER['REQUEST_TIME'], то смело из цикла всё махинации с лимитом тунеянства (-120), наверно что-ли...
Отредактировано tipsun (2011.04.09 00:50)
Неактивен
tipsun, поскольку скрипт, как правило работает менее секунды, то time() и $_SERVER['REQUEST_TIME'] отличаться не будут. и в любом случае, нам достаточно $_SERVER['REQUEST_TIME'].
Неактивен
#996 скопируйте пожалуйста в .txt
Я имел ввиду скопировать код с ссылки которую дал Gemorroj в 996 посту, а не сам пост
http://conferdigit.ru/page/model-dlja-parsinga-fb2-na-php
tipsun, и зачем мне файл со ссылкой?
Второй раз я однозначно написал что надо скопировать, и если бы я мог скопировать, так бы и не просил
Неактивен
Gemorroj написал:
создаешь таблицу куда заносишь подарки и ID пользователей.
У меня создано поле для подарка в базе,но туда только 1 подарок заносится,а делать в базе 300 полей для каждого подарка отдельное поле,то эт не вариант))
Неактивен
|
|
Отредактировано tipsun (2011.04.09 16:13)
Неактивен
MemCache by OZ_: http://xwab.ru/forum/topic28301
Отредактировано tipsun (2011.04.21 22:00)
Неактивен
Писал с расчетом на защиту от всякой гадости в $_GET['dir'] в моем зц
Норм?
еще чуть наговнокодил
|
|
Отредактировано tipsun (2011.04.22 23:54)
Неактивен
Я там еще поговнокодил, вроде от запоропоноса должна помочь.
- - - -
Если нет, то как тогда?
Так:
|
|
Отредактировано tipsun (2011.04.22 23:43)
Неактивен
tipsun написал:
Писал с расчетом на защиту от всякой гадости в $_GET['dir'] в моем зц
Норм?
Ну при opendir/readdir без всякой защиты могут ведь прописать /. или /../../ и посмотреть папки, которые находятся выше. Я этого хочу избежать.
+
папки со спец символами я всё равно использовать не буду, значит спец символы тоже исключаем из принятых из $_GET['dir'] данных.
А как же файлы, там же точка и расширение. Ну сделаю прямую ссыль на файлы, а на папки как обычно ?dir=/audio/mp3/
Отредактировано tipsun (2011.04.23 08:20)
Неактивен
Вот додумался так сделать, по-моему самая простая/примитивная защита.
|
|
Отредактировано tipsun (2011.04.23 12:59)
Неактивен
как сделать номера?
вот мой код
|
|
у меня выводит вот так как на первой картинке ,а я хочу сделать чтоб под номерами выводило,как на второй картинке )) как такое можно сделать?))
Отредактировано POFIGISST (2011.04.25 11:41)
Неактивен
|
|
Неактивен
|
|
вродь все так)))
Неактивен
Почитал сегодня о такой возможности в php phar...
Собственно решил обернуть в такой "архив" свои классы типа MVC_BaseController, MVC_Router, DB_ClassBase, DB_Statement
что бы не вносить их в отдельные категории... Что думаете?
Неактивен
Задумал такой автолоадер, что думаете?
|
|
Неактивен
У мя в phpmyadmin при создании нового поля есть такая тема "Collation" переводит это слово как "Сопоставление" и там идет выбор разных кодировок )) какую кодировку нужно поставить,чтоб там был текст на русском языке,и его нормально выводило?))а то разные кодировки пробовал,а текст все равно выводит квадратиками((или знаками вопроса((
Неактивен
Nu3oN написал:
// Проверяем подключен ли необходимый класс или нет.
if (class_exists($name, false)) {
return false;
}
то не понял, автолоадер вызывается только тогда, если класс не найден
Неактивен
|
|
как тут дивы прописать?чтоб они были между маркерами %s ?)))
Неактивен
Блин,я уже и так
|
|
пробовал ставить дивы,и так
|
|
а оно ошибку выдает(((
Отредактировано POFIGISST (2011.05.02 22:15)
Неактивен
Здарова. Подскажи как определить бравзер телефона если юзер с оперы?
Неважно где. Как определить модель телефона если человек с оперы?
|
|
Отредактировано tipsun (2011.05.06 21:23)
Неактивен
Всем привет, кто может поправить вот этот полу граб, полу витрину http://upwap.ru/1487462 . Проблема в том что ссылка для скачивания не правильная выдается. Ссылка на скачку должна передаваться через файл load.php, но ссылка идет как на сайте который грабим, из-за скачка не работает Пожалуйста помогите.
Прив народ))такой вопрос возник,как сделать вычет из одного поля в базе определенного кол-во единиц,и записывало в другое поле тож определенное кол-во единиц?)) например чтобы за монетки можно было покупать рейтинг)) например чтоб снимало за 1% рейтинга 3 монетки))
Неактивен
$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:04)
Неактивен
LooK, на локале? Ты же наверно сам устанавливал сервер? Прав нет. Давай операционную систему. И у тебя Apache или что?
Неактивен
При upload ты сам нарезаешь: откуда и куда; но может пользователю что-то по другому охото. Нагрузка на сервер меньше будет зато. А если делать нарезку на сервере, пользователю удобнее будет, хотя не всегда: ты можешь вырезать лучший кусок из песни, а пользователь неизвестно что; и тут надо думать, как лучше сделать и т.д. К тому же нагрузка на сервер больше. Я бы выбрал upload.
Неактивен
Gemorroj приветы. Помоги пожалуйста с запросом.
//Если пользователь не был в чате за показанную время то снять с поста и отнять все //
Правилен ли такой запрос?
$time = time()-604800;
mysql_query ("UPDATE FROM `users` SET level = '3', bal = '0', posts = '0', status = 'Chatter' WHERE time<$time");
Неактивен
у меня идет в foot счетчик,прописан он не из админки,и немогу найти откуда его тянет((( вот код foot
|
|
Где тут идет код счетчика? или откуда его инклудит?))
Неактивен
Счетчик чего? посетителей?
Добавлено спустя 1 минуту 10 секунд:
Если их то его здесь нет ищи выше ето последний инклюд
Добавлено спустя 2 минуты 11 секунд:
А что за двиг ротор?
Добавлено спустя 5 минут 27 секунд:
правда 43 строка подозрительная
Добавлено спустя 8 минут 45 секунд:
лан я спать
Неактивен
счетчик ваплога стоит на всех страницах,а где он прописан я х\з (( двиг,это соцка сделанная из phpBB ))счетчик точно гдет в этой странице заныкан,если её удалить,или переименовать,то он исчезает))) ПРиятных снов)))З.Ы. в 6 утра конец света так что отсыпайся,вдруг на том свете будет очередь
Отредактировано POFIGISST (2011.05.21 03:33)
Неактивен
Привет. Подскажи как зделась чтоб в чате можна покупать посты по смс (например: 500 постов 20 рублей и т.д)?
Waperwen написал:
Привет. Подскажи как зделась чтоб в чате можна покупать посты по смс (например: 500 постов 20 рублей и т.д)?
Тоесть?
-----
Типо отправсь смс для размещения вашего сообщения? гг
Неактивен
нужно получить все песни исполнителя?
|
|
Неактивен
|
|
А как вывести подобно этому, но только чтоб как на скрине?
Неактивен
используй оператор и счетчик
|
|
Добавлено спустя 3 минуты 14 секунд:
Или просто в ручную
|
|
Добавлено спустя 5 минут 13 секунд:
Но это я скриптом набрал далее просто подправил и готово
Неактивен
решил поставить фо себе на сайт,выбрал скрипт,на денвере его посмотрел,все оки было,начал ставить на хост,выдает ошибку при заливке базы(( выкладываю скрин с ошибкой((
Добавлено спустя 1 минуту 13 секунд:
как исправить эту ошибку?
Неактивен
Вывожу альбом трека так: iconv('windows-1251','UTF-8', $id3->getTag('album', 'Неизвестный'))
Но у многих песн все равно кракозябры. Пробывал сначала определять кодировку из которой изменять, но так вообще альбом выводится перестал.
Неактивен
попробуй те что иероглифами на другой кодировке показать например в орегинальной на ютф8.
Я ког то работал с ними то не помню что бы перекодирував с вин
Отредактировано TLENS (2011.06.07 16:23)
Неактивен
Есть такой запрос
|
|
Но по какой то причине иногда сортируются сообщения в неправильном порядке!
грубо говоря 5 пост может оказаться третьим при выводе, а третий четвертым и т.д!
в чем причина не догоняю... пытался сортировать по id, но получается еще хуже
Неактивен
Вот у меня идет постраничная навигация
|
|
и её выводит примерно так "Страницы: 1 [2] 3 " а как сделать чтобы было просто вот так "Назад | Далее" или если это 1 страница то так "... | Далее" подскажите пожалуйста)
Отредактировано POFIGISST (2011.06.09 00:32)
Неактивен
а как можно сделать в сеа,чтоб на главной странице выводило например все папки на 1 странице,например 10,20 папок,все чтоб они шли на 1 странице,а на страницах с выводом файлов чтобы так и оставался лимит вывода файлов который настроен в админке,например чтоб на 1 страницу выводило 10 или 20 файлов,ну как в админке заданно)) потому что если вот эту
|
|
строку изменить например так
|
|
то и на главной странице зц будет выводить 5 папок(((
Отредактировано POFIGISST (2011.06.09 00:42)
Неактивен
ну на главной идет вот такая
|
|
вытаска файлов,и если я изменяю значение переменной $onpage,или заменяю её на другую переменную,то это влияет на все страницы сайта((а мне нужно чтобы только на главную страницу влияло(((
Неактивен
Gemorroj написал:
не совсем понял, имена колонок в таблицах одинаковые? зачем тогда такая выборка из 2-х таблиц?
ну попробуй, и сам все увидишь))
Неактивен
Хрен с ним... решил я сделать так:
|
|
Неактивен
`privat_inbox` varchar(21) - что тут такое хранится интересное на 21 символ?
`privat_read` bool NOT NULL - на сколько я помню, в mysql нет буля, технически там enum подставляется.
Неактивен
Gemorroj написал:
`privat_inbox` varchar(21) - что тут такое хранится интересное на 21 символ?
`privat_read` bool NOT NULL - на сколько я помню, в mysql нет буля, технически там enum подставляется.
Ну вообще по принципу идет bool как tinyint в один символ!
а varchar(21) это на роторе логин везде используется вместо id.
Я в прошлый раз пытался обойтись одними id, но это накладно! часто приходится делать запрос к базе что бы по логину узнать id пользователя
Неактивен
Как вырезать из этого
|
|
грабба рекламу которая в верху, вот пример ,и заменить фавиконку на свою?))
Неактивен
Приветы. Одинь вопрос. Если корень станицы хtml и еще филтируется в inc.php то такую ссылку можно вставить?
test.php?ver=wml&id=$id&ps=$ps&ref=$ref\"> или убрать из урла ver=wml?
Посоветуйте пожалуйста.
Неактивен
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
Неактивен
ну и в php так же))вот например страница вывода юзеров из базы в чате
|
|
Неактивен
Гг. Учусь. Еще раз но в странице уже
$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);
?>
Неактивен
ну если инфа о том когда юзер был последний раз в чате храниться в базе,то просто вытаскивай её из базы в переменку,и выводи примерно так echo "Последный раз был: .$твоя переменка." если не ошибаюсь,то так))а если инфа не храниться в базе,то там уже нужно наверно сортировку какую то делать,но я х\з какую(((
Неактивен
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";
}
Неактивен
|
|
Добавлено спустя 1 минуту 38 секунд:
Если тебе так не подойдет. Тогда используй switch
Неактивен
|
|
Попробуй так
Отредактировано TLENS (2011.06.19 11:22)
Неактивен
А этот твой код не знаю как прикрепить к инфе пользователя. Он очь нужный мне. Так как думаю онл рейтинг создать. Кто больше времени был в чате. А эт код по моему идеально для таких форм
Добавлено спустя 2 минуты 13 секунд:
Оо. Большое спосибо. Благодарю
Добавлено спустя 4 минуты 20 секунд:
Ок. Спосибо большое. Попробую.
Неактивен
так, тема разрослась. открываем новую http://wapinet.ru/forum/viewtopic.php?id=1478
Неактивен