[Pedido]
#4

Код:
forward bool:checkmail(mail[]);

public bool:checkmail(mail[])
{ 
// la query mide 47 bytes, y 128 es el tamano maximo de inputtext. podes achicarlo pero deberas chequear el len de inputtext en ondialogresponse
     new consulta[47+128];
     mysql_format(base_datos, consulta, sizeof(consulta), "SELECT `mail` FROM `usuarios` WHERE `mail` = '%e'", mail);
     new Cache:cache = mysql_query(base_datos, consulta, true); // con el tercer parametro "true" le indicamos a la funcion que guarde resultado en cache. nos retorna el identificador del cache para despues liberar la memoria
     new resultado = cache_num_rows(); // guardamos el numero de filas devueltas para poder borrar el cache antes de retornar el resultado de la funcion
     cache_delete(cache); // liberamos la memoria que ocupo el cache
     if(resultado > 0) return false; // si la query nos devolvio algun resultado, el mail ya esta registrado, retornamos false (mail inutilizable)
     else return true; // de lo contrario, true (mail ok)
}
ahora para chequear un mail, basta con agregar esta linea a la respuesta del dialogo, algo asi:

if(!checkmail(inputtext)) return ShowPlayerDialog(playerid, IDDETUDIALOGO, DIALOG_STYLE_MSGBOX, "blabla", "el mail ya esta registrado", "volver a intentar", "");// (previamente habiendo chequeado que sea un mail valido)

no lo probe, y hace bastante tiempo que no programo en pawn. pero deberia funcionar. en cualquier caso avisame y lo arreglamos.

EDIT: tene en cuenta que debes cambiar algunas cosas en el codigo de la funcion. `mail` cambialo por el nombre del campo de mail en tu base de datos, lo mismo con `usuarios`. base_datos cambialo por el handle de tu base de datos en tu gamemode. y IDDETUDIALOGO cambialo por el id del dialogo donde el user ingresa su email.
Reply


Messages In This Thread
[Pedido] - by Martin100200300 - 16.02.2017, 11:50
Respuesta: [Pedido] - by Eloy - 16.02.2017, 15:26
Respuesta: [Pedido] - by Martin100200300 - 16.02.2017, 19:39
Re: [Pedido] - by yutaruta - 18.02.2017, 08:12
Respuesta: [Pedido] - by Martin100200300 - 18.02.2017, 09:42
Re: Respuesta: [Pedido] - by yutaruta - 19.02.2017, 23:08

Forum Jump:


Users browsing this thread: 4 Guest(s)