iCulture forum | iPhone, iPad,  iPod touch, Apple TV en iOS

iCulture forum | iPhone, iPad, iPod touch, Apple TV en iOS (https://forum.iculture.nl/)
-   Ontwikkelen voor iOS (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/)
-   -   NSURLConnection post word twee keer aangeroepen (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/83588-nsurlconnection-post-word-twee-keer-aangeroepen.html)

bluecola 30-01-11 01:37

NSURLConnection post word twee keer aangeroepen
 
Hoi allemaal,
Ik werk nu aan een iPhone app die een formulier kan versturen.

http://www.marijnkortstra.nl/iphone.php (Het formulier.)

Als ik gewoon via mijn computer het formuliertje invul, krijg ik 1 mailtje met de ingevulde gegevens.
Als ik het via de iPhone doe, krijg ik 2 keer precies dezelfde mailtjes.
In de screen zie je ook in de console dat het 2x word aangeroepen.

Code:

NSString *inhoud = formulier.text;
const char *bytes = [[NSString stringWithFormat:@"body=%@&test=%@", inhoud, inhoud] UTF8String];
NSURL *url = [NSURL URLWithString:@http://www.marijnkortstra.nl/iphone];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:[NSData dataWithBytes:bytes length:strlen(bytes)]];
NSURLResponse *response;
NSError *err;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
NSLog(@"responseData: %@", responseData);

Iemand enig idee wat ik fout doe?

Thanks!

Screen:
http://i55.tinypic.com/2cdg3rn.png

Chrizzz 30-01-11 10:32

Wat mij opvalt is dat je 2 keer de inhoud mee stuurt. Een keer in de body en een keer als data.

const char *bytes = [[NSString stringWithFormat:@"body=%@&data=%@", inhoud, inhoud] UTF8String];

Maar ik snap niet waarom dat tot 2 mails leidt. Wordt die method ergens anders in je app ook aangeroepen?

bluecola 30-01-11 14:31

Citaat:

Oorspronkelijk geplaatst door Chrizzz (Bericht 634940)
Wat mij opvalt is dat je 2 keer de inhoud mee stuurt. Een keer in de body en een keer als data.

const char *bytes = [[NSString stringWithFormat:@"body=%@&data=%@", inhoud, inhoud] UTF8String];

Maar ik snap niet waarom dat tot 2 mails leidt. Wordt die method ergens anders in je app ook aangeroepen?

Sorry, data moest test zijn. "body" en "test" zijn de namen van de formulieren. Dit was even testen hoe ik meerdere formulieren in kon vullen.
Zoals je in de screen kunt zien, gaat er maar een connectie van button > die methode.

Chrizzz 30-01-11 17:37

Ja dit wordt spookie. Overall breakpoints neerzetten en dan van breakpoint naar breakpoint door je app steppen en kijken waarom hij voor de tweede keer die NSLog aanroept. Ik weet het anders ook niet.

bluecola 30-01-11 18:03

Kun je me uitleggen hoe ik breakpoints maak? Nooit eerder gedaan.

Chrizzz 30-01-11 18:25

ga op een regel staan en druk op <cmd \>
doen dan build and debug. De compiler stopt dan bij dat punt. pas als je op "continue" klikt gaat hij verder.

CurlyBrace 03-02-11 09:31

Hoi Marijn,

Ik denk dat jouw hele functie gewoon twee keer wordt aangeroepen, en dat het niks te maken heeft met de NSURLConnection zelf.


Alle tijden zijn GMT +2. Het is nu 13:30.