Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL  
Форум NeoBook » Всё о программе NeoBook » Мир NeoBook » Отправка данных на сервер или post метод во всей красе (Просто отправить 5 кб файлл на сервер \)
Отправка данных на сервер или post метод во всей красе
UserDeadДата: Сб, 17 Августа 2013, 20:46 | Сообщение # 1
Любопытный
Доброго времене суток форумчане!
Я зашел в тупик и незнаю как мне поступить.
В поей программе-лаунчере должна просто обязана быть функция загрузки файла-картинки скина. Но реализовать отправку файла методом post с помощью html и php скрипта получается, а вот отправить данные файла прямиком на скрипт оказалось целой проблемой.
Я попробовал использовать InternetPost с адресом на скрипт и переменной [data] что отправлять, в итоге попробовав подставить в переменную [data] либо адрес к файлу либо содержимое файла и в ответ получал ошибку. Т.к. Простое указание к файлу не считавается как его отправка, а чтение файла в переменную читается только первая строка а не весь файл.
В итоге на сервере лежит UserSkin.png с содержимым %PNG. и все.
Реализовывать это дело через ftp крайне опасно, есть только 1 ftp аккаунт данные которого просниферив можно выцарапать login&password и снести весь сервер с данными.

ps поиск юзал, в основном все пытаются авторизоваться этим методом. Мне надо передать файл.
Если есть алтернативы, буду рад выслушать)


I will alive before dead
 
СообщениеДоброго времене суток форумчане!
Я зашел в тупик и незнаю как мне поступить.
В поей программе-лаунчере должна просто обязана быть функция загрузки файла-картинки скина. Но реализовать отправку файла методом post с помощью html и php скрипта получается, а вот отправить данные файла прямиком на скрипт оказалось целой проблемой.
Я попробовал использовать InternetPost с адресом на скрипт и переменной [data] что отправлять, в итоге попробовав подставить в переменную [data] либо адрес к файлу либо содержимое файла и в ответ получал ошибку. Т.к. Простое указание к файлу не считавается как его отправка, а чтение файла в переменную читается только первая строка а не весь файл.
В итоге на сервере лежит UserSkin.png с содержимым %PNG. и все.
Реализовывать это дело через ftp крайне опасно, есть только 1 ftp аккаунт данные которого просниферив можно выцарапать login&password и снести весь сервер с данными.

ps поиск юзал, в основном все пытаются авторизоваться этим методом. Мне надо передать файл.
Если есть алтернативы, буду рад выслушать)

Автор - UserDead
Дата добавления - 17 Августа 2013 в 20:46
mishemДата: Сб, 17 Августа 2013, 23:21 | Сообщение # 2
Эксперт форума
Цитата (UserDead)
с помощью html и php скрипта получается,

плагин NeoPHP, поищши в интернете у меня пишет доступ ограничен к странице сайта с плагином. Но это может быть только у меня. :)

hpwImage в разделе файлы смотри. hpwImageLoadFromMimeStream

NeoHexEdit можно как бинарные данные передать.

Советую NeoCommands скачать для поиска нужной информации.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (UserDead)
с помощью html и php скрипта получается,

плагин NeoPHP, поищши в интернете у меня пишет доступ ограничен к странице сайта с плагином. Но это может быть только у меня. :)

hpwImage в разделе файлы смотри. hpwImageLoadFromMimeStream

NeoHexEdit можно как бинарные данные передать.

Советую NeoCommands скачать для поиска нужной информации.

Автор - mishem
Дата добавления - 17 Августа 2013 в 23:21
UserDeadДата: Вт, 20 Августа 2013, 19:04 | Сообщение # 3
Любопытный
Цитата (mishem)
Советую NeoCommands скачать для поиска нужной информации.

Впервые заюзаю чью-то утилиту, понравилась, я видел ранее тему но както не соизволил обратить достоенное внимание.
---------------
За ответы большущее спасибо! Чтобы я без вас делал thumbs_up
Будем крутить. Если найду способ отправки файла, опишу здесь, я думаю другим будет полезно знать как оформить загрузку файла на php обработчик. Ибо инфы вроде такой еще нет.

Добавлено (20 Августа 2013, 19:04)
---------------------------------------------

Цитата (UserDead)
hpwImage в разделе файлы смотри. hpwImageLoadFromMimeStream

Помогите откопать этот плагин, походу ссылки бытые, может у кого-то завалялся.
Мозила вобще говорит там бесконечная ссылка на скачивании с оперы тоже првоерял.


I will alive before dead
 
Сообщение
Цитата (mishem)
Советую NeoCommands скачать для поиска нужной информации.

Впервые заюзаю чью-то утилиту, понравилась, я видел ранее тему но както не соизволил обратить достоенное внимание.
---------------
За ответы большущее спасибо! Чтобы я без вас делал thumbs_up
Будем крутить. Если найду способ отправки файла, опишу здесь, я думаю другим будет полезно знать как оформить загрузку файла на php обработчик. Ибо инфы вроде такой еще нет.

Добавлено (20 Августа 2013, 19:04)
---------------------------------------------

Цитата (UserDead)
hpwImage в разделе файлы смотри. hpwImageLoadFromMimeStream

Помогите откопать этот плагин, походу ссылки бытые, может у кого-то завалялся.
Мозила вобще говорит там бесконечная ссылка на скачивании с оперы тоже првоерял.

Автор - UserDead
Дата добавления - 20 Августа 2013 в 19:04
SonarДата: Вт, 20 Августа 2013, 19:16 | Сообщение # 4
Любопытный
Цитата (UserDead)
походу ссылки бытые

Всё нормально переходит
 
Сообщение
Цитата (UserDead)
походу ссылки бытые

Всё нормально переходит

Автор - Sonar
Дата добавления - 20 Августа 2013 в 19:16
UserDeadДата: Вт, 20 Августа 2013, 19:20 | Сообщение # 5
Любопытный
Цитата (Sonar)
Всё нормально переходит

Если нормально переходит, может помогли бы со скачкой, прямой ссылкой или перезаливом


I will alive before dead
 
Сообщение
Цитата (Sonar)
Всё нормально переходит

Если нормально переходит, может помогли бы со скачкой, прямой ссылкой или перезаливом

Автор - UserDead
Дата добавления - 20 Августа 2013 в 19:20
SonarДата: Вт, 20 Августа 2013, 19:21 | Сообщение # 6
Любопытный
http://rghost.ru/48251952
 
Сообщениеhttp://rghost.ru/48251952

Автор - Sonar
Дата добавления - 20 Августа 2013 в 19:21
UserDeadДата: Вт, 20 Августа 2013, 22:11 | Сообщение # 7
Любопытный
Цитата (Sonar)
Sonar

Спасибо огроменное :)

Добавлено (20 Августа 2013, 22:03)
---------------------------------------------
Значить суть такая.
Я не php програмист но юзал примерные скрипты как загрузить файл на сервер.
Html который формирует способ выбора файла выглядит так:

Код
<html>
<body>
       <form action="**********/skindb/sent.php" method="post" enctype="multipart/form-data">
       <input type="file" name="filename" accept="image/png"><br>  
       <input type="submit" value="Load skin file"><br>
       </form>
</body>
</html>

В нем формируется поле выбора файла и собственно разрегшение на работу только с png картиками.
как видно от отправляет данные на скрипт */skindb/sent.php
В котором следующий код:
Код

<html>
<head>
   <title>Результат загрузки файла</title>
</head>
<body>
<?php
    if($_FILES["filename"]["size"] > 1024*3*1024)
