Бесплатные PHP скрипты - форум техподдержки

Бесплатные PHP скрипты - форум техподдержки

Форум техподдержки WR-Скриптов на php. Обсуждаем: основы программирования на PHP 5 - 7 версий, различные подходы к написанию скриптов на php 7 без MySQL. А также WR-скрипты: бесплатные доски объявлений, скрипты форумов, Гостевые книги, Каталог ссылок, Галерея, Фотоальбом, Счётчики, Рассылки, Анекдот и другие. Принимаются пожелания для новых версий. Сообщите какой скрипт нужен для Вашего сайта, постараемся найти или реализовать. Скачать скрипты можно бесплатно. Вместе мы сделаем бесплатные php скрипты лучше и доступнее!

Главная сайта бесплатных php скриптовГлавная сайта   ПоискПоиск  
Сегодня: 05.12.2024 - 06:29:46
Страницы:  1 ... 2  3  4  5  6  ... 7

Модернизация скрипта знакомств

Объявление - WR-Scriptы в UTF-8 кодировке

Активно обновляю скрипты и перевожу их в UTF-8 кодировку. Список перекодированных php скриптов доступен на главной странице сайта. Скачивайте скрипты и устанавливайте на свой сайт! В ближайшее время обновлю каталог знакомств, форум Про, фотоальбом, доски объявлений лайт и ЛЮКС.

На форуме, пожалуйста, пишите что модернизировать в скриптах в первую очередь. Постараюсь исправить большую часть пожеланий!
Планирую продолжить работы весь 2023 год.

АвторСообщение

Maksir

M
Участник форума

Георгий, а чё посмотреть?

Сообщение # 37 01.11.08 - 01:30:30

Георгий

Г
Участник форума

Ну как че - добавление по метке юниксовой.
И как вырезать допустим 8 символов из md5
если целиком, это типа ... $pass=md5();
а дальше...?

Сообщение # 38 02.11.08 - 01:46:51

olegs7

O
Участник форума

Доброе время суток! Кто-то добавлял в скрипт дополнительные поля для прикрепления большего количества фото? Никак не могу понять, каким образом это реализовать. Кстати, а что нас ждёт в новой версии скрипта знакомств и когда он будет?

Сообщение # 39 08.11.08 - 01:51:03

olegs7

O
Участник форума

Разобрался я, как ещё фотосы добавить. А вот Афтар не откликается чего-то...

Сообщение # 40 09.11.08 - 15:36:13

Георгий

Г
Участник форума

Olegs7 добавить новые поля для фоток - неправильная постановка вопроса.
Полей можно добавить сколько угодно, фотки даже может загрузятся во временный каталог сервера,
но после завершения работы скрипта - они удалятся.
Нужно заставить скрипт обрабатывать новые поля:
копировать фотки в ваш каталог, делать превьюшки и вставить в новые ячейки массива и базы соответственно.
Можно сделать это тупо повторив для каждой фотки куски кода из оригинала скрипта, только с новыми значениями,
это просто, но неправильно - будет куча лишнего кода, что будет тормозить работу скрипта.
Нужно писать цикл для обработки всех фоток сразу.
Думаю, Михаил сделет это грамотнее нас, неопытных юзверей

Сообщение # 41 15.11.08 - 00:27:12

790

7
Участник форума

Разобрался сам - расскажи другим!

Сообщение # 42 15.11.08 - 10:48:45

olegs7

O
Участник форума

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

Ещё из наработок по данному скрипту...
1. Регистрация в 2а этапа (в будущем думаю 3).
2. При регистрации нового пользователя создаётся папка с логином этого пользователя и в неё закачиваются фотки. Естественно логин повториться не имеет права.))
3. Фотки обзываются по типу: login.01_датавремя.расширение (jpg, gif, png, jpeg).
4. Полностью изменил саму структуру файла index.php разделил на 3: registration.php, index.php и profile.php (в самих файлах всё перетасовал по порядку, например, в index.php начиналось всё с завершающего этапа регистрации, когда на сервер заливается инфа и файлы). Короче, просто всё структурировал аккуратно, на мой взгляд, и логично.
5. В файле анкеты добавил джава скрипт для просмотра загруженных фото (плавная смена картинок).
6. Ну и ЧПУ.

Ещё не сделал админку (с отличием, что будет премодерация), но с ней заморочек возникнуть, думаю, не должно (есть отличный пример, Михаилу низкий поклон!). И не раз вставал вопрос здесь о модерации своих данных пользователями... Из скриптов WR такая фича есть у форумчан. Интересно по тому же ли принципу построено будет для сайта знакомств? (это скорее вопрос к Михаилу)

