Подключите приложение iphone к базе данных MySQL - PullRequest
1 голос
/ 19 марта 2012

У меня есть приложение, которое я хочу подключить к приложению для iphone. Я сделал код, а также проблема с php кодом в том, что у меня всегда отображается неверный пароль. Я ввожу правильное имя пользователя и пароль, но снова отображается сообщение об ошибке

      NSString *post =[NSString stringWithFormat:@"UserName=%@&UserPassword=%@",userNameTextField.text, userPasswordTextFiled.text];

     NSString *hostStr = @"http://www.myurl.com/emrapp/connect.php?";
    hostStr = [hostStr stringByAppendingString:post];
     NSData *dataURL =  [NSData dataWithContentsOfURL: [ NSURL URLWithString: hostStr ]];    
     NSString *serverOutput = [[NSString alloc] initWithData:dataURL encoding: NSASCIIStringEncoding];
     if([serverOutput isEqualToString:@"Yes"]){
        UIAlertView *alertsuccess = [[UIAlertView alloc] initWithTitle:@"Congrats" message:@"You are authorized "
                                                          delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
    [alertsuccess show];
    [alertsuccess release];


    } else {
        UIAlertView *alertsuccess = [[UIAlertView alloc] initWithTitle:@"Error"  message:@"Username or Password Incorrect"
                                                          delegate:self     cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
         [alertsuccess show];
        [alertsuccess release];

     }

А мой код на стороне сервера

    <?php
     $con = mysql_connect("emriphone.db.6420177.hostedresource.com","emriphone","Light12-");
   if (!$con)
    {
   die('Could not connect: ' . mysql_error());
  }

  mysql_select_db("emriphone", $con);

   $u=$_GET['UserName'];
   $pw=$_GET['UserPassword'];


   $query = sprintf("SELECT UserName,UserPassword from appUsers WHERE UserName='%s' AND  UserPassword='%s'", mysql_real_escape_string($u),mysql_real_escape_string($pw));



  $login=mysql_query($query,$con) or die(mysql_error());


  if(mysql_num_rows($login)==1){

   $row =mysql_fetch_assoc($login);
    echo 'YES'; exit;
   }

  else{
   echo'NO';exit;
  }

  mysql_connect($con);


  ?>

1 Ответ

0 голосов
/ 19 марта 2012

Попробуйте использовать следующий код

           NSString *data = [[NSString stringWithFormat:@"UserName=%@&UserPassword=%@",userNameTextField.text, userPasswordTextFiled.text];

           NSData *postData = [data dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];  

    NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];

    // preaparing URL request to send data.
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];

NSString *url = [NSString stringWithFormat:@"http://www.myurl.com/emrapp/connect.php?"];

            [request setURL:[NSURL URLWithString:url]];
            [request setHTTPMethod:@"POST"];
            [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
            [request setHTTPBody:postData];
            [request setTimeoutInterval:7.0];

NSURLResponse *response;// = [[NSURLResponse alloc] init];
NSError *error;// = [[NSError alloc] init;

NSData *urlData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

    NSString *str=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];


     NSLog(@"Login response:is %@",str);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...