// проверяем чтобы файл небыл более 3 мб
    {
      echo ("Размер файла превышает три мегабайта");
      exit;
    }
    // Проверяем загружен ли файл
    if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
    {
      // Если файл загружен успешно, перемещаем его
      // из временной директории в конечную
      move_uploaded_file($_FILES["filename"]["tmp_name"], "/home/h47946/data/www/craftdotnet.ru/skindb/".$_FILES["filename"]["name"]);
   echo("Suc");
    } else {
       echo("Ошибка загрузки файла");
    }
?>
</body>
</html>

Тоесть получается данные загружаются на сервер непосредственно через внутренний договор клиента и сервера о передаче данных. У нас же в NeoBook имеет в InternetPost имеет только ссылку на обрабатывающий скрипт, а это у нас sent.php данные для отправки я запихнул в [data] и переменная результата.
Проблема в том что Чтобы я не подставлял в переменную [data] ничего скриптом не принимается.
--------------------
Я то нашел выход но он не подходит!
Я создал локальный html который я прописал выше. Указал полный адрес к скрипту-обработчику и создал объект веб браузера небольшим окошком. Но выглядит крайне не эстетично к томуже если найти скрипт в инете можно любой файл загрузить, а у меня должна быть привязка по нику с которым авторизовывались перез загрузкой скина. Можно конечно допилить скрипт загрузки файла авторизацией или ссесией ибо бы авторизовывались ранее в программе, но я не такой ас(
Вариант с Hex пролетел, хотя опять таки можно загрузить hex данные на свервер и сконвертировать в файл, но вариант ли...
HpwImage считывает данные картинки, Попытался отправить скрипту данные с переменной содержимого файла картинки - облом.
Я незнаю точностей post и предполагаю что клиент и сервер сами все решают так что у необука эта функция недопилена, скажем лайтовая. Ибо при отправке данных post надо бы еще указывать как видно в первом коде html странички method="post" enctype="multipart/form-data" а enctype не настраивается.
-----------------
Осталось как я сказал создать локальную страничку и впихнуть в веб браузер. Остальное - проблема. Есть у кого мысли?
Кстати sent.php на сервере лежит а html'ка где угодно но там прописывается путь к этому обработчику.

Добавлено (20 Августа 2013, 22:11)
---------------------------------------------
Детальнее
Нужно чтобы выбирался файл > менялось его имя на ник игрока с которым был логин в систему (сделать легко), проверить что он png (легко) > отправить на сервер чтобы он скриптом както сохранился с именем nickname.png (проблема именно загрузки)


I will alive before dead
 
Сообщение
Цитата (Sonar)
Sonar

Спасибо огроменное :)

Добавлено (20 Августа 2013, 22:03)
---------------------------------------------
Значить суть такая.
Я не php програмист но юзал примерные скрипты как загрузить файл на сервер.
Html который формирует способ выбора файла выглядит так:

Код
<html>
<body>
       <form action="**********/skindb/sent.php" method="post" enctype="multipart/form-data">
       <input type="file" name="filename" accept="image/png"><br>  
       <input type="submit" value="Load skin file"><br>
       </form>
</body>
</html>

В нем формируется поле выбора файла и собственно разрегшение на работу только с png картиками.
как видно от отправляет данные на скрипт */skindb/sent.php
В котором следующий код:
Код

<html>
<head>
   <title>Результат загрузки файла</title>
</head>
<body>
<?php
    if($_FILES["filename"]["size"] > 1024*3*1024)
// проверяем чтобы файл небыл более 3 мб
    {
      echo ("Размер файла превышает три мегабайта");
      exit;
    }
    // Проверяем загружен ли файл
    if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
    {
      // Если файл загружен успешно, перемещаем его
      // из временной директории в конечную
      move_uploaded_file($_FILES["filename"]["tmp_name"], "/home/h47946/data/www/craftdotnet.ru/skindb/".$_FILES["filename"]["name"]);
   echo("Suc");
    } else {
       echo("Ошибка загрузки файла");
    }
?>
</body>
</html>

