2017-05-17 4 views
1

私のアプリに問題があります。私がしていることは、テキストフィールドから "NSMutableURLRequest" URLを使ってPHPファイルに情報を送信することです。PHP POST + iOS Swiftエラー

エラーは、私のvarsごとに未定義のインデックスがあることを示しています。

この種の演習を初めて行うので、エラーが私のPHPコードにあるのかスウィフト機能にあるのか分かりません。

以下は私の迅速な機能です。

@IBAction func enviarInfo(_ sender: Any) { 
      let request = NSMutableURLRequest(url: NSURL(string: "http://www.mydomain/index.php")! as URL) 
      request.httpMethod = "POST" 


      //The String with the vars that will be sent to the $_POST["var"] 
      let postString = "nombre = \(nombreText.text!) &aPaterno = \(apaternoText.text!) &aMaterno = \(amaternoText.text!) &genero = \(genero.text!) &email = \(emailText.text!) &telefono = \(telefonoText.text!)" 


      request.httpBody = postString.data(using: String.Encoding.utf8) 

      let task = URLSession.shared.dataTask(with: request as URLRequest) { 
      data, response, error in 

      if error != nil { 
      print("error=\(String(describing: error))") 
      return 
      } 

      print("response = \(String(describing: response))") 

      let responseString = NSString(data: data!, encoding: String.Encoding.utf8.rawValue) 
      print("responseString = \(String(describing: responseString))") 
      } 
     task.resume()  
    } 

PHPコードはこの

$nombre = $_POST["nombre"]; 
    //All the $vars look like this. 

    echo $nombre; 

のように見える私はあなたの助けをいただければ幸いです:)

+0

あなたの 'postString'から' nombre = \(...) 'スペースを削除しようとしましたか? 'var_dump($ _ POST)'を使って実際に何が得られているのかを見ることもできます。 –

+0

Magnus Ericssonありがとうございました!それは働いた!文字列がスペースの影響を受けることは考えなかった –

答えて

1

あなたのpostStringからスペースを削除する必要があります。

変更:そのようなデータを送信する

let postString = "nombre = \(nombreText.text!) &aPaterno = ..." 

let postString = "nombre=\(nombreText.text!)&aPaterno=..." ...and so on 

にすると、それらの余分なスペースは、文字列の取得の解析時に問題になります。

関連する問題