HTTP (Tutorial)? -
Johnny_Xayc - 25.08.2010
В общем хочется сделать восстановление пароля у игрока на сервере через автоматическую отправку пароля на его email,но цеплять плагин (mailer) ради этого не в понт,а вот благодаря HTTP и PHP куда бы было лучше,дак вот хочу спросить как работает HTTP и прочие,на сколько я понял то делаем так:
format(sss,78,"varlando.ru/mail.php?user=%s",getPlayerName(playerid));
HTTP(playerid, HTTP_POST,sss, "", "HTTPMailPassword");
это мы отправили запрос к странице
http://varlando.ru/mail.php?user=lalala (страницы такой не существует,,это просто пример)...
а тем временем скрипт в mail.php вытаскивает чему равно user из адресной строки делает запрос в БД по этому нику тем самым генерируя рандомный пароль и записывает этому игроку новый пароль и одновременно с этим отправляет его на емаил опять же указанный в БД(делали запрос по нику игрока,от туда вытащили)...
правильно ли я использую функцию HTTP

...просто написать скрипт PHP который должен выполнять главное действие у меня труда не составит,а вот с HTTP я ещё не понел как работать,если не трудно можете написать туториал или что-нибудь вроде этого?
заранее спасибо)
Re: HTTP (Tutorial)? -
Romanius - 25.08.2010
помоему нужно использовать HTTP_GET и если у тя все отправилось в пхп принтом пищи ОК и потом проверяй в паблике
Re: HTTP (Tutorial)? -
Winston - 25.08.2010
Code:
format(sss,78,"varlando.ru/mail.php?user=%s",getPlayerName(playerid));
HTTP(playerid, HTTP_POST,sss, "", "HTTPMailPassword");
указываешь post, а делаешь get)
Re: HTTP (Tutorial)? -
Johnny_Xayc - 25.08.2010
Winston обясни по подробнее плез.
Re: HTTP (Tutorial)? -
Winston - 25.08.2010
format(sss,78,"user=%s",getPlayerName(playerid));
HTTP(playerid, HTTP_POST,"varlando.ru/mail.php", sss, "MyHttpResponse");
думаю как то так
edit
или так
format(sss,78,"%s",getPlayerName(playerid));
HTTP(playerid, HTTP_POST,"varlando.ru/mail.php", sss, "MyHttpResponse");
экспериментируй)
Re: HTTP (Tutorial)? -
Johnny_Xayc - 25.08.2010
спс,буду пробывать щас...
Re: HTTP (Tutorial)? -
Johnny_Xayc - 25.08.2010
не канает(
Re: HTTP (Tutorial)? -
Winston - 25.08.2010
Code:
new name[MAX_PLAYER_NAME], string[44];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string),"nick=%s",name);
HTTP(playerid, HTTP_POST,"sa-mp.ws/old/nick.php", string,"");
работает.
http://sa-mp.ws/old/nicks.txt
ответ не забудь добавить
Re: HTTP (Tutorial)? -
Johnny_Xayc - 25.08.2010
а мне это уже не надо,ну как,я разобрался,мне лижь бы отправить запрос к странице,а она уже автоматически выполняется...
Re: HTTP (Tutorial)? -
Walk_M4n - 29.08.2010
Сам запрос:
pawn Code:
format(query, sizeof(query), "user=%s", GetPlayerName(playerid));
HTTP(playerid, HTTP_POST, "varlando.ru/mail.php", query, "HttpResponse");
mail.php
PHP Code:
define('SERVER_IP', 127.0.0.1);
if($_SERVER['REMOTE_ADDR'] != SERVER_IP) die('Hacking attempt');
// здесь сам mail()
echo 'Successfully sent to '.$_POST['user'];
Обработка ответа:
pawn Code:
public HttpResponse(index, response_code, data[])
{
if(IsPlayerConnected(index) && index != INVALID_PLAYER_ID && response_code == 200) SendClientMessage(index, 0xFFFFFF00, data);
else printf("Error in response data");
}
На работоспособность не проверял