Тоесть получается данные загружаются на сервер непосредственно через внутренний договор клиента и сервера о передаче данных. У нас же в NeoBook имеет в InternetPost имеет только ссылку на обрабатывающий скрипт, а это у нас sent.php данные для отправки я запихнул в [data] и переменная результата.
Проблема в том что Чтобы я не подставлял в переменную [data] ничего скриптом не принимается.
--------------------
Я то нашел выход но он не подходит!
Я создал локальный html который я прописал выше. Указал полный адрес к скрипту-обработчику и создал объект веб браузера небольшим окошком. Но выглядит крайне не эстетично к томуже если найти скрипт в инете можно любой файл загрузить, а у меня должна быть привязка по нику с которым авторизовывались перез загрузкой скина. Можно конечно допилить скрипт загрузки файла авторизацией или ссесией ибо бы авторизовывались ранее в программе, но я не такой ас(
Вариант с Hex пролетел, хотя опять таки можно загрузить hex данные на свервер и сконвертировать в файл, но вариант ли...
HpwImage считывает данные картинки, Попытался отправить скрипту данные с переменной содержимого файла картинки - облом.
Я незнаю точностей post и предполагаю что клиент и сервер сами все решают так что у необука эта функция недопилена, скажем лайтовая. Ибо при отправке данных post надо бы еще указывать как видно в первом коде html странички method="post" enctype="multipart/form-data" а enctype не настраивается.
-----------------
Осталось как я сказал создать локальную страничку и впихнуть в веб браузер. Остальное - проблема. Есть у кого мысли?
Кстати sent.php на сервере лежит а html'ка где угодно но там прописывается путь к этому обработчику.

Добавлено (20 Августа 2013, 22:11)
---------------------------------------------
Детальнее
Нужно чтобы выбирался файл > менялось его имя на ник игрока с которым был логин в систему (сделать легко), проверить что он png (легко) > отправить на сервер чтобы он скриптом както сохранился с именем nickname.png (проблема именно загрузки)


Автор - UserDead
Дата добавления - 20 Августа 2013 в 22:11
mishemДата: Ср, 21 Августа 2013, 00:38 | Сообщение # 8
Эксперт форума
Я не знаю поможет ли этот плагин. Попробуй.
Цитата (UserDead)
а enctype не настраивается.

Цитата
Описание
Определяет способ кодирования данных формы при их отправке на сервер. Обычно устанавливать значение атрибута enctype не требуется, данные вполне правильно понимаются на стороне сервера. Однако если используется поле для отправки файла (input type="file"), следует определить атрибут enctype как multipart/form-data.

Обычно устанавливать значение атрибута enctype не требуется, данные вполне правильно понимаются на стороне сервера.

Вообще в этом вопросе нужны Дембель или Сергей, но они куда то пропали. Во всяком случае давно не видно. :(

Добавлено (21 Августа 2013, 00:38)
---------------------------------------------

Цитата (UserDead)
HpwImage считывает данные картинки, Попытался отправить скрипту данные с переменной содержимого файла картинки - облом.

Может быть данные надо конвертировать в base64? Имеется такая возможность в плагине hpwUtility.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеЯ не знаю поможет ли этот плагин. Попробуй.
Цитата (UserDead)
а enctype не настраивается.

Цитата
Описание
Определяет способ кодирования данных формы при их отправке на сервер. Обычно устанавливать значение атрибута enctype не требуется, данные вполне правильно понимаются на стороне сервера. Однако если используется поле для отправки файла (input type="file"), следует определить атрибут enctype как multipart/form-data.

Обычно устанавливать значение атрибута enctype не требуется, данные вполне правильно понимаются на стороне сервера.

Вообще в этом вопросе нужны Дембель или Сергей, но они куда то пропали. Во всяком случае давно не видно. :(

Добавлено (21 Августа 2013, 00:38)
---------------------------------------------

Цитата (UserDead)
HpwImage считывает данные картинки, Попытался отправить скрипту данные с переменной содержимого файла картинки - облом.

Может быть данные надо конвертировать в base64? Имеется такая возможность в плагине hpwUtility.

Автор - mishem
Дата добавления - 21 Августа 2013 в 00:38
СергейДата: Ср, 21 Августа 2013, 00:38 | Сообщение # 9
Необукер
UserDead, сейчас времени в обрез...
пробежался по теме мельком. Не смог бы ты выложить демо - проект (что требуется)+если не трудно сам файл скрипта (пхп) и хтмл.
Завтра будет у меня немного времени, я попробую, что нить придумать.
 
СообщениеUserDead, сейчас времени в обрез...
пробежался по теме мельком. Не смог бы ты выложить демо - проект (что требуется)+если не трудно сам файл скрипта (пхп) и хтмл.
Завтра будет у меня немного времени, я попробую, что нить придумать.

Автор - Сергей
Дата добавления - 21 Августа 2013 в 00:38
YURIYДата: Ср, 21 Августа 2013, 00:39 | Сообщение # 10
WebMaster
Цитата (mishem)
Обычно устанавливать значение атрибута enctype не требуется

Цитата (mishem)
Однако если используется поле для отправки файла (input type="file"), следует определить атрибут enctype как multipart/form-data

Цитата (UserDead)
Код
<input type="file"


Сообщение отредактировано
YURIY - Ср, 21 Августа 2013, 00:39
 
Сообщение
Цитата (mishem)
Обычно устанавливать значение атрибута enctype не требуется

Цитата (mishem)
Однако если используется поле для отправки файла (input type="file"), следует определить атрибут enctype как multipart/form-data

Цитата (UserDead)
Код
<input type="file"

Автор - YURIY
Дата добавления - 21 Августа 2013 в 00:39
mishemДата: Ср, 21 Августа 2013, 00:42 | Сообщение # 11
Эксперт форума

Добавлено (21 Августа 2013, 00:42)
---------------------------------------------

Цитата (YURIY)
Однако если используется поле для отправки файла

Но я так понимаю что это как бы и нужно и можно обойтись. Или не?


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение

Добавлено (21 Августа 2013, 00:42)
---------------------------------------------

Цитата (YURIY)
Однако если используется поле для отправки файла

Но я так понимаю что это как бы и нужно и можно обойтись. Или не?

Автор - mishem
Дата добавления - 21 Августа 2013 в 00:42
СергейДата: Ср, 21 Августа 2013, 00:54 | Сообщение # 12
Необукер
UserDead, уточни некоторые моменты
авторизация идет из НБ?
Цитата (UserDead)
У нас же в NeoBook имеет в InternetPost

ты пытаешься так загрузить картинку?!

Добавлено (21 Августа 2013, 00:48)
---------------------------------------------
НБ не понимает двоичные файлы, и потому можешь забыть отправить файл командой InternetPost
как бы ты не конвертировал, перед отправкой она все равно приведет к своему типу, а значит либо будет пустое значение, либо испорченное.

Добавлено (21 Августа 2013, 00:54)
---------------------------------------------
Используй WebBrowser, и отправляй из нб картинку
Через js можно, не уверен конечно по поводу, программно воздействовать на input-file
помнится была у меня с ним какая то заморочка...
не буду забегать вперед, завтра проверю


Сообщение отредактировано
Сергей - Ср, 21 Августа 2013, 01:00
 
СообщениеUserDead, уточни некоторые моменты
авторизация идет из НБ?
Цитата (UserDead)
У нас же в NeoBook имеет в InternetPost

ты пытаешься так загрузить картинку?!

Добавлено (21 Августа 2013, 00:48)
---------------------------------------------
НБ не понимает двоичные файлы, и потому можешь забыть отправить файл командой InternetPost
как бы ты не конвертировал, перед отправкой она все равно приведет к своему типу, а значит либо будет пустое значение, либо испорченное.

Добавлено (21 Августа 2013, 00:54)
---------------------------------------------
Используй WebBrowser, и отправляй из нб картинку
Через js можно, не уверен конечно по поводу, программно воздействовать на input-file
помнится была у меня с ним какая то заморочка...
не буду забегать вперед, завтра проверю

Автор - Сергей
Дата добавления - 21 Августа 2013 в 00:54
UserDeadДата: Ср, 21 Августа 2013, 02:45 | Сообщение # 13
Любопытный
Ого =)))
Я бы ответил всем и каждому но думаю надо ближе к делу.
Так обовсем по порядку.
Я немного обдумал то что мне нужно и определился. Чтобы обеспечить защиту от левых загрузок, авторизация будет происходить по данным введенным в лаунчере на удаленном скрипте (прийдется повозиться)
---------------------------------
В курс дела:
В этой программе-лаунчере игры нужно будет сделать загрузку файлов-скинов игроков.
Файл формата png и весит не более 6-7 кб. Обычно 3-5.
Html которую я демонстрировал это собственно интерфейс загрузчика, но если слать данные методом post то передача данных настраивается без участния пользователя.
Как сказал сергей, какбы я не пытался передать данные, они будут не в том виде в каком кушает скрипт -обработчик. Поэтому тут облом на корне.

Я прошу прощения что тут шуму навел) Я обдумал как будет все происходить и от движка тут требуется в основном выполнить функцию передачи данных как это обычно бывает.
Алгоритм таков: Пользователь авторизовывается (все сделано методом запроса mySQL) > жмет на кнопку и ему открывается FileOpenBox и выбирает файл > сккрипту-обработчику педелаются повторно данные авторизации (мы ведь авторизовались и эти данные сохранились) после авторизации если все верно принимается файл (собственно сама проблема) > принятый файл переименовывается на имя пользователя который его только что загрузил.
Прийдется делать имя файла не в программе а именно на сервере... ну я пошуршу как перименовать в php файл, потому что если ктото узнает адрес скрипта (вот вы увидите его на примере кода) он смодет кому угодно скин сменить даже если авторизуется. Ну это моя морока.

Есть html код который я нашел как всунуть в объект веб браузера. Там будет код интерфейса
который будет инициализировать передачу данных на сервер. Но надо бы както сделать все эстетично потому что кусок браузера на странице... не айс)
Там есть еще какието функции с влиянием на объект выбор конкретного и взаимодействия с ним. Походу можно было бы сделать так:
Вливаем в объект браузера BrowserLoadFromStr код интерфейса загрузчика:
Код

<html>
<body>
       <form action="http://craftdotnet.ru/skindb/sent.php" method="post" enctype="multipart/form-data">
       <input type="file" name="filename" accept="image/png"><br>
       <input type="submit" value="Кнопка загрузить"><br>
       </form>
</body>
</html>

В браузере будет видно поле выбора файла и кнопка загрузить.
Если нажать кнопку обзор (формируется кодом <input type="file" name="filename" accept="image/png"><br>) нам откроется стандартный диалог выбора файла, но нам надо выбрать файл простым FileOpenBox но как его подсунуть в html... будто мы выбрали это при нажатии кнопки обзор.
Ради эстетичности сам браузер надо бы скрыть.
Нам надо залить в объект браузера код загрузчика но сделать сам браузер скрытый.
Щас пошуршал, определил такую вещь - я загружаю в браузер код загрузчика, ну просто активирую BrowserGetElement и выясняю что в объекте filename содержиться путь выбранного файла когда нажимается кнопка обзор но путь специально скрытый типа C:\fakepatch\file.png
Я пробовал подменить эту переменную реальным путем к файлу который я заранее выбрал FileOpenBox но файл не грузится, скрипт возращает ошибку.