Из того, что хотел, но не получилось. Вроде всё безумно просто, но понять не могу, как сообщения в обратном порядке пустить (как сделать, чтобы цикл в обратном порядке считывал строки).


Думаю в ближайшем будущем сделать красивый скин для сайта знакомсв WR. Первый с кем поделюсь - Михаил))) Интересно, что он вообще думает по поводу самого скрипта.


790, отвечу попозже. Ведь там не в одном месте скрипт менять Для того, чтобы понять полностью весь скрипт у меня ушло 2-е недели, по сути именно на нём я постиг азы PHP. В инернете очень много информации и уроков. До этого я знал исключительно HTML (думаю знаю его не плохо, по крайней мере всё делаю ручками). Как и для Михаила, для меня всё это просто хобби.

Сообщение # 43 18.11.08 - 19:23:46

olegs7

O
Участник форума

И так по порядку добавление сроки "добавить ещё фото" для чайников) (коим сам был недавно):


1. Регистрация пользователя:

index.php
<?
...
if ($_GET['event']=="addform") { // Выводим ФОРМУ ДЛЯ ЗАГРУЗКИ ФОТКИ
...
//срока уже существует
<tr class=row1><td>Прикрепить фото</td><TD><input type=file name=file size=48 class=maininput style='FONT-SIZE: 14px; WIDTH: 437px'><BR>* <B>Максимально</B> разрешённый <B>размер фото: $fotomax</B> Кб.</TD></tr>
//добавляем под ней
<tr class=row1><td>Прикрепить ещё одно фото</td><TD><input type=file name=file1 size=48 class=maininput style='FONT-SIZE: 14px; WIDTH: 437px'><BR>* <B>Максимально</B> разрешённый <B>размер фото: $fotomax</B> Кб.</TD></tr>
...
?>


2. Закачка данных и фото на сервер

Я бы сделал обязательными для заполнения поля с добавлением фото:
if ($file==="" &#124;&#124; strlen($file)<2) {print "$back. Поле <b>Фото 1</b> пустое!"; exit;}
if ($file1==="" &#124;&#124; strlen($file1)<2) {print "$back. Поле <b>Фото 2</b> пустое!"; exit;}

Это сделайте после (можно и до))):
if (strlen($msg)>$maxmsg) {print "$shapka $back ваше <B>сообщение</B> превышает $maxmsg символов!</B></center>"; exit;}



index.php
<?
...
if ($_GET['event']=="add") { // Добавление ФОТО
...

//уже существует
$fotoname = $_FILES['file']['name']; // определяем имя файла

if (strlen($fotoname)>2) {
...
- неверно введён адрес или выбран файл;</B><BR>'; exit;}


//добавляем под ней
$foto1name = $_FILES['file1']['name']; // определяем имя файла

if (strlen($foto1name)>2) {
$fotosize=$_FILES['file1']['size']; // Запоминаем размер файла
// проверяем расширение файла
$ext = strtolower(substr($foto1name, 1 + strrpos($fotoname, ".")));
if (!in_array($ext, $valid_types)) {echo '<B>ФАЙЛ 2 НЕ загружен.</B> Возможные причины:<BR>
- разрешена загрузка только файлов с такими расширениями: gif, jpg, jpeg, png<BR>
- Вы пытаетесь загрузить не графический файл;<BR>
- неверно введён адрес или выбран файл;</B><BR>'; exit;}

...

// ЗАЩИТЫ от ВЗЛОМА \
... &#124; аналогично
// Конец защит по имени файла /


...

//уже существует
$fotoksize=round($fotosize/10.24)/100; // размер ЗАГРУЖАЕМОГО ФОТО в Кб.
//добавляем под ней
$foto1ksize=round($foto1size/10.24)/100; // размер ЗАГРУЖАЕМОГО ФОТО в Кб.


...

//уже существует
if ($fotoksize>$fotomax) {print"Вы превысили допустимый размер фото! <BR><B>Максимально допустимый</B> размер фото: <B>$fotomax </B>Кб.<BR> <B>Вы пытаетесь</B> загрузить изображение: <B>$fotoksize</B> Кб!"; exit;}
...
else { print "<B>Файл НЕ ЗАГРУЖЕН - ошибка СЕРВЕРА! Обратитесь к администратору!<B>"; exit;}

//добавляем под ней
if ($foto1ksize>$fotomax) {print"Вы превысили допустимый размер фото! <BR><B>Максимально допустимый</B> размер фото: <B>$fotomax </B>Кб.<BR> <B>Вы пытаетесь</B> загрузить изображение: <B>$fotoksize</B> Кб!"; exit;}

if ($foto1size>"0" and $fotosize<$max_file_size) {
copy($_FILES['file1']['tmp_name'], $datadir."/".$fotoname);
print "

Фото УСПЕШНО загружено: $foto1name (Размер: $fotosize байт)";}
else { print "<B>Файл НЕ ЗАГРУЖЕН - ошибка СЕРВЕРА! Обратитесь к администратору!<B>"; exit;}


...

//уже существует
$size=getimagesize("$datadir/$fotoname");
...
$fotoksize="0"; $size0="0"; $size1="0"; }

//добавляем под ней
if ($foto1ksize>$fotomax) {print"Вы превысили допустимый размер фото! <BR><B>Максимально допустимый</B> размер фото: <B>$fotomax </B>Кб.<BR> <B>Вы пытаетесь</B> загрузить изображение: <B>$fotoksize</B> Кб!"; exit;}

if ($foto1size>"0" and $fotosize<$max_file_size) {
copy($_FILES['file1']['tmp_name'], $datadir."/".$fotoname);
print "

Фото УСПЕШНО загружено: $foto1name (Размер: $fotosize байт)";}
else { print "<B>Файл НЕ ЗАГРУЖЕН - ошибка СЕРВЕРА! Обратитесь к администратору!<B>"; exit;}




//уже существует
$size=getimagesize("$datadir/$fotoname");

// Проверяем размер фото. Если "габариты" меньше заданный в админке 150 х 120 - то ничего с ним не делаем
// блок делает мальное изображение исходной фотки - в качестве превьюшки
$size0=$size[0]; $size1=$size[1];
...
$fotoksize="0"; $size0="0"; $size1="0"; }

(еслть строчка
require ('tumbmaker.php');
её удаляем и встявляем, ну, например, после
include "config.php";
include "tumbmaker.php";)


//уже существует
$foto1size=getimagesize("$datadir/$foto1name");

// Проверяем размер фото. Если "габариты" меньше заданный в админке 150 х 120 - то ничего с ним не делаем
// блок делает мальное изображение исходной фотки - в качестве превьюшки
$foto1size0=$foto1size[0]; $foto1size1=$foto1size[1];
if ($foto1size[0]>$smwidth or $foto1size[1]>$smheight) {
$smallfoto1="sm-$foto1name";
if (img_resize("$datadir/$foto1name", "$datadir/$smallfoto1", $smwidth, $smheight)) echo 'Изображение масштабировано <B>успешно</B>.'; else echo '<font color=red><B>Ошибка МАСШАБИРОВАНИЯ фото! Поблемы с GD-библиотекой!</B></font> Обратитесь к Администратору';
} else {$smallfoto1="$foto1name";}

} else {

...

//уже существует
$smallfoto="nopol.gif"; $fotoname="nopol.gif";
if ($pol=="1") {$smallfoto="m_no.gif"; $fotoname="m_no.gif"; if ($want=="0") {$want="Её";}}
if ($pol=="2") {$smallfoto="g_no.gif"; $fotoname="g_no.gif"; if ($want=="0") {$want="Его";}}
$fotoksize="0"; $size0="0"; $size1="0"; }
//с этим разбирайтесь сами (если нет фото в зависимости от пола выводится картинка
//с силуэтом М или Ж), подобное встречается и в других местах,
//но если вы сделали обязательными для заполнения поля фото, смысла в этом нет



Дальше в строке с переменной $text после переменной $want добавляем чего-то типа:
$text="$key&#124;$login&#124;$pass ... &#124;$msg&#124;$smallfoto&#124;$fotoname&#124;$fotoksize&#124;$size0&#124;$size1&#124;$want&#124;$foto1name&#124;$foto1ksize&#124;$foto1size0&#124;$foto1size1&#124;&#124;

затем
*/
...
$file - Фото - $smallfoto - $dt[20] $fotoname - $dt[21] $fotoksize - $dt[22] $size0 - $dt[23] $size1 - $dt[24]
$want - Ищу: Его/Её/Его + Её - $dt[25]
$file - Фото 2 - $smallfoto1 - $dt[26] $foto1name - $dt[27] $foto1ksize - $dt[28] $foto1size0 - $dt[29] $foto1size1 - $dt[30]
*/


3. Вывод получившегося
вот и всё)) или почти

вот это
$dt[26] $dt[27] $dt[28] $dt[29] $dt[30]

используем по усмотрению аналогично вот этому
$dt[20] $dt[21] $dt[22] $dt[23] $dt[24]



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

Сообщение # 44 18.11.08 - 20:25:27

Георгий

Г
Участник форума

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

Olegs7 чтоб развернуть массив есть функция array_reverse()
Скины сами все сделают кому надо - под свой дизайн.
А вот скрипт реставрировать надо.
Каждый по своему думает, я например добавил бы новые фотки,
например вместо ячеек $spirt $kurivo, но ячейки все равно добавлять придется.
Чередование фоток в анкете не всем удобно, не думаете Вы о пользователях...
Я предположим разрешил фотки по 500кб, кто-то загрузил их по пол-мега, а другой кто-то на модеме 56к вспотеет от просмотра такой анкеты...
Размеры фоток показывать может и не к чему, но в базе они нужны поясню для чего:
добавляете java-скриптик, который будет делать отдельное окно по размеру больших фоток, где они и будут отображаться,
это примерно так:

Код:


<a href=\"javascript:PhotoOpen('$datadir/$dt[21]',$dt[23],$dt[24],'$dt[3]');\"><img src='$datadir/$dt[20]' alt='Анкета $dt[1]' border=0></a>

в шапке прописывается сам java-скрипт, но надо еще переделать - если фотка больше экрана, чтоб уменьшало...
если додумаю, покажу что получилось.
Я сейчас думаю как ссылки на страницы отображать вместо:
Страница: 1 2 3 4 5..
чтоб выглядело:
Анкеты: 1-10 21-30 31-40 41-50 ...
есть похожий скрипт, пока незнаю как его к Михаиловым $qq приделать.

С уважением, Георгий

Сообщение # 45 19.11.08 - 03:30:20

olegs7

O
Участник форума

Георгий, спасибо за array_reverse()!!!

По поводу фоток, вопрос решён просто!
1. Как я уже писал они обзываются по типу: login.01_датавремя.расширение (jpg, gif, png, jpeg). Здесь явным плюсом является то, что никакие условия по поводу содержания точек или русских букв ставить не надо.
2. Аваторка маленькая и смысла делать её большого размера нет (как нет, например, на этом форуме). Миниатюры фоток не хранятся, для взятого мной js - нет смысла, так как всё подведено под один размер. Тот пример, который привели Вы, он не особо удобен в просмотре.
3. Идёт череда условий по которым фотки уменьшаются до определённого размера (габаритов) (у меня макс размеры 800x800 пикселей) с помощью функции (в файле у Михаила tumbmaker.php) img_resize. Есть ещё img_crop - это скорее для аватарок или для картинок новостей. Готовые ф-ии есть в сети (если не ошибаюсь, то не Михаил писал тумбочку)). То что загружается - удаляется, сохраняется поджатая фотка. Я так понимаю подобное решение на vkontakte.ru

В итоге получаем, например, что-то типа такого:
pupkin.01_20081115005422.jpg - весом около 100 килобайт, габаритов 800x600 пикселей, что вполне для среднестатистического пользователя нормально. Модемы это уже прошлый век, всё больше и больше становится локальных сетей с человеческой скоростью. Модемы просто ненавижу и с ужасом их вспоминаю

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

Сообщение # 46 19.11.08 - 11:01:33

790

7
Участник форума

Вот я уже давно говорю что к пользователю надо относится как к ребёнку и всё что компьютер может, должен сделать за него. Ну не умеют он сейчас фотки жать! И не понимают для чего, а вы ему сразу от ворот поворот... В своём моде галереи я решил эту проблему, как мне кажется очень удачно и просто:


Код:


if ($fotosize>$max_file_size && $size[1]>0) {
$reswidth=$size[0]/($size[1]/$maxheight);
img_resize("$datadir/$fotoname", "$datadir/$fotoname", "$reswidth", "$maxheight")
}


Теперь задаём в админке размер фото если больше которого - жать, например 102400 (100 Кб)
ширину/высоту, например: 800/600
И лучше поставить в tumbmaker $quality=80

С размерам фоток для просмотра решение настолько простое, что вы даже не сразу поверите. Вы в курсе что если в теге IMG указана только высота, например height='80%' соотверствующая ширина вычисляется браузером автоматически! И вот, вуаля, маленькие изображения увеличиваются, большие уменьшаются без всяких скриптов.

Сообщение # 47 19.11.08 - 12:22:11

olegs7

O
Участник форума

790, Вы не ошиблись ли в сроке


Код:

$reswidth=$size[0]/($size[1]/$maxheight);


?

Мб должно быть


Код:
$reswidth=$size[0]*$maxheight/$size[1];


?

И условий явно должно быть больше...

Сообщение # 48 19.11.08 - 12:42:58
не получают сообщения :Предыдущая темаСледующая тема: Постраничная навигация
Страницы:  1 ... 2  3  4  5  6  ... 7

Сообщение
Имя E-mail
Сообщение

Нажмите на точку возле имени для обращения к участнику

Смайлы:

Ещё смайлы
Эмодзи
         
Защитный код: (введите цифры, которые на синем фоне)
Ответ на вопрос: (Какой сейчас год?)
   
WR-Счётчик
Powered by WR-Forum Professional © 2.3 UTF-8 beta версия