How to make a Php response to Objective-C (iPhone)? -
my problem don't know how send data find (with select where) in php objective-c. know need make dataset how do it? people should use json can't find solution. indeed, don't know how make response in php? can me?
this php code:
$con = mysql_connect("url","username","password"); if (!$con){die('could not connect: ' . mysql_error());} mysql_select_db("appiness", $con); $bilgi= mysql_query("select c_id country c_name='$country'"); while($sutun= mysql_fetch_array($bilgi)) { echo $sutun["c_id"]; } mysql_close($con);
this objective-c code:
nsurl *url = [nsurl urlwithstring:@"someurl"]; asiformdatarequest *request = [asiformdatarequest requestwithurl:url]; [request setpostvalue:year1 forkey:@"year"]; [request setpostvalue:appy_level forkey:@"appy_level"]; [request setpostvalue:reasons forkey:@"reasons"]; [request setpostvalue:country forkey:@"country"]; [request setpostvalue:city forkey:@"city"]; [request setpostvalue:sex forkey:@"sex"]; [request setrequestmethod:@"post"]; [request setvalidatessecurecertificate:no]; [request setdelegate:self]; [request setdidfinishselector:@selector(requestdone:)]; [request startasynchronous]; - (void)requestdone:(asihttprequest *)request { nsstring *response = [request responsestring]; nslog(@"%@",response); } - (void)requestfailed:(asihttprequest *)request { nserror *error = [request error]; nslog(@"%@",[error localizeddescription]); }
assuming know xml parsing can response xml follows using php code.
<?php include_once('config.php'); header("content-type: text/xml"); $error_respond ='<?xml version="1.0" encoding="utf-8"?><result>failure</result>'; if($_server['request_method'] == 'post') { $return_val='<?xml version="1.0" encoding="utf-8"?>'; $id = $_post['userid']; $return_val=$return_val.'<userdetails>'; $selusersql ="select * users userid = ".$id; $selusertrs = mysql_query($selusersql); $selusernum = mysql_num_rows($selusertrs); while($userrow = mysql_fetch_array($selusertrs)) { $return_val=$return_val.'<userid>'.$userrow['user_id'].'</userid>'; $return_val=$return_val.'<username>'.$userrow['user_name'].'</username>'; $return_val=$return_val.'<email>'.xmlentities($userrow['user_email']).'</email>'; } $return_val=$return_val.'</userdetails>'; echo $return_val; } else { echo $error_respond; exit; } ?>
sample output of above code (assuming user id posted 1 , details stored in db follows)
<?xml version="1.0" encoding="utf-8"?> <userdetails> <userid>1</userid> <username>dummyuser</username> <email>dummy@dummy.com</email> </userdetails>
if error occurred tried call url browser directly i.e. request method not post
return following response showing error. (i believe post better get).
<?xml version="1.0" encoding="utf-8"?> <result>failure</result>
now last important part have parse response according requirement. search around , xmlparsing demo how xml parsing in iphone.
Comments
Post a Comment