Тут вроде уже все сделано сделано, залил скрипт загрузчика в объект браузера, выбирай файл и он отравиться на обработку sent.php но, надо еще както авторизоваться в sent.php. щас это не реализовано но будет. Чтобы упростить задачу надо передвинуть функцию выбора файла и его отправки на необук. Если бы можно было воздействовать на "невидимый" браузер, скажем нажал кнопку в программе загрузить, выбрал файл (на самом деле активировалась функция вызываемая нажатием кнокпи обзор) нажал кнопку загрузить (комманда нажатия накнопку с <input type="submit">)

Я уже не знаю как объяснить.
Просто для инфы переданный файл на сервер методом post находится в глобальной php переменной $_FILES а сам обработчик проверяет не лежит ли там чего и если лежит, сохраняет.
Как вариант я вижу только непонятное как воздействияе с невидимым браузером на функции кнопок обзор и загрузить. Делать надо определенно через браузер ибо по другому данные не передать.


I will alive before dead
 
СообщениеОго =)))
Я бы ответил всем и каждому но думаю надо ближе к делу.
Так обовсем по порядку.
Я немного обдумал то что мне нужно и определился. Чтобы обеспечить защиту от левых загрузок, авторизация будет происходить по данным введенным в лаунчере на удаленном скрипте (прийдется повозиться)
---------------------------------
В курс дела:
В этой программе-лаунчере игры нужно будет сделать загрузку файлов-скинов игроков.
Файл формата png и весит не более 6-7 кб. Обычно 3-5.
Html которую я демонстрировал это собственно интерфейс загрузчика, но если слать данные методом post то передача данных настраивается без участния пользователя.
Как сказал сергей, какбы я не пытался передать данные, они будут не в том виде в каком кушает скрипт -обработчик. Поэтому тут облом на корне.

Я прошу прощения что тут шуму навел) Я обдумал как будет все происходить и от движка тут требуется в основном выполнить функцию передачи данных как это обычно бывает.
Алгоритм таков: Пользователь авторизовывается (все сделано методом запроса mySQL) > жмет на кнопку и ему открывается FileOpenBox и выбирает файл > сккрипту-обработчику педелаются повторно данные авторизации (мы ведь авторизовались и эти данные сохранились) после авторизации если все верно принимается файл (собственно сама проблема) > принятый файл переименовывается на имя пользователя который его только что загрузил.
Прийдется делать имя файла не в программе а именно на сервере... ну я пошуршу как перименовать в php файл, потому что если ктото узнает адрес скрипта (вот вы увидите его на примере кода) он смодет кому угодно скин сменить даже если авторизуется. Ну это моя морока.

Есть html код который я нашел как всунуть в объект веб браузера. Там будет код интерфейса
который будет инициализировать передачу данных на сервер. Но надо бы както сделать все эстетично потому что кусок браузера на странице... не айс)
Там есть еще какието функции с влиянием на объект выбор конкретного и взаимодействия с ним. Походу можно было бы сделать так:
Вливаем в объект браузера BrowserLoadFromStr код интерфейса загрузчика:
Код

<html>
<body>
       <form action="http://craftdotnet.ru/skindb/sent.php" method="post" enctype="multipart/form-data">
       <input type="file" name="filename" accept="image/png"><br>
       <input type="submit" value="Кнопка загрузить"><br>
       </form>
</body>
</html>

В браузере будет видно поле выбора файла и кнопка загрузить.
Если нажать кнопку обзор (формируется кодом <input type="file" name="filename" accept="image/png"><br>) нам откроется стандартный диалог выбора файла, но нам надо выбрать файл простым FileOpenBox но как его подсунуть в html... будто мы выбрали это при нажатии кнопки обзор.
Ради эстетичности сам браузер надо бы скрыть.
Нам надо залить в объект браузера код загрузчика но сделать сам браузер скрытый.
Щас пошуршал, определил такую вещь - я загружаю в браузер код загрузчика, ну просто активирую BrowserGetElement и выясняю что в объекте filename содержиться путь выбранного файла когда нажимается кнопка обзор но путь специально скрытый типа C:\fakepatch\file.png
Я пробовал подменить эту переменную реальным путем к файлу который я заранее выбрал FileOpenBox но файл не грузится, скрипт возращает ошибку.

Тут вроде уже все сделано сделано, залил скрипт загрузчика в объект браузера, выбирай файл и он отравиться на обработку sent.php но, надо еще както авторизоваться в sent.php. щас это не реализовано но будет. Чтобы упростить задачу надо передвинуть функцию выбора файла и его отправки на необук. Если бы можно было воздействовать на "невидимый" браузер, скажем нажал кнопку в программе загрузить, выбрал файл (на самом деле активировалась функция вызываемая нажатием кнокпи обзор) нажал кнопку загрузить (комманда нажатия накнопку с <input type="submit">)

Я уже не знаю как объяснить.
Просто для инфы переданный файл на сервер методом post находится в глобальной php переменной $_FILES а сам обработчик проверяет не лежит ли там чего и если лежит, сохраняет.
Как вариант я вижу только непонятное как воздействияе с невидимым браузером на функции кнопок обзор и загрузить. Делать надо определенно через браузер ибо по другому данные не передать.

Автор - UserDead
Дата добавления - 21 Августа 2013 в 02:45
mishemДата: Ср, 21 Августа 2013, 02:57 | Сообщение # 14
Эксперт форума
Если я правильно понимаю, посмотри справку НБ Панель инструментов> Web Browser там в самом низу раздел Обмен данными между Браузером и NeoBook

Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеЕсли я правильно понимаю, посмотри справку НБ Панель инструментов> Web Browser там в самом низу раздел Обмен данными между Браузером и NeoBook

Автор - mishem
Дата добавления - 21 Августа 2013 в 02:57
UserDeadДата: Ср, 21 Августа 2013, 03:12 | Сообщение # 15
Любопытный
Народ, прошу прощения за содеянное)
Именно что навел шуму около простой загрузки файлов.
Все просто! И уже какбы решено но немного неудобно.
Как я писал есть php скрипт - обработчик, он должен лежать на сервере.
Создаем объект вебБраузера и засовываем туда выше перечисленный код интерфейса оправки.
Профит! Выбираем в окошке файл, жмем кнопку загрузить и файл загрузиться.

Я разобрался что мне нужно. Мне сейчас прийдется крутить php авторизацию, тобы передаваемый файл принимался только после авторизации, я очень хорошо знаком принципу условия if балагодаря необуку, так что я должен разобраться. Просто отправить сохраненные в программе формы данных логин пароль на скрипт и отправить потом файл, а там вернется Sucsess или Fail.
А то что форма загрузки чуток некрасивая... думаю в сам документ подставить фон или немного css от Bootstrap и должно выглядеть более менее.

Вывод, для загрузки файла на сервер, есть вариант только FTP, если отправлять на сайт это как горохом об стенку, нужен php скрипт для выполнения функции загрузки на сервер, а во внутреннем веб браузере записать код поля выбора файла и кнопки submit чтобы загрузить файл. По другому - никак.

Спасибо всем, извиняюсь что потревожил, а то начал нагораживать функционал :)
Всем добра thumbs_up


I will alive before dead
 
СообщениеНарод, прошу прощения за содеянное)
Именно что навел шуму около простой загрузки файлов.
Все просто! И уже какбы решено но немного неудобно.
Как я писал есть php скрипт - обработчик, он должен лежать на сервере.
Создаем объект вебБраузера и засовываем туда выше перечисленный код интерфейса оправки.
Профит! Выбираем в окошке файл, жмем кнопку загрузить и файл загрузиться.

Я разобрался что мне нужно. Мне сейчас прийдется крутить php авторизацию, тобы передаваемый файл принимался только после авторизации, я очень хорошо знаком принципу условия if балагодаря необуку, так что я должен разобраться. Просто отправить сохраненные в программе формы данных логин пароль на скрипт и отправить потом файл, а там вернется Sucsess или Fail.
А то что форма загрузки чуток некрасивая... думаю в сам документ подставить фон или немного css от Bootstrap и должно выглядеть более менее.

