我有以下代码链接到PHP文件,目的是发布一些字符串并在PHP文件中检索,所有的东西都工作正常,但我的代码有问题,请参阅下面的内容:
iOS应用代码
NSString *urlString = @"http://www.myurl.com/path/ios.st.addquestion.php?";
NSURL *uploadURL = [NSURL URLWithString:urlString];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:uploadURL];
[request setPostValue:askerUsername forKey:@"username"];
[request setPostValue:@"1" forKey:@"questiontype"];
[request setPostValue:title forKey:@"title"];
[request setPostValue:hasAditional forKey:@"hasaditional"];
[request setPostValue:aditional forKey:@"aditional"];
[request setPostValue:hasLocation forKey:@"haslocation"];
[request setPostValue:location forKey:@"location"];
[request setPostValue:latitude forKey:@"latitude"];
[request setPostValue:longitude forKey:@"longitude"];
[request setPostValue:category forKey:@"category"];
[request setPostValue:hasImage forKey:@"hasimage"];
[request startAsynchronous];
PHP文件
$questiontype = mysql_real_escape_string($_GET['questiontype']);
$username_PRO = mysql_real_escape_string($_GET['username']);
$title_PRO = mysql_real_escape_string($_GET['title']);
$hasAditional = mysql_real_escape_string($_GET['hasaditional']);
$aditional_PRO = mysql_real_escape_string($_GET['aditional']);
$hasLocation = mysql_real_escape_string($_GET['haslocation']);
$location_PRO = mysql_real_escape_string($_GET['location']);
$latitude_PRO = mysql_real_escape_string($_GET['latitude']);
$longitude_PRO = mysql_real_escape_string($_GET['longitude']);
$category = mysql_real_escape_string($_GET['category']);
echo "$username_PRO";
当我运行应用程序并将字符串POST到PHP文件时,没有任何反应,就像PHP收到一个空值,我无法弄清楚我的代码有什么问题,有人知道吗?程序是这样的这样:
应用程序=> ASIFormDataRequest(帖子值)=> PHP文件接收请求并在MYSQL数据库上插入字符串(问题在这里)。
我已经在网上和ASI网站上搜索过,但似乎没有任何效果。
答案 0 :(得分:2)
我认为代码是正确的, 但是,你发布到PHP,你在PHP中使用$ _GET可能是问题。
尝试使用$ _POST获取POST值,或者您可以转储$ _REQUEST以查看您发送到php的内容。
答案 1 :(得分:1)
您正在setPostValue
使用正在查找PHP-script
变量的GET
。您可以为所有变量更改PHPcode
至$username_PRO = mysql_real_escape_string($_POST['username'])
,或将GET
值作为http://url?name=value&name2=value2
发送给... {/ p>