Вот такие проблемы вышли. Пишу форумчик. Ну простой будет конечно, но все равно хотелось бы сделать нормальный код, и чтобы по возможности максимально "грамотный". Не хотел создавать темы в форуме, но когда постучал 2 людям в асю, так и ответа не дождался В общем написал скрипт регистрации, всячески проверил его, на макс и мин количество символов и т.д. Написал скрипт проверки пользователя при входе. Теперь задача состоит в том чтобы сделать систему разделов, тем и сообщений(думаю поняли о чем я). То есть сообщения храняться в бд, могу это осуществить, но у меня не хватает теории по структуре самой бд с сообщениями. Как она должна выглядеть? Сколько таблиц должно быть? Если на Разделы взять 1 таблицу, на Темы 1 таблицу. И на каждую тему создавать таблицу для хранения сообщений, это правильно? Я пока могу себе представить это только так. Хотелось бы получить ваших советов, может вы опишете хотя бы метод которым вы писали. И второй вопрос: хочу сделать проверку "Онлайн". Н-р если человек на форуме, то подсвечивать его ник Зеленым цветом. Кода не прошу, постараюсь сделать сам, опишите только что и как тут нужно использовать? Метод по которому это работает. P.S: Пожалуйста, помогите, я живу далеко в провинции, о php в моем городке кроме меня наверное врядли кто еще что-то слышал. Заранее спасибо
Примитивный форум... `Users` -> id login pwd `topics` -> id name date author_id text `msgs` -> id topic_id author_id date text Нет. Просто в таблице msgs сделать topic_id ключом, чтобы выборка происходила быстрее. Создаете таблицу users_online. При входе пользователя на форум (старте сессии) записываете его туда. И так каждого, а при каждом обновлении страницы перезаписываете временную метку. Потом читаете - получается список пользователей онлайн. Каждые 15 минут по таблице необходимо проходиться скриптом и удалять записи, временные значения которых превышают 15 минут. Либо проверять таблицу при каждой загрузке страницы пользователем.
Спасибо. Спасибо, буду работать, потом сообщу что получилось. Блин как-то даже не подумал о некоторых вещах, вы меня направили Да хотелось бы попросить Администрацию не закрывать эту тему. По мере появления вопросов просто буду сдесь вам отписывать, чтобы лишний раз не марать форум. Да и думаю будет полезно другим, ведь скорее всего не у меня одного появляються такие вопросы.
Так возник следующий вопрос. Я забыл сделать. Подскажите как можно проверить размеры загруженой через браузер аватарки? Чтобы размер был н-р 100*100?[/i]
При получении файла на сервер вся нужная инфа храниться в массиве $_FILES, так вот $_FILES[size] и будет размер передаваемого файла
Блин надо почаще справочником пользоваться... Извиняюсь, надо было так $a=getimagesize('img.gif'); echo $a['0'].'*'; echo $a['1'];
Обижаешь Mr.M.I.T. Я уже несколько раз перерыл книгу свою по Php: "Разработка Web-приложений на PHP 5" А.В Олищук и А.Н.Чаплыгин. Помимо этого читал другие книги, но там скорее пользовался как справочником. Очень долгое время(правда с перерывами). Сидел по разным форумам. Раньше на CodeNet(там на C++ в основном и к Олимпиаде готовиться помогали), сейчас когда появилось немного свободного времени занялся php серьезнее, тут больше специалистов по области, перешел сюда . Написал некоторые другие свои скрипты. Гостевую книгу, Опрос там вроде счетчик... Программирование во мне развиваеться только посредством практики. Когда возникают четкие вопросы по задаче. мой ответ: не рановато. Лучше сейчас, чем никогда Честно функцию вижу впервые, в моей книги её нет. За это огромное спасибо. P.S: Всё уже добавил в форумчик. Сделан еще один шаг.
У меня та же книга, там много чего нет. Некоторые вещи написаны не совсем верно, к сожалению. Но, тем не менее, это отличное начало в изучении PHP. Но только лишь начало.
exif_imagetype (только PHP 4 CVS) exif_imagetype - определяет тип изображения. Описание int|false exif_imagetype ( string filename) exif_imagetype() читает первые байты изображения и проверяет его подпись. Если корректная подпись найдена, возвращается константа, иначе возвращается FALSE. Возвращается то же значение, что и из getimagesize() в индексе 2, но эта функция работает намного быстрее. Определены следующие константы: 1 = IMAGETYPE_GIF, 2 = IMAGETYPE_JPG, 3 = IMAGETYPE_PNG, 4 = IMAGETYPE_SWF, 5 = IMAGETYPE_PSD, 6 = IMAGETYPE_BMP, 7 = IMAGETYPE_TIFF_II (intel byte order), 8 = IMAGETYPE_TIFF_MM (motorola byte order), 9 = IMAGETYPE_JPC, 10 = IMAGETYPE_JP2, 11 = IMAGETYPE_JPX. Эта функция может использоваться для исключения других exif-функций с неподдерживаемыми типами файлов или в сочетании с $_SERVER['HTTP_ACCEPT'] для проверки того, может ли зритель видеть данное конкретное изображение в своём браузере. Примечание: Эта функция доступна только в PHP 4, скомпилированном с --enable-exif. Эта функция не требует наличия библиотеки GD image. Подумал может кому пригодиться. Ничего такого что спер с phpclub надеюсь
определённо книга не фонтан... Зы. Надеюсь это не в ней написанно про таблицу сообщений для каждой темы?
Спорим, в книге ещё многих функций нет? Используй сайт http://php.net для поиска функций, по такой системе: например, надо функцию которая бы обрезала текст. Заходи на php.net, там в доки, потом в строковые (текст это string) функции и смотри список функций с коротким описанием. Очень удобно. А когда тебе дают функцию, которую ты не знаешь, заходи так: http://php.net/функция. Например, функция getimagesize(): http://php.net/getimagesize. Я много функций помню, но всё равно в Опере по "p функция" в адресной строке перекидывает на http://php.net/функция. Я не компьютер - памяти не докупишь.
marcuss, нормально там обьясняют. С примерами, блэкджеком и шлюхами. Плюс иногда полезные комментарии можно встретить. P.S. Но если "скуповато" это не на три главы, то да - скуповато.
угу, мне особенно понравилось как там обьясняют функцию preg_match(); дали один примерчик без обьяснений и попробуй разобраться...
Не волнуйся. Это я сам так предположил, зная что неверно, я у вас и спросил. Даже не сомневаюсь. Но книга очень полезная для начинающего. Ну я как бы тоже догадался так делать Для подробного изучения функций, поисковик даст ссылки с описанием
Чё-то тут все попутали http://php.net/PCRE если интересуют регэкспы. А в http://php.net/preg_match описание функции и не более.
PHP: <?php // Извлекаем имя хоста из URL preg_match("/^(http:\/\/)?([^\/]+)/i", "http://www.php.net/index.html", $matches); $host = $matches[2]; ?> И где там этого описание?