Вывод, для загрузки файла на сервер, есть вариант только FTP, если отправлять на сайт это как горохом об стенку, нужен php скрипт для выполнения функции загрузки на сервер, а во внутреннем веб браузере записать код поля выбора файла и кнопки submit чтобы загрузить файл. По другому - никак.

Спасибо всем, извиняюсь что потревожил, а то начал нагораживать функционал :)
Всем добра thumbs_up

Автор - UserDead
Дата добавления - 21 Августа 2013 в 03:12
YURIYДата: Ср, 21 Августа 2013, 04:52 | Сообщение # 16
WebMaster
 
Сообщение

Автор - YURIY
Дата добавления - 21 Августа 2013 в 04:52
UserDeadДата: Ср, 21 Августа 2013, 06:38 | Сообщение # 17
Любопытный
Цитата (YURIY)
Чистый веб - пожалуйста.

Раз так получилось, может чуток на основах форумной индустрии, поможите скрипт состряпать? :)
php который сначала проверит отправленные ему логин и пароль с данными в mySQL базе а уж потом приймет данные и переименует файл под ник авторизованного пользователя)))


I will alive before dead
 
Сообщение
Цитата (YURIY)
Чистый веб - пожалуйста.

Раз так получилось, может чуток на основах форумной индустрии, поможите скрипт состряпать? :)
php который сначала проверит отправленные ему логин и пароль с данными в mySQL базе а уж потом приймет данные и переименует файл под ник авторизованного пользователя)))

Автор - UserDead
Дата добавления - 21 Августа 2013 в 06:38
СергейДата: Ср, 21 Августа 2013, 13:35 | Сообщение # 18
Необукер
Цитата (UserDead)
поможите скрипт состряпать?

UserDead, у тебя самописная страница?! на серваке движок(какой?) или что там?
блин нет инфы, как писать то? Обычно при авторизации записывается в БД флаг, что авторизован.
Если что, пиши в лс, по поводу моих вопросов (мне показалось, что ты замалчиваешь)
Кстати, можно замутить аякс-транспорт айфраме для отправки файла, это если не использовать веббраузер напрямую

Добавлено (21 Августа 2013, 08:10)
---------------------------------------------
Цитата (UserDead)
php который сначала проверит отправленные ему логин и пароль с данными в mySQL базе
ну самое простое


Добавлено (21 Августа 2013, 08:21)
---------------------------------------------
ну а дальше уже делаешь отправку файла

Добавлено (21 Августа 2013, 08:38)
---------------------------------------------

Добавлено (21 Августа 2013, 13:35)
---------------------------------------------

Цитата (Сергей)
Через js можно, не уверен конечно по поводу, программно воздействовать на input-file помнится была у меня с ним какая то заморочка...

проверил, нельзя программно воздействовать на file.
Остается два варианта:
1-Использовать WebBrowser в лаунчере (или вообще весь лаунчер сделать в WebBrowser)
2-юзать фтп


Сообщение отредактировано
Сергей - Ср, 21 Августа 2013, 08:30
 
Сообщение
Цитата (UserDead)
поможите скрипт состряпать?

UserDead, у тебя самописная страница?! на серваке движок(какой?) или что там?
блин нет инфы, как писать то? Обычно при авторизации записывается в БД флаг, что авторизован.
Если что, пиши в лс, по поводу моих вопросов (мне показалось, что ты замалчиваешь)
Кстати, можно замутить аякс-транспорт айфраме для отправки файла, это если не использовать веббраузер напрямую

Добавлено (21 Августа 2013, 08:10)
---------------------------------------------
Цитата (UserDead)
php который сначала проверит отправленные ему логин и пароль с данными в mySQL базе
ну самое простое


Добавлено (21 Августа 2013, 08:21)
---------------------------------------------
ну а дальше уже делаешь отправку файла

Добавлено (21 Августа 2013, 08:38)
---------------------------------------------

Добавлено (21 Августа 2013, 13:35)
---------------------------------------------

Цитата (Сергей)
Через js можно, не уверен конечно по поводу, программно воздействовать на input-file помнится была у меня с ним какая то заморочка...

проверил, нельзя программно воздействовать на file.
Остается два варианта:
1-Использовать WebBrowser в лаунчере (или вообще весь лаунчер сделать в WebBrowser)
2-юзать фтп

Автор - Сергей
Дата добавления - 21 Августа 2013 в 13:35
UserDeadДата: Ср, 21 Августа 2013, 14:13 | Сообщение # 19
Любопытный
Сергей, все достаточно просто) Я ничего не скрываю (почти) но может я чтото упостил из виду.
Введу в курс дела: (Из некоторых соображений я буду каверкать слова чтобы избежать SEO иначе школьники начнут штамповать то что делаю я и недайбог еще и вирусню распространять начнут так.)
Есть хост с php +MySQL с местом в 50 мб. Купил вместе с доменом за 12р в месяц.
Этот хост будет сервером обновлений для Лаунчера так и базой для игровых скинов.
Есть эдакая игра - Minecr@ft ей можно пользоваться тремя способами:
- Купив лицензию (можно играть на официальных серверах, ставить скины персонажу и плащ) стоит 900 рублей
- Играть о оффлайне используя свой ник (аккаунт) не имеющий премиум (та самая лицензия) но нет доступа на официальные сревера и нельзя менять скины и ставить плащи
- Играть на пиратских серверах (скажем это те самые простые сервера но с отключенной проверкой валидности ника и пароля на офф сервере т.е. зашел и играй) играя на пиратских серверах можно использовать чужой ник который имеет премиум, а значит и скин, но менять тебе его не получиться. Есть сайты с каталогом премиум аккаунтов со скинами выбирай любой)
Сам разработчик сразу заявил что ориентируется на премиум игроков, поэтому пираты его особо не волнуют. (Рано иили поздно те самые пираты покупают премиум, и кстати их контора имеет не 1 лимон зеленых причем без особого PR)

Я решил запустить свой сервер (он ранее был но закрывался на каникулы). Особенностью эдакого проекта будет лаунчер (не каждый себе может его позволить изза отсутствия знаний) многие лау написаны на java но я узнав сколько с ними мороки решил сделать свой с плюшками которые никто не делал) Причем те самые скины, файлы которые мне надо грузить, это реализация своей системы сконов ведь простой игровой клиент обращается за сконом на сервер типа
http://mcskin.net/Skins/UserName.png
я поменяю на свой
http://craftdotnet.ru/skindb/UserName.png
Файл скина игрока совпадает с именем файла, в нашем случае UserName.png это скин игрока UserName

Сейчас на сервере только скрипт загрузки файла на сервер. В лаунчере изначально планировалось авторизация в нем и разрешение загрузки файла из под него НО.
Цитата (Сергей)
ты серьезно думаешь, что нельзя?! Любой снифер покажет, что и куда отсылает прога. Да походу и любой фаер покажет "дорогу"

Я имел соответстующую деятельность и знаю что это такое. Будучи повернутым на безопасности я только через время обратил внимание на то что узнав путь скрипту, а его можно узнать при желании, можно поменять скин кому угодно даже мне как админу загрузив какой нибудь некрасивый UserDead.png на сервер. Таким образом авторизация должна быть какбы двойная одна на стороне клиента другая на сервере, в нашем случае при загрузке скина.

