Здравствуйте!
Делал подтверждения пароля и столкнулся с маленькой проблемой.
PHP код:
SetPVarString( playerid, "player_password", inputtext ); // Сохраняю строку в переменную игрока
return ShowPlayerDialog( playerid, 2, DIALOG_STYLE_INPUT, !"Заголовок", !"Текст", !"Кнопка 1", !"Кнопка 2" );
PHP код:
new confirm_password[129]; // 129 - Хэш паролей
GetPVarString( playerid, "player_password", confirm_password, sizeof( confirm_password) ); // Получаю сохраненную переменную
DeletePVar( playerid, "player_password" ); // Удаляю данную переменную
if( !response ) // Если нажимает кнопку 2 отсоединяю от сервера (ESC)
{
SendClientMessage( playerid, 0xFF0000AA, !"Текст" );
Kick( playerid );
}
if( !strcmp( inputtext, confirm_password, false ) && strlen( inputtext ) ) // Сравниваю введенные 2 строки и получаю длину введённых строк
{
mysql_real_escape_string( text, escape ); // Тут же не могу разобраться см. ниже
ShowPlayerDialog( playerid, 3, DIALOG_STYLE_MSGBOX, !"Заголовок", !"Текст", !"Кнопка 1", !"Кнопка 2" ); // Если строки совпали то вывожу им этот диалог
}
else // Если строки же не совпали то отсоединяю от сервера
{
SendClientMessage( playerid, 0xFF0000AA, !"Текст" );
Kick( playerid );
}
mysql_real_escape_string - Используйте эту функцию, чтобы защитить строку, так что его безопасным для запросов MySQL, это действительно полезно для исходных данных, как имена и пароли.
Подключение к базе данных требуется перед использованием этой функции.
Ну если я делаю подключение к базе данных то выводит ошибку:
Код HTML:
error 035: argument type mismatch (argument 1)
PHP код:
mysql_real_escape_string( MySQL, inputtext, Player[playerid][Password] );
Если же делать без запроса то всё компилируется без ошибочно