将php数据传输到xcode应用程序

将php数据传输到xcode应用程序,php,xcode,Php,Xcode,我试图在我的站点上制作的php页面和我编写的xcode项目中的NSData对象之间传输数据。php页面非常简单,它可以得到: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"&g

我试图在我的站点上制作的php页面和我编写的xcode项目中的NSData对象之间传输数据。php页面非常简单,它可以得到:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
             <title>Mon MEGA BLOG</title>
             <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
         </head>
         <style type="text/css">
    form
         {
             text-align:center;
         }
    </style>


    <body>

<?php echo 'Bonjour'; ?>

</body>
</html>
我想知道为什么response对象包含整个php页面,而不是应该显示的唯一一个单词“Bonjour”


感谢您的回复

如果您只需要PHP位,请删除页面上所有非PHP的内容。您发出的请求获取HTTP请求中的所有内容,而不仅仅是PHP部分。其中包括页面上的HTML

或者,使用JSON来移动数据
json_encode()
从PHP端对其进行编码,然后在Xcode端使用类似JSONKit的东西对其进行解码

if(![loginText.text isEqualToString:@""] && ![passwordText.text isEqualToString:@""])
    {
        //1. creation de la request
        NSMutableString *string = [[NSMutableString alloc] initWithCapacity:200];
        NSString *string01 = @"http://attheshop.fr/index.php?prof=&pass="; 

        [string appendFormat:string01];
      NSString *string02 = loginText.text;
      NSString *string03 = passwordText.text;

        [string insertString:string03 atIndex:41];
        [string insertString:string02 atIndex:36];

        request01 =[NSURLRequest requestWithURL:[NSURL URLWithString:string]cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];

        NSLog(@"%@", string);
        //2.creation de la connection et start loading data

       NSURLConnection *connection01 = [[NSURLConnection alloc] initWithRequest:request01 delegate:self];

       if(connection01)
       {
        //3.Create NSMutableData to receive data
        receivedData = [NSMutableData data];
           NSLog(@"Voici ce que contient le message %@", receivedData.description); 
        }

    } 
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
    // This method is called when the server has determined that it // has enough information to create the NSURLResponse.
    // It can be called multiple times, for example in the case of a // redirect, so each time we reset the data.
    // receivedData is an instance variable declared elsewhere.
    [receivedData setLength:0];
}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
    // Append the new data to receivedData. // receivedData is an instance variable declared elsewhere. 
    [receivedData appendData:data];
}

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{

    // release the connection, and the data object 
    // inform the user 

    NSLog(@"Connection failed! Error - %@ %@",[error localizedDescription], [[error userInfo] objectForKey:NSURLErrorFailingURLStringErrorKey]);

    //set an alert
    UIAlertView *alert01 = [[UIAlertView alloc] initWithTitle:@"Probleme de connexion" message:@"La connexion a échoué" delegate:self cancelButtonTitle:@"Recommençer" otherButtonTitles:nil];
    alert01.alertViewStyle = UIAlertViewStyleDefault;
    [alert01 show];
}


- (void)connectionDidFinishLoading:(NSURLConnection *)connection {

    // do something with the data // receivedData is declared as a method instance elsewhere 

    NSLog(@"Succeeded! Received %d bytes of data",[receivedData length]);

    //6.Mettre les informations téléchargées dans un objet data envoyé à home.

    NSData *response = [NSURLConnection sendSynchronousRequest:request01 returningResponse:nil error:nil];
    //NSLog(@"response %@", response.description);

    NSString *get = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
    NSLog(@"get %@", get.description);

    NSString *string04 = @"error";
    NSPredicate *errorTest = [NSPredicate predicateWithFormat:@"SELF CONTAINS %@", string04];
    BOOL defError = [errorTest evaluateWithObject:get];

    NSLog(@"%i",defError);

    if (!defError) 
    {
        //Si pas d'erreur, on lance le segue
        [self performSegueWithIdentifier:@"loginMainSegue" sender:self];
    }

    //5.Si mauvais login ou password message alerte erreur

    if (defError) 
    {
        UIAlertView *alert02 = [[UIAlertView alloc] initWithTitle:@"Erreur" message:@"Votre login ou votre password est erroné" delegate:self cancelButtonTitle:@"Recommençer" otherButtonTitles:nil];
        alert02.alertViewStyle = UIAlertViewStyleDefault;
        [alert02 show];        
    }

}