Что мне нужно:
Пользователь запускает лаунчер и он имеет два клиента, наш от проекта и простой классический (эдакая мультиклиентность)
Если он хочет сыграть у нас он вводит Ник и Пароль и может запустить игру (на сервер в спец скрипт отправиться првоерка ника и пароля, и выдается ссесия клиента. Скрипт мне предоставил человек который написал свой лау на java продающий его за 1500р)
Если игроку надо сменить скин, он идет на страницу в проекта под названием сктин менеджер и там я так понимаю будет кусок веб браузера с залитым в него кодом стандантного выбора файла "Обзор..." и кнопка загрузить. Но нам надо верифицировать пользователя поэтому функция кнопки загрузить будет немного шире!
Сначала должна пройти авторизация, тоетсь методом допустим get на этот же скрипт sent.php отправяться Логин и пароль, которые уже были введены в лау игроком ранее.
Что-то вроде sent.php?Username=[username]&password=[password]
Далее на сервер идет отправка файла НО как я говорил данные на сервер передаются методом post и сохраняется в суперглобальном масиве перменных php $_FILES
Сам скрипт делает работу проверки, есть ли в $_FILES что-то, и если есть сохраняет.
Это выглядит так:
Код

<?php
    if($_FILES["filename"]["size"] > 1024*3*1024)
    {
      echo ("Файл БОЛЬШЕ 3 мегабайта!");
      exit;
    }
    // Проверяем есть ли файл в $_FILES и вычисляем его временное имя которое дала система сохраняя  
    // во временной папке tmp_name
    if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
    {
      // Если файл загружен успешно, перемещаем его
      // из временной директории в конечную
      move_uploaded_file($_FILES["filename"]["tmp_name"], "/home/h47946/data/www/craftdotnet.ru/skindb/".$_FILES["filename"]["name"]);
    } else {
       echo("Ошибка загрузки файла");
    }
?>

Однако этот код не должен выпоняться ЕСЛИ логин \ пароль неверны.
Мне не нужны ссесии в php это одноразовый запрос.
Если бы php был как NeoBook я бы выразил это так (представим что я подключился к БД с пользователями сервера, и запросил есть ли логин+пароль в таблице)
Код

If "[username]" = "[sqlusername]"
    If "[md5_in]" = "[md5_out]"    //сравниваем хеш текущего введеного пароля и того что получили из БД
       //Выполняем запуск скрипта сохранения файла из временного массива
       //и запускаем не сделанный еще скрпит который переименует файл (нам ведь надо сохранить имя
       // пользователя который меняет скин чтобы он менял его только сам себе) переименуем на ник  
       //игрока взятый из [username]
    Else
       // типа пишем echo ('Error'); потому что зеш пароля не прошел
    EndIf
Else
// тут у нас конечно не прошел юзер но ошибка одна и та же неверный логин\пароль
EndIf

Тоесть только при совпадении Логина и пароля на основе IF запуститься скрипт упомянутый выше об сохранении файла и его переименовании на ник текущего залогиневшегося игрока. Все!
Единственное я надеюсь каждый запуск и обработка у разных пользователей раздельна, иначе если одновременно залогиниться два человека есть вариент что они обменяются скинами, но я думаю у каждого своя текущая обработка переменных в php длкально по отношению к каждому.
Ах да и еще, регистрация будет но это потом. Сейчас в базу пользователи записуются от плагина авторизации. мне сейчас главное сделать это а регистрацию в лаунчере потом запилить. Все в myQSL
Надеюсь я ничего не упустил из виду.

Добавлено (21 Августа 2013, 14:13)
---------------------------------------------
%) Вот надо както эту форму в локально загруженном в веб браузер html где кнопка загрузить
отвечает строка
input type="submit" value="Load skin file"
ВОт на этом моменте надо чтобы сабмит отправлял логин и пароль с переменных логина и пароля в лау.
Тут ктото говорил про взимодействие нео и браузера.
Можно попробовать создать две скрытые формы ввода с именем логина и пароля и поместить им с помощью BrowserSetElement данные с переменных нео (катко там но я непонял как присваивать объектам значения из переменных нео)


I will alive before dead
 
СообщениеСергей, все достаточно просто) Я ничего не скрываю (почти) но может я чтото упостил из виду.
Введу в курс дела: (Из некоторых соображений я буду каверкать слова чтобы избежать SEO иначе школьники начнут штамповать то что делаю я и недайбог еще и вирусню распространять начнут так.)
Есть хост с php +MySQL с местом в 50 мб. Купил вместе с доменом за 12р в месяц.
Этот хост будет сервером обновлений для Лаунчера так и базой для игровых скинов.
Есть эдакая игра - Minecr@ft ей можно пользоваться тремя способами:
- Купив лицензию (можно играть на официальных серверах, ставить скины персонажу и плащ) стоит 900 рублей
- Играть о оффлайне используя свой ник (аккаунт) не имеющий премиум (та самая лицензия) но нет доступа на официальные сревера и нельзя менять скины и ставить плащи
- Играть на пиратских серверах (скажем это те самые простые сервера но с отключенной проверкой валидности ника и пароля на офф сервере т.е. зашел и играй) играя на пиратских серверах можно использовать чужой ник который имеет премиум, а значит и скин, но менять тебе его не получиться. Есть сайты с каталогом премиум аккаунтов со скинами выбирай любой)
Сам разработчик сразу заявил что ориентируется на премиум игроков, поэтому пираты его особо не волнуют. (Рано иили поздно те самые пираты покупают премиум, и кстати их контора имеет не 1 лимон зеленых причем без особого PR)

Я решил запустить свой сервер (он ранее был но закрывался на каникулы). Особенностью эдакого проекта будет лаунчер (не каждый себе может его позволить изза отсутствия знаний) многие лау написаны на java но я узнав сколько с ними мороки решил сделать свой с плюшками которые никто не делал) Причем те самые скины, файлы которые мне надо грузить, это реализация своей системы сконов ведь простой игровой клиент обращается за сконом на сервер типа
http://mcskin.net/Skins/UserName.png
я поменяю на свой
http://craftdotnet.ru/skindb/UserName.png
Файл скина игрока совпадает с именем файла, в нашем случае UserName.png это скин игрока UserName

Сейчас на сервере только скрипт загрузки файла на сервер. В лаунчере изначально планировалось авторизация в нем и разрешение загрузки файла из под него НО.
Цитата (Сергей)
ты серьезно думаешь, что нельзя?! Любой снифер покажет, что и куда отсылает прога. Да походу и любой фаер покажет "дорогу"

Я имел соответстующую деятельность и знаю что это такое. Будучи повернутым на безопасности я только через время обратил внимание на то что узнав путь скрипту, а его можно узнать при желании, можно поменять скин кому угодно даже мне как админу загрузив какой нибудь некрасивый UserDead.png на сервер. Таким образом авторизация должна быть какбы двойная одна на стороне клиента другая на сервере, в нашем случае при загрузке скина.

Что мне нужно:
Пользователь запускает лаунчер и он имеет два клиента, наш от проекта и простой классический (эдакая мультиклиентность)
Если он хочет сыграть у нас он вводит Ник и Пароль и может запустить игру (на сервер в спец скрипт отправиться првоерка ника и пароля, и выдается ссесия клиента. Скрипт мне предоставил человек который написал свой лау на java продающий его за 1500р)
Если игроку надо сменить скин, он идет на страницу в проекта под названием сктин менеджер и там я так понимаю будет кусок веб браузера с залитым в него кодом стандантного выбора файла "Обзор..." и кнопка загрузить. Но нам надо верифицировать пользователя поэтому функция кнопки загрузить будет немного шире!
Сначала должна пройти авторизация, тоетсь методом допустим get на этот же скрипт sent.php отправяться Логин и пароль, которые уже были введены в лау игроком ранее.
Что-то вроде sent.php?Username=[username]&password=[password]
Далее на сервер идет отправка файла НО как я говорил данные на сервер передаются методом post и сохраняется в суперглобальном масиве перменных php $_FILES
Сам скрипт делает работу проверки, есть ли в $_FILES что-то, и если есть сохраняет.
Это выглядит так:
Код

