2016-10-30 6 views
1

PHPファイルとMySQLデータベースを使用してオンラインデータベースにデータを保存するiOSアプリケーションを作成しています。iOS、PHP、MySQL - データベースにデータが書き込まれていません

私は、iOSアプリケーション、PHPファイル、そして最終的にはデータベースとの通信を管理しましたが、データは書き込まれませんでした。私はIDフィールドが毎回増分されるので通信が完了したことを知っていますアプリケーションのSENDボタンを押してください。

私のコードで間違いがありますか?ここで

は、私のiOSのコードです:

NSString *post = [NSString stringWithFormat:@"nome=%@&endereco=%@&telefone=%@&email=%@&mensagem=%@&coordenadas=%@", nome.text, adressLabel.text, telefone.text, email.text, mensagem.text, coordenadas.text]; 
const char *urlUTF8 = [post UTF8String]; 
NSString *postBody = [NSString stringWithUTF8String:urlUTF8]; 

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

NSString *postDataLength = [NSString stringWithFormat:@"%lu", (unsigned long)[postData length]]; 

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; 

[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://xxxxxxx.com/signup.php"]]]; 
[request setHTTPMethod:@"POST"]; 
[request setValue:postDataLength forHTTPHeaderField:@"Content-Length"]; 
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
[request setHTTPBody:postData]; 

NSURLResponse *response; 
NSError *err; 
NSData *returnData = [ NSURLConnection sendSynchronousRequest: request returningResponse:&response error:&err]; 
NSString *content = [NSString stringWithUTF8String:[returnData bytes]]; 
NSLog(@"****** RESPOSTA: %@", content); 

そしてPHPファイル:

<?php 
$con=mysqli_connect("SERVER","USER","PASS","DATABASE"); 
if (mysqli_connect_errno($con)) 
{ 
    echo '{"query_result":"ERROR"}'; 
} 

$nome = $_GET['nome']; 
$endereco = $_GET['endereco']; 
$telefone = $_GET['telefone']; 
$email = $_GET['email']; 
$mensagem = $_GET['mensagem']; 
$coordenadas = $_GET['coordenadas']; 

$result = mysqli_query($con,"INSERT INTO user (nome, endereco, telefone, email, mensagem, coordenadas) 
     VALUES ('$nome', '$endereco', '$telefone', '$email', '$mensagem', '$coordenadas')"); 

if($result == true) { 
echo '{"query_result":"SUCCESS"}'; 
} 
else{ 
    echo '{"query_result":"FAILURE"}'; 
} 
mysqli_close($con); 
?> 

答えて

0

私は全くわからないので、私はObjective-Cのように信じるものでは動作しません。あなたの最初のコードブロックについては、データをポストしているように見えますが、PHPではグローバル$ _GET変数からデータを取得しようとしています。これはあなたの変数を設定しているところ

$nome = 'Nome'; 
$endereco = 'Endereco'; 
$telefone = 'Telefone'; 
$email = 'Email'; 
$mensagem = 'Mensagem'; 
$coordenadas = 'Coordenadas'; 

と交換してみデバッグするにはこれは、それが上記の文字列を格納する必要がありますように正しくデータを格納する代わりに、グローバルの$ _GET変数からつかむしようとしているかどうかを確認できるようになります。この作品は$ _POST変数と同等で変数を交換しようとした場合:

$nome = $_POST['nome']; 
$endereco = $_POST['endereco']; 
$telefone = $_POST['telefone']; 
$email = $_POST['email']; 
$mensagem = $_POST['mensagem']; 
$coordenadas = $_POST['coordenadas']; 
+0

感謝!出来た!私は上記のように "$ _POST"を追加しました。 – Vladimir

0
[request setHTTPMethod:@"POST"]; 

あなたがPHPで、POSTメソッドを使用しているため、あなたは$_POSTの代わり$_GET使用します。

関連する問題