0

我正在使用 php 从 iphone 应用程序向服务器发送数据,但是当我发布数据返回时,数据没有插入到数据库中,它只是在 echo 中发送 []。

我的 iPhone 代码

    -(void)submitSurveyAnswers{


     NSString*survey_question_response_id="1";
     NSString*survey_id=@"1";
     NSString *question_id =@"1";
     NSString *survey_response_answer_id =@"1";
     NSString *post =[[NSString alloc] initWithFormat:@"survey_question_response_id=%@&survey_id=%@&question_id=%@&survey_response_answer_id=%@",survey_question_response_id,survey_id,question_id,survey_response_answer_id];
     NSLog(post);
    NSURL *url=[NSURL URLWithString:@"http://myserver-solutions.com/app/surveyAnswer.php?"];

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

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

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init] ;
    [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];
   NSError *error;
   NSURLResponse *response;
   NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

  NSString *data=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
  NSLog(@"%@",data);
  }

这是我的php代码

    <?php
    $host = ""; 
    $user = ""; 
    $pass = ""; 
    $database = ""; 

    $linkID = mysql_connect($host, $user, $pass) or die("Could not connect to host."); 

    mysql_select_db($database, $linkID) or die("Could not find database."); 

    $survey_question_response_id=$_POST['survey_question_response_id'];
    $survey_id=$_POST['survey_id'];
    $question_id=$_POST['question_id'];
    $survey_response_answer_id=$_POST['survey_response_answer_id'];
    echo($survey_question_response_id);

    $query=("INSERT INTO survey_question_responses 

(survey_question_response_id,survey_id,question_id,survey_response_answer_id)

    VALUES ('$survey_question_response_id', '$survey_id','$question_id','$survey_response_answer_id')");

     mysql_query($query,$con);
     printf("Records inserted: %d\n", mysql_affected_rows());
     echo($survey_id)
     ?>
4

1 回答 1

0

我在 Github 上有一个完整的示例来动态创建表单并将它们提交到 POST 服务器。您可以根据表单的复杂程度来使用它。每个表单都在一个 plist 中描述,并且非常动态。

如果它缺少对任何所需表单类型(复选框、下拉菜单等)的支持,请告诉我,我很乐意添加它们。(到目前为止,我的表单中只需要基于文本的输入,但如果有需求,我也想将其扩展到更复杂的项目!)

(还包括一个 PHP 文件来捕获响应。)

https://github.com/mikecheckDev/MDContactForm

于 2012-08-06T21:43:00.207 回答