<?php
    if($_FILES["filename"]["size"] > 1024*3*1024)
    {
      echo ("Файл БОЛЬШЕ 3 мегабайта!");
      exit;
    }
    // Проверяем есть ли файл в $_FILES и вычисляем его временное имя которое дала система сохраняя  
    // во временной папке tmp_name
    if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
    {
      // Если файл загружен успешно, перемещаем его
      // из временной директории в конечную
      move_uploaded_file($_FILES["filename"]["tmp_name"], "/home/h47946/data/www/craftdotnet.ru/skindb/".$_FILES["filename"]["name"]);
    } else {
       echo("Ошибка загрузки файла");
    }
?>

Однако этот код не должен выпоняться ЕСЛИ логин \ пароль неверны.
Мне не нужны ссесии в php это одноразовый запрос.
Если бы php был как NeoBook я бы выразил это так (представим что я подключился к БД с пользователями сервера, и запросил есть ли логин+пароль в таблице)
Код

If "[username]" = "[sqlusername]"
    If "[md5_in]" = "[md5_out]"    //сравниваем хеш текущего введеного пароля и того что получили из БД
       //Выполняем запуск скрипта сохранения файла из временного массива
       //и запускаем не сделанный еще скрпит который переименует файл (нам ведь надо сохранить имя
       // пользователя который меняет скин чтобы он менял его только сам себе) переименуем на ник  
       //игрока взятый из [username]
    Else
       // типа пишем echo ('Error'); потому что зеш пароля не прошел
    EndIf
Else
// тут у нас конечно не прошел юзер но ошибка одна и та же неверный логин\пароль
EndIf

Тоесть только при совпадении Логина и пароля на основе IF запуститься скрипт упомянутый выше об сохранении файла и его переименовании на ник текущего залогиневшегося игрока. Все!
Единственное я надеюсь каждый запуск и обработка у разных пользователей раздельна, иначе если одновременно залогиниться два человека есть вариент что они обменяются скинами, но я думаю у каждого своя текущая обработка переменных в php длкально по отношению к каждому.
Ах да и еще, регистрация будет но это потом. Сейчас в базу пользователи записуются от плагина авторизации. мне сейчас главное сделать это а регистрацию в лаунчере потом запилить. Все в myQSL
Надеюсь я ничего не упустил из виду.

Добавлено (21 Августа 2013, 14:13)
---------------------------------------------
%) Вот надо както эту форму в локально загруженном в веб браузер html где кнопка загрузить
отвечает строка
input type="submit" value="Load skin file"
ВОт на этом моменте надо чтобы сабмит отправлял логин и пароль с переменных логина и пароля в лау.
Тут ктото говорил про взимодействие нео и браузера.
Можно попробовать создать две скрытые формы ввода с именем логина и пароля и поместить им с помощью BrowserSetElement данные с переменных нео (катко там но я непонял как присваивать объектам значения из переменных нео)


Автор - UserDead
Дата добавления - 21 Августа 2013 в 14:13
СергейДата: Чт, 22 Августа 2013, 18:48 | Сообщение # 20
Необукер
UserDead, ну суть понятно...
были идеи привязать нб и сервер через сессию.
наваял скрипт, и облом...
Сессия не сохраняется почему то((
Правда проверял на денвере, но не думаю, что от этого зависит.
Поковыряю есчо, м/б что то упустил.
Но имей ввиду, придется сессию записывать в бд или файл.
Лучше в бд, это самое оптимальное.
вот с размером незнаю, у тебя же жесткий лимит, а сколько игроков будет?!
-----------------------------------------
скрипт реализовал примерно такой:
1)установить сессию нб (при открытии проги автоматом).
2)установить сессию лузера (он вводит логин и пароль)
3)делать доступно смену скина
4)при обращении к серверу проверять сессии нб и узера
вот такой механизм
Сессия нб будет состоять из 3-х частей: дата(мес и ден)+1-я метка+2 метка
Сессия юзера тоже будет состоять из 3-х частей: дата(мес и ден)+логин+метка
о метках, что в них находится, я напишу тебе в лс
Подделать все сразу, крайне тяжело, да и кому из геймеров это надо :D
ну все, осталось разобраться, с сохранением ссесий. а так все готово

Добавлено (22 Августа 2013, 18:48)
---------------------------------------------
разобрался с сесиями
ну млин.... 2 раз на эти грабли наступаю :D , ие не понимает символ (_) в именах доменов, а тестовый как раз и наз-ся img_nb_post.lос
Ну все, скоро вышлю инструкции и пример
кстати, у тебя скин проги то есть?

Сообщение отредактировано
Сергей - Чт, 22 Августа 2013, 17:56
 
СообщениеUserDead, ну суть понятно...
были идеи привязать нб и сервер через сессию.
наваял скрипт, и облом...
Сессия не сохраняется почему то((
Правда проверял на денвере, но не думаю, что от этого зависит.
Поковыряю есчо, м/б что то упустил.
Но имей ввиду, придется сессию записывать в бд или файл.
Лучше в бд, это самое оптимальное.
вот с размером незнаю, у тебя же жесткий лимит, а сколько игроков будет?!
-----------------------------------------
скрипт реализовал примерно такой:
1)установить сессию нб (при открытии проги автоматом).
2)установить сессию лузера (он вводит логин и пароль)
3)делать доступно смену скина
4)при обращении к серверу проверять сессии нб и узера
вот такой механизм
Сессия нб будет состоять из 3-х частей: дата(мес и ден)+1-я метка+2 метка
Сессия юзера тоже будет состоять из 3-х частей: дата(мес и ден)+логин+метка
о метках, что в них находится, я напишу тебе в лс
Подделать все сразу, крайне тяжело, да и кому из геймеров это надо :D
ну все, осталось разобраться, с сохранением ссесий. а так все готово

Добавлено (22 Августа 2013, 18:48)
---------------------------------------------
разобрался с сесиями
ну млин.... 2 раз на эти грабли наступаю :D , ие не понимает символ (_) в именах доменов, а тестовый как раз и наз-ся img_nb_post.lос
Ну все, скоро вышлю инструкции и пример
кстати, у тебя скин проги то есть?


Автор - Сергей
Дата добавления - 22 Августа 2013 в 18:48
UserDeadДата: Пт, 23 Августа 2013, 01:47 | Сообщение # 21
Любопытный
Сергей, спасибо тебе за помощь)
У меня вопрос, я ведь писал что сессии не нужны, нужна простая проверка логин пароль и если совпадает / не совпадает то запускать / не запускать сохранение загруженного файла из переменной $_FILES.
Если сессии так принципиальны то проверка текущей сессии и кому она принадлежит чтобы извлечь логин и переименовать загруженный файл на ник игрока.
Сергей, по идее тема решена, загрузка файла на сервер возможна с помощью скрипта который я продемонстрировал.
Дальше это доведение до ума. Я не знаю будет ли это хорошей идеей но может попробовать связаться чуточку иным способом?! Скажем тут от сообщения до сообщения, а времени не так много.
Конечно все от твоего желания. redface

Добавлено (23 Августа 2013, 01:47)
---------------------------------------------
Я полагаю что так будет проще обсудить некоторые детали. Ну а по достижению цели с меня пиво :D если что


I will alive before dead
 
