так то насколько знаю не предусмотрены, но умельцы кустари могут это сделать (не бесплатно) --- добавлено: 8 фев 2015 в 00:43 --- как вариант по идее можно сделать функцию, которая бы вместо надписи показывала бы иконки званий, но опять же это к тем, кто занимается ковырянием клиента, ядра на заказ )
WM тоже принимаю, но не желательно. Всегда считал вебмани самым лучшим вариантом интернет расчетов, странно, чем она вам не угодила...
Будете смеяться, но оно работает =) PS: Проблема с этим моментом решена, спасибо всем, кто отозвался, продолжу дальше теперь кодить ) --- добавлено: 31 янв 2015 в 23:22 --- Что там думать? Алекс же писал: foreach ($result as $i => $row) { echo $row['name']; } как раз его конструкцию и использовал )
Скрипт запрос: <?php function sql_sender($code_fnc,$data){ $url = "http://192.168.0.32/sapi.php"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_POST, TRUE); curl_setopt($ch, CURLOPT_POSTFIELDS, 'k=22223&opcode='.$code_fnc.'&data='.$data.''); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_HEADER, TRUE); curl_setopt($ch, CURLOPT_FAILONERROR, 1); //curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_TIMEOUT, 3); $result = curl_exec($ch); $header = substr($result, 0, curl_getinfo($ch, CURLINFO_HEADER_SIZE)); $body = substr($result, curl_getinfo($ch, CURLINFO_HEADER_SIZE)); return $body; curl_close($ch); //}else{ //return "error"; //} } $result= sql_sender("1","SELECT ID, name, email, creatime, coins FROM users ORDER BY ID ASC LIMIT 15"); $var = str_replace(" ","",$result); $var = str_replace(")array(",")+++array(",$var); $var = str_replace("array(","",$var); $var = str_replace("\n","",$var); $var = str_replace(",)","",$var); $a1 = explode("+++", $var); foreach ($a1 as &$value) { $o .= $value."<br>"; } echo $o; ?> Скрипт ответ: <? $key = "22223"; $ip_host_api = "192.168.0.56"; $sql = $_POST['data']; $link = new mysqli('localhost', 'root', '1111', 'pwserver'); if($ip_host_api == $_SERVER['REMOTE_ADDR']){ if($key == $_POST['k']) { $result = mysqli_query($link, $sql); while( $row = mysqli_fetch_array($result, MYSQL_ASSOC) ){ var_export ($row); } }else{ echo "incorrect-key!"; } } /* Освобождаем используемую память */ mysqli_free_result($result); /* Закрываем соединение */ mysqli_close($link); ?> while( $row = mysqli_fetch_array($result, MYSQL_ASSOC) ){ var_export ($row); } Замени на: $res = []; //array() while( $row = mysqli_fetch_array($result, MYSQL_ASSOC) ){ $res[] = $row; } echo json_encode($res); А это: $result= sql_sender("1","SELECT ID, name, email, creatime, coins FROM users ORDER BY ID ASC LIMIT 15"); на $result= json_decode(sql_sender("1","SELECT ID, name, email, creatime, coins FROM users ORDER BY ID ASC LIMIT 15"), true); В result у тебя будет массив с которым и работай. Получилось, теперь буду думать как мне вывести данные в человеческий вид, в браузер ) Попробую разобраться с массивом... если окончательно мозг не сломаю )
Скрипт запрос: <?php function sql_sender($code_fnc,$data){ $url = "http://192.168.0.32/sapi.php"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_POST, TRUE); curl_setopt($ch, CURLOPT_POSTFIELDS, 'k=22223&opcode='.$code_fnc.'&data='.$data.''); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_HEADER, TRUE); curl_setopt($ch, CURLOPT_FAILONERROR, 1); //curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_TIMEOUT, 3); $result = curl_exec($ch); $header = substr($result, 0, curl_getinfo($ch, CURLINFO_HEADER_SIZE)); $body = substr($result, curl_getinfo($ch, CURLINFO_HEADER_SIZE)); return $body; curl_close($ch); //}else{ //return "error"; //} } $result= sql_sender("1","SELECT ID, name, email, creatime, coins FROM users ORDER BY ID ASC LIMIT 15"); $var = str_replace(" ","",$result); $var = str_replace(")array(",")+++array(",$var); $var = str_replace("array(","",$var); $var = str_replace("\n","",$var); $var = str_replace(",)","",$var); $a1 = explode("+++", $var); foreach ($a1 as &$value) { $o .= $value."<br>"; } echo $o; ?> Скрипт ответ: <? $key = "22223"; $ip_host_api = "192.168.0.56"; $sql = $_POST['data']; $link = new mysqli('localhost', 'root', '1111', 'pwserver'); if($ip_host_api == $_SERVER['REMOTE_ADDR']){ if($key == $_POST['k']) { $result = mysqli_query($link, $sql); while( $row = mysqli_fetch_array($result, MYSQL_ASSOC) ){ var_export ($row); } }else{ echo "incorrect-key!"; } } /* Освобождаем используемую память */ mysqli_free_result($result); /* Закрываем соединение */ mysqli_close($link); ?> --- добавлено: 31 янв 2015 в 22:50 --- в данном варианте я получаю визуальный дамп массива, с которым почему то не могу работать как с массивом...
возможно подойдет вариант serialize, он пакует в строку все типы, включая объекты, которые спокойно можно передать через curl методом post, хотя json_encode для этих целей тоже вполне сгодится. echo json_encode($result); верно? проблема в том, что скрипт который принимает данные, получает пустую страницу.
Это сделать так нельзя? $result = []; while( $row = mysqli_fetch_array($result, MYSQL_ASSOC) ){ $result[] = $row; var_export ($row); } Вся сложность в том, что нужно получить массив данных визуально и передать в скрипт на другом сервере, т.е. API система, а для этого содержание массива нужно передать визуально и уже потом разобрать пхп скриптом. Мб. слышал про JSON? while( $row = mysqli_fetch_array($result, MYSQL_ASSOC) ){ $result[] = $row; } echo json_encode($result); В скрипте где необходимо преобразовать в массив: json_decode($result, true); result - название переменной содержащей строку. Возможно ты меня не понял, я пишу API, где окружение переменных нельзя передать в другой скрипт, который принимает данные на другом сервере через CURL
while( $row = mysqli_fetch_array($result, MYSQL_ASSOC) ){ var_export ($row); } Это сделать так нельзя? $result = []; while( $row = mysqli_fetch_array($result, MYSQL_ASSOC) ){ $result[] = $row; var_export ($row); } Вся сложность в том, что нужно получить массив данных визуально и передать в скрипт на другом сервере, т.е. API система, а для этого содержание массива нужно передать визуально и уже потом разобрать пхп скриптом. --- добавлено: 31 янв 2015 в 22:18 --- $my_array = array(); while ($row = mysqli_fetch_assoc($result) { array_push($my_array, $row); } foreach ($my_array as $i => $row){ echo $row['name']; } Осталось понять теперь, удастся ли мне содержание массива передать в скрипт на другом сервере и уже там вывести данные в привычном виде в браузер )
если быть точным, то как из полученного дампа построить двухмерный массив, а то что то пока не даже гугл не помог )
В общем для своей тривиальной задачи я должен получить данные из мускула именно в в визуальном представлении, в виде дампа, который в последствии мне нужно разобрать уже при помощи пхп в привычный вывод. while( $row = mysqli_fetch_array($result, MYSQL_ASSOC) ){ var_export ($row); } такая конструкция соответственно выводит дамп визуально: примерно такого вида... array( 'ID'=>'32', 'name'=>'root', 'email'=>'[email protected]', 'creatime'=>'2014-09-0918:55:49', ) array( 'ID'=>'48', 'name'=>'wsok', 'email'=>'[email protected]', 'creatime'=>'2014-09-2007:20:51', ) array( 'ID'=>'64', 'name'=>'userpw', 'email'=>'[email protected]', 'creatime'=>'2014-09-2301:25:13', ) задача, уже при помощи пхп все это многомерное безобразие обработать неким аналогом функции от мускула mysqli_fetch_array,привычным способом, будто я это делаю в мускуле. while( $row = php_fetch_array($result) ){ echo $row['name']."данные привычным методом" } т.е. я так понимаю придется написать именно в пхп аналог, но не понимаю куда копать, с чего начать разбирать полученные данные из var_export
внутри локальной сети получается? проброс не нужен, у самого по такой примерно схеме собрана сеть дома. Все что за роутером (внутри) не требует пробросов, все что вне (внешка интернет) нужно пробрасывать порты. Если компы в пределах одной подсети например: Стационарный комп: 192.168.0.55 Ноутбук: 192.168.0.38 Виртуалка: 192.168.0.72 если в пределах одной сети, легко проверить доступность, вызови страничку веб сервера. --- добавлено: 30 янв 2015 в 22:19 --- а вообще ноут бы лучше подцепил кабелем к роутеру. У меня комп 192.168.0.2 Телефон:D 192.168.0.3 Ноут 192.168.0.4 виртуалка 192.168.0.5 с wi-fi можно по дому ходить Что то не получается войти через стац порты вроде пробросил такая же херь )) даже смартфон свой ип забиндил )) --- добавлено: 30 янв 2015 в 22:52 --- но пробрасывать ничего не понадобилось, завелось все сразу даже пв сервер на виртуалке. --- добавлено: 30 янв 2015 в 23:04 --- , post: 151446, member: 12202"]Хамачи поставь и не парься я так понял ему доступ с внешки пока не нужен, он хочет все машины внутри домашней сети "подружить" ))
внутри локальной сети получается? проброс не нужен, у самого по такой примерно схеме собрана сеть дома. Все что за роутером (внутри) не требует пробросов, все что вне (внешка интернет) нужно пробрасывать порты. Если компы в пределах одной подсети например: Стационарный комп: 192.168.0.55 Ноутбук: 192.168.0.38 Виртуалка: 192.168.0.72 если в пределах одной сети, легко проверить доступность, вызови страничку веб сервера. --- добавлено: 30 янв 2015 в 22:19 --- а вообще ноут бы лучше подцепил кабелем к роутеру.
какой скайп у тебя?
но скрин у тебя старого экзешника [IMG] запускал новый, что ты дал.
если думаешь, что я что то вру, ради тебя Пробовал, все та же трабла: этого сообщения вообще не должно быть, оно должно выглядеть вот так: [IMG] ну так дать в личку данные на подключение к моему мускулу? поглядишь какое окошко вылезет у себя.
Жаль однако, был бы приличный бесплатный софт Не пробовал экзешник заменить? Пробовал, все та же трабла: [IMG] те же мускул данные в проге от Липтона выводят норм аккаунты. --- добавлено: 30 янв 2015 в 13:55 --- если думаешь, что я что то вру, ради интереса могу для тестов внешку к мускулу открыть тебе.
Здравия всем, братцы! Была когда-то очень давно написана мной одна утилитка Работает она на прямую подключаясь к серверу по SSH и к MySQL, что, конечно же, не есть гуд. Я не думаю, что это обязательно расскажет всем, что у вас под ковриком ключик, всегда можно обезопаситься совершенно без проблем, но тем не менее появилась у меня мыслишка эту програмулину переписать к фигам заново, но уже с серверной прослоечкой. Никаких демонов, всё до безобразия просто: php апи. Плюсами такой работы будут: относительная безопасность в сравнении с нынешним вариантом и явно преимущественная скорость работы. Но тут вопрос такой: а оно вообще надо? Я завязал с ПВ уже писец как давно и на форуме этом продолжаю сидеть по старой памяти, поэтому даже не в курсе, что у нас и как сейчас на рынке софта. Если я и буду писать эту ерунду, то не за деньги, в широком понимании этого слова. То есть я её напишу и выложу в шару, но очень бы хотелось знать, надо ли оно кому-нибудь вообще? За прошлую версию мне кто-то даже в благодарность денежку кинул на кошелёк. Это, на самом деле очень приятно, чувствуется, что вроде как труд не в пустую потрачен... В общем и целом, программа с функционалом: список пользователей с их правами, дать/отобрать эти самые права, выдать голдов, отправить шмотку, сменить пароль. Никакой работы с ядром! Я не фанатик, чтоб отлавливать и расковыривать пакеты, тем более, что у меня и сервера-то нет... Никаких XML редакторов персонажей и прочего. Ещё какие функции можно дописать, пишите спиську. Можно чистку кеша сервера, так же как в оригинальной версии. Запуск и остановка сервера... Вопрос: надо ли? Уверен, если будет альтернативная фри версия пвадмина, которую при этом будешь поддерживать, уверен, что народ будет благодарен и подкидывать, так скажем на пиво ) Конечно, я не ратую за то, чтоб ты старался сделать со временем достойную альтернативу платной версии от алекса, но если хотя бы будут в ней базовые возможности по управлению аккаунтами, запуск-останов сервера, управление запуском локаций... Это как раз попроще реализовать чем взаимодействие с игровой базой и управление игровым процессом (персонажами), ну оставим эти и прочие навороты в платной версии пвадмина алекса. Достаточно будет того, для чего и в основном нужна программа такого предназначение, управление сервером. --- добавлено: 30 янв 2015 в 11:47 --- Ах, да, ровно как и в прошлой версии, можно так же забубенить Android клиент будет неплохо --- добавлено: 30 янв 2015 в 12:04 --- буду только рад поддержать данный проект и даже афишировать твои free разработки в мере своих возможностей. --- добавлено: 30 янв 2015 в 12:07 --- Работает она на прямую подключаясь к серверу по SSH и к MySQL, что, конечно же, не есть гуд. Ну теоретически так и есть, дырка в безопасности. Данные передаются в открытом виде (логины и пароли) и при желании их могут отловить. А имея прямой доступ к мускулу можно ещё тех дел натворить.
А вообще тут вроде как товарищ пилит что-то подобное только на шарпе вроде. addGM что ли тема называлась На скрине справа она как раз и есть, он её просто переименовал, так как специфика её уже расширилась от банального управления ГМ правами, до управления всеми игровыми акками. Я вот её и привожу для сравнения, что условия работы одинаковые у них, но вот одна не может соединиться с мускулом, а вторая может.
Жаль однако, был бы приличный бесплатный софт, если бы работали хотя бы заявленные функции... [IMG]
на моем скрине, что я выложил выше я приводил скрин твоей проги и скрин другой, альтернативной, данные на коннект к мускулу одни и теже. Но факт на лицо, ошибка подключения. Сорцы мне не нужны, я не софтовик, а пишу чисто на пхп. интереса ради, хост в настройках вбиваете вместе с http:// (https://)? Если да, но вбейте без них. вбиваю чисто IP адрес.
Имена участников (разделяйте запятой).