[Ajuda] Problema com 'IF'
#1

Por algum motivo, mesmo o inputtext tendo os requisitos que o 'if' pede, ele dб erro..

pawn Код:
case DIALOG_EMAIL:
        {
            if(!response)
            {
                format(alado, 115, "{BEBEBE}Informe um e-mail vбlido. Este e-mail serб usado para enviar uma nova senha, caso vocк perca a atual.", nome);
                ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_PASSWORD, "{FF8C00}X", alado, "Confirmar", "");
            }
            else
            {
                if(strfind(inputtext, "@") && strfind(inputtext, "."))
                {
                    if(strfind(inputtext, "!") || strfind(inputtext, "#") || strfind(inputtext, "$") || strfind(inputtext, "%") || strfind(inputtext, "Ё") || strfind(inputtext, "&") || strfind(inputtext, "*") || strfind(inputtext, "(") || strfind(inputtext, ")") || strfind(inputtext, "/") || strfind(inputtext, "-"), strfind(inputtext, "+"))
                    {
                        format(alado, 115, "{FF0000}@ERRO: {FF8C00}E-MAIL INVБLIDO\n\n\n{BEBEBE}Informe um e-mail vбlido. Este e-mail serб usado para enviar uma nova senha, caso vocк perca a atual.", nome);
                        ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_PASSWORD, "{FF8C00}X", alado, "Confirmar", "");
                    }
                    else
                    {
                        format(arquivo, 28, contas, nome);
                        DOF2_SetString(arquivo, "E-mail", inputtext);
                        DOF2_SaveFile();
                    }
                }
                else
                {
                    format(alado, 115, "{FF0000}@ERRO: {FF8C00}E-MAIL INVБLIDO\n\n\n{BEBEBE}Informe um e-mail vбlido. Este e-mail serб usado para enviar uma nova senha, caso vocк perca a atual.", nome);
                    ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_PASSWORD, "{FF8C00}X", alado, "Confirmar", "");
                }
            }
        }
Reply
#2

quando surgir esses problemas, basta fazer uma depuraзгo do cуdigo:

pawn Код:
#include <a_samp>

new string[18] = "email@dominio.com";

main()
{
    printf(">> email selecionado: %s\n\n", string);
   
    if(strfind(string, "@") && strfind(string, "."))
    {
        if(strfind(string, "!") || strfind(string, "#") || strfind(string, "$") || strfind(string, "%") || strfind(string, "Ё") || strfind(string, "&") || strfind(string, "*") || strfind(string, "(") || strfind(string, ")") || strfind(string, "/") || strfind(string, "-"), strfind(string, "+"))
        {
            print("O email contйm caracteres invбlidos");
        }
        else
        {
            print("O email foi registrado com sucesso");
        }
    }
    else
    {
        print("O email nгo й valido, tente novamente");
    }
}
resultado:

[22:47:28] >> email selecionado: email@dominio.com

[22:47:28] O email contйm caracteres invбlidos
Reply
#3

Sim, eu fiz! E nгo me ajudou nada hб saber que tem de errado no if..
Reply
#4

se o email estб correto e diz que contйm caracteres invбlidos, logo o problema estб nas condicionais...

cуdigo funcionando:

pawn Код:
#include <a_samp>

new string[30] = "email@dominio.com";

main()
{
    printf(">> email selecionado: %s\n\n", string);
   
    if(strfind(string, "@") != -1  && strfind(string, ".") != -1 )
    {
        if(strfind(string, "!") != -1 || strfind(string, "#") != -1 || strfind(string, "$") != -1 || strfind(string, "%") != -1 || strfind(string, "Ё") != -1 || strfind(string, "&") != -1 || strfind(string, "*") != -1 || strfind(string, "(") != -1 || strfind(string, ")") != -1 || strfind(string, "/") != -1 || strfind(string, "-") != -1 || strfind(string, "+")!= -1)
        {
            print("O email contйm caracteres invбlidos");
        }
        else
        {
            print("O email foi registrado com sucesso");
        }
    }
    else
    {
        print("O email nгo й valido, tente novamente");
    }
}
compare-os e veja onde estб o problema

Reply
#5

Emails de muitas pessoas tem o - , pra que proibir ?
Reply
#6

Й verdade, FixSkuL! Tinha esquecido que '-' й permitido.

Obrigado, Falcon!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)