php Web服务无法从iphone应用程序获取数据

时间:2010-04-15 06:28:03

标签: iphone

我从我的iphone应用程序连接php web服务,我做的很简单,即 1.获取用户输入: 用户名 密码 在iphone表单的文本字段中,并将其发送到PHP Post请求Web服务。在Web服务端,我只接收插入MySQL数据库的空白字段.......

示例Web服务的代码是:

**********************SAMPLE CODE FOR WEB SERVICES**************
<?php 
$con=mysql_connect("localhost","root","123456") or die(mysql_error());

mysql_select_db("eventsfast",$con);

$username = $_REQUEST['username'];
$password = $_REQUEST['password'];

echo $username;
echo $password;

$data = $_REQUEST;



$fp = fopen("log.txt", "w");
fwrite($fp, $data['username']);
fwrite($fp, $data['password']);

$sql="INSERT INTO users(username,password) VALUES('{$username}','{$password}')";

if(!mysql_query($sql,$con))
{
die('Error:'.mysql_error());
}

echo json_encode("1 record added to users table");
mysql_close($con);

echo "test";
?> 
******************************PHP***************** **************

*****************************IPHONE EVENT CODE******************
#import "postdatawithphpViewController.h"

@implementation postdatawithphpViewController
@synthesize userName,password;
-(IBAction) postdataid) sender
{
NSLog(userName.text);
NSLog(password.text); 
NSString * dataTOB=[userName.text stringByAppendingString:password.text];
NSLog(dataTOB);
NSData * postData=[dataTOB dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];

NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSLog(postLength);
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://localhost:8888/write.php"]];
[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];

NSURLResponse *response;
NSError *error;
[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

if(error==nil)
NSLog(@"Error is nil");
else
NSLog(@"Error is not nil");
NSLog(@"success!");



} 

************************************************** ************** 

请帮助.............

1 个答案:

答案 0 :(得分:0)

似乎您传递的iphone代码参数不正确

试试这个

NSString *UserNamePara =[NSString stringWithFormat:@"username=%@",userName.text];
NSString *PasswordPara =[NSString stringWithFormat:@"password=%@",password.text];
NSString * dataTOB=[UserNamePara stringByAppendingFormat:@"&%@",PasswordPara];