How to use a user's information in the mysql database in a label? iOS

0

I'm developing an app for iOS that connects to the mysql database and logs in the user using the email and password information, this part is working well. Now I want to get other information from this user and display them on a label. How would you do that?

My PHP file:

<?php
// Ghalia ALrajban
// 21 Dec 2011

if (isset($_GET["email"])  && isset($_GET["senha"]) ){
                $email = $_GET["email"];
                $senha = $_GET["senha"];
                $result = login( $email, $senha);
                echo $result;
                }

function makeSqlConnection()
{
$DB_HostName = "dbmy0012.whservidor.com";
$DB_Name = "peggou";
$DB_User = "peggou";
$DB_Pass = "peg2015tec";

    $con = mysql_connect($DB_HostName,$DB_User,$DB_Pass) or die(mysql_error()); 

        mysql_select_db($DB_Name,$con) or die(mysql_error()); 

    return $con;
}

function disconnectSqlConnection($con)
{
    mysql_close($con);
}

function login($email, $senha)
{
    //require (FILE);
    $con = makeSqlConnection();

    $sql = "select * from usuario_log  where email = '$email' and senha = '$senha';";
    $res = mysql_query($sql,$con) or die(mysql_error());

    $res1 = mysql_num_rows($res);

    disconnectSqlConnection($con);

     if ($res1 != 0) {
        return 1;
    }else{
        return 0;
    }// end else


}// end of Function 

?>

My Boot Log in .m file:

    #pragma mark - BOTAO LOGIN
- (IBAction)loginButton:(id)sender {
    // Verificar e informar se os dados estao em branco.
    if([emailTextField.text isEqualToString:@""] || [senhaTextField.text isEqualToString:@""]) {
        UIAlertView *errorbranco = [[UIAlertView alloc] initWithTitle:@"Erro" message:@"Preencha todos os campos" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
        [errorbranco show];
    }

    //Verificar informacoes no banco de dados
    else{
        NSString *strURL = [NSString stringWithFormat:@"http://peggou.com.br/login.php?email=%@&senha=%@", emailTextField.text, senhaTextField.text];
        NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
        NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];

        //Informacoes Corretas
        if ([strResult isEqualToString:@"1"]) {
            [self performSegueWithIdentifier:@"entrou" sender:self];
        }
        //Informacoes Incorretas
        else{
            UIAlertView *error = [[UIAlertView alloc] initWithTitle:@"Erro" message:@"e-mail ou senha invalidos" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
            [error show];
        }
    }
}
    
asked by anonymous 18.06.2015 / 08:19

1 answer

0

I understand what you want to do, the problem is that both the php file and the ios file do not have this information.

This code snippet returns only true or false, or rather, your code is checking to see if you have found any records in the database. It would be the case to rethink, and do something like the one I put down, returning a json that contains an array of the result that was found in the database.

Previously I was only returning the number of records in the database, if it was equal to 1, I said that I found the user, then I said that I had logged in.

function login($email, $senha)
{

    $con = makeSqlConnection();

    $sql = "select * from usuario_log  where email = '$email' and senha = '$senha';";
    $res = mysql_query($sql,$con) or die(mysql_error());

    disconnectSqlConnection($con);

    // Aqui retornaria um json contendo o array das informações do usuário.
    echo json_encode($res);
}

Now it would be necessary to interpret the json that was sent by php, getting information from the user that logged in.

OBS: It would be interesting to rethink the application a bit and pass these login parameters via POST, not GET request (passing parameters via url).

    
18.06.2015 / 20:22