СообщениеСергей, спасибо тебе за помощь)
У меня вопрос, я ведь писал что сессии не нужны, нужна простая проверка логин пароль и если совпадает / не совпадает то запускать / не запускать сохранение загруженного файла из переменной $_FILES.
Если сессии так принципиальны то проверка текущей сессии и кому она принадлежит чтобы извлечь логин и переименовать загруженный файл на ник игрока.
Сергей, по идее тема решена, загрузка файла на сервер возможна с помощью скрипта который я продемонстрировал.
Дальше это доведение до ума. Я не знаю будет ли это хорошей идеей но может попробовать связаться чуточку иным способом?! Скажем тут от сообщения до сообщения, а времени не так много.
Конечно все от твоего желания. redface

Добавлено (23 Августа 2013, 01:47)
---------------------------------------------
Я полагаю что так будет проще обсудить некоторые детали. Ну а по достижению цели с меня пиво :D если что


Автор - UserDead
Дата добавления - 23 Августа 2013 в 01:47
СергейДата: Вт, 27 Августа 2013, 16:01 | Сообщение # 22
Необукер
Цитата (UserDead)
я ведь писал что сессии не нужны
ну не нужны, так не нужны, мне проще :)
отправил тебе в лс ссылку на демку.
Только заполни там данные, я там комментировал
Цитата (UserDead)
Я не знаю будет ли это хорошей идеей но может попробовать связаться чуточку иным способом?!
??


Сообщение отредактировано
Сергей - Ср, 28 Августа 2013, 10:20
 
Сообщение
Цитата (UserDead)
я ведь писал что сессии не нужны
ну не нужны, так не нужны, мне проще :)
отправил тебе в лс ссылку на демку.
Только заполни там данные, я там комментировал
Цитата (UserDead)
Я не знаю будет ли это хорошей идеей но может попробовать связаться чуточку иным способом?!
??

Автор - Сергей
Дата добавления - 27 Августа 2013 в 16:01
СергейДата: Вт, 03 Сентября 2013, 09:33 | Сообщение # 23
Необукер
Как выяснили, есть 3 способа отправки файла на сервер.
1) через форму в объекте WebBrowser, можно разделить на два способа
--А) Стандартная форма. Минусы при отправке будет переход на страницу скрипта
--Б) Стандартная форма + iframe. Минусы тяжело отследить ошибки, если токовы будут.
2) через объект Flash, принцип такой же, как и в 1 способе.
В первых двух способов, выбор файла происходит не НБшным диалоговым окном.
3) Тут выбор файла происходит НБшным диалоговым окном, а значит можно контролировать в самой НБ - имя, размер и расширение файла.
Способ сводится к кодированию файла Base64 и отправки данных на сервер. Кодировать файл можно плагином hpwUtility командой hpwMimeDecodeFile. Вроде есть еще функция Дембеля, точно не знаю.
Демки к 1 и 3 способу обещал сделать UserDead
Я решил выложить 3 способ, но буду использовать не плагин, а консольную утилиту.
В архиве демка, скрипт и консолька.
Прикрепления: impost.zip (12.6 Kb)
 
СообщениеКак выяснили, есть 3 способа отправки файла на сервер.
1) через форму в объекте WebBrowser, можно разделить на два способа
--А) Стандартная форма. Минусы при отправке будет переход на страницу скрипта
--Б) Стандартная форма + iframe. Минусы тяжело отследить ошибки, если токовы будут.
2) через объект Flash, принцип такой же, как и в 1 способе.
В первых двух способов, выбор файла происходит не НБшным диалоговым окном.
3) Тут выбор файла происходит НБшным диалоговым окном, а значит можно контролировать в самой НБ - имя, размер и расширение файла.
Способ сводится к кодированию файла Base64 и отправки данных на сервер. Кодировать файл можно плагином hpwUtility командой hpwMimeDecodeFile. Вроде есть еще функция Дембеля, точно не знаю.
Демки к 1 и 3 способу обещал сделать UserDead
Я решил выложить 3 способ, но буду использовать не плагин, а консольную утилиту.
В архиве демка, скрипт и консолька.

Автор - Сергей
Дата добавления - 03 Сентября 2013 в 09:33
WiMДата: Вт, 03 Сентября 2013, 12:27 | Сообщение # 24
Новичок
Мистика... :(
Сергей, ты выложил impost.zip когда я находился в процессе безуспешного мозгового штурма решения данной проблемы scared
Спасибо за решение и спасибо народу, поддерживающему этот сайт. thumbs_up


подпись
 
СообщениеМистика... :(
Сергей, ты выложил impost.zip когда я находился в процессе безуспешного мозгового штурма решения данной проблемы scared
Спасибо за решение и спасибо народу, поддерживающему этот сайт. thumbs_up

Автор - WiM
Дата добавления - 03 Сентября 2013 в 12:27
WiMДата: Вт, 03 Сентября 2013, 13:26 | Сообщение # 25
Новичок
Плагин hpwUtility содержит команду:

hpwMimeEncodeFile
Закодировать двоичный файл в кодировку MIME-файла (Base64).

Мы сможем отказаться от довеска "base64.exe"
Прикрепления: hpwUtility_RUS.zip (476.5 Kb)


подпись
 
СообщениеПлагин hpwUtility содержит команду:

hpwMimeEncodeFile
Закодировать двоичный файл в кодировку MIME-файла (Base64).

Мы сможем отказаться от довеска "base64.exe"

Автор - WiM
Дата добавления - 03 Сентября 2013 в 13:26
mishemДата: Вт, 03 Сентября 2013, 13:37 | Сообщение # 26
Эксперт форума
Цитата (WiM)
Мы сможем отказаться от довеска "base64.exe"

:)

Хочешь отказаться от 11 кб, и вместо этого добавить 477?
:D

Бывает....
Все плагины тоже компилируются с программой не зависимо от того сколько команд используется.
Если этот плагин еще где то используется, то да, иначе нет смысла.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (WiM)
Мы сможем отказаться от довеска "base64.exe"

:)

Хочешь отказаться от 11 кб, и вместо этого добавить 477?
:D

Бывает....
Все плагины тоже компилируются с программой не зависимо от того сколько команд используется.
Если этот плагин еще где то используется, то да, иначе нет смысла.

Автор - mishem
Дата добавления - 03 Сентября 2013 в 13:37
СергейДата: Вт, 03 Сентября 2013, 15:48 | Сообщение # 27
Необукер
Цитата (WiM)
Мы сможем отказаться от довеска "base64.exe"

Цитата (mishem)
Хочешь отказаться от 11 кб, и вместо этого добавить 477?
mishem прав довесок тут плагин. И автору сабжа, реально для одной функции, нет смысла цеплять весь плагин. ему из этой консольки и вторая функция (декодирование) тоже не нужна, считай еще на половину меньше :D
Но гонятся за байтами тоже нет смысла в современных компах, по сути они не играют роли. Если только при запуске самой проги, какая быстрей с плагом или консоль, там вроде в память идет выгрузка )))
Хотя это уже вато-катание
 
Сообщение
Цитата (WiM)
Мы сможем отказаться от довеска "base64.exe"

Цитата (mishem)
Хочешь отказаться от 11 кб, и вместо этого добавить 477?
mishem прав довесок тут плагин. И автору сабжа, реально для одной функции, нет смысла цеплять весь плагин. ему из этой консольки и вторая функция (декодирование) тоже не нужна, считай еще на половину меньше :D
Но гонятся за байтами тоже нет смысла в современных компах, по сути они не играют роли. Если только при запуске самой проги, какая быстрей с плагом или консоль, там вроде в память идет выгрузка )))
Хотя это уже вато-катание

Автор - Сергей
Дата добавления - 03 Сентября 2013 в 15:48
Форум NeoBook » Всё о программе NeoBook » Мир NeoBook » Отправка данных на сервер или post метод во всей красе (Просто отправить 5 кб файлл на сервер \)
  • Страница 1 из 1
  • 1
Поиск: