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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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


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

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

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

...

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

Сам запрос:

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

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

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

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

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

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


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

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

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

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

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

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

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

Пробывал так,для файла image.php, но не фурычит(
 
Код:
$url = 'http://sait.ru/AAAAAAAAAAAA';
 
$ooo = imageCreateFrompng("$url");
header("Content-type: image/png");
Imagepng($ooo);
Если просто выводить в файле test.php картинку через echo '<img src="http://sait.ru/AAAAAAAAAAAA"/>'; то нормально отображает ее только Opera a Google Chrome  и Internet Explorer нет.
#798. НЕЗНАЙКА Off (11)
Участник
2010.11.24 15:03
Если она в HTML не отображается, то врядли с PHP все наладится
ДАУН-Данная Аватара Унаследована Незнайкой
#799. LooK Off (1)
Участник
2010.11.27 19:07
Вообщем такая проблема:
С этой http://mobjar.ru/games/8433 (к ресурсу отношения не имею), надо с неё регулярками вырезать экраны, да так чтоб список экранов соответствовал джар файлу. То есть я парсю данную страницу, и записываю в бд. Есть поле с экранами и надо записывать так:
176x220: MOT E398,E770,L7,E1,V3i,Vxxx\n|\n240x320: S40 3ed.\n240x320: S60 3ed.: Symbian 9.1\n
Я смог сделать только чтобы по одной строке с каждого джар файла писалось, а ведь  где одна строка, а где-то две, три, и при чем все это к одной игре относится.
#800. Gemorroj Off (107)
Administrator
2010.11.28 01:01
Код:
<?php
$str file_get_contents('http://mobjar.ru/games/8433');
$str explode('</table>'$str);
 
$arr = array();
for ($i 1$all sizeof($str); $i $all; ++$i) {
    $ex explode('</div>'$str[$i]);
    $arr[] = trim($ex[0]);