PHP を使用して入力を取得するのは、$_GET または $_POST を使用して非常に簡単です。 。
次に、iOS クライアントを使用して http://localhost/index.php?name=Pony にリクエストを送信します
//Swift Playground//你可以在 Xcode 中创建一个 Playground 运行以下代码import UIKitlet request = NSMutableURLRequest(URL: NSURL(string: "http://localhost/index.php?name=Pony")!)NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) { (response, responseData, error) -> Void in if let responseData = responseData { if let responseString = String(data: responseData, encoding: NSUTF8StringEncoding) { print(responseString) } }}NSRunLoop.currentRunLoop().runUntilDate(NSDate(timeIntervalSinceNow: 10))
これは非常に単純なリクエストです。 GET リクエストを http://localhost/index.php に送信し、GET パラメータ、キー = 名前、値 = Pony を渡します。最後に、サーバーから返されたデータを取得し、それを文字列に変換して出力します。予期せぬことが起こらなかった場合は、プレイグラウンドで返された結果を確認できます。
ここで、index.php が文字列 Pony を取得し、処理された文字列をクライアントに返すことができるように、index.php を変更します。
//index.php<?php$name = $_GET["name"];echo 'Hello, '. $name. '!';
プレイグラウンドを再度実行すると、結果バーに Hello, Pony! が表示されていることがわかります。
結果
GET パラメータを取得するのは確かに非常に簡単です。名前が空の場合は、Doubi のプロダクト マネージャーが要件を追加します。 「誰もいない!」と返す
コードを少し変更して、empty() を使用して $_GET["name"] を判断できます。empty() の使用方法については、こちらを参照してください。
<?phpif (!empty($_GET["name"])) { $name = $_GET["name"]; echo 'Hello, '. $name. '!';}else { echo 'Nobody!';}
URL から Pony を削除して、実行結果を確認してみてください。
POST フォームでのパラメーターの取得は、GET での取得とまったく同じです。ただし、最初にプレイグラウンドのリクエスト コードを変更して、POST リクエストを送信するようにする必要があります。
import UIKitlet request = NSMutableURLRequest(URL: NSURL(string: "http://localhost/index.php")!)request.HTTPMethod = "POST"request.HTTPBody = "name=Pony".dataUsingEncoding(NSUTF8StringEncoding)NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) { (response, responseData, error) -> Void in if let responseData = responseData { if let responseString = String(data: responseData, encoding: NSUTF8StringEncoding) { print(responseString) } }}NSRunLoop.currentRunLoop().runUntilDate(NSDate(timeIntervalSinceNow: 10))
次に、index.php の $_GET の部分を $_POST に置き換えます。
<?php//index.phpif (!empty($_POST["name"])) { $name = $_POST["name"]; echo 'Hello, '. $name. '!';}else { echo 'Nobody!';}
プレイグラウンドを実行すると、効果がわかります。
$_GET と $_POST は配列であると言ったときのことを覚えていますか? PHP の世界では、print_r() 関数を使用して配列のすべての情報を出力できます。これは、現在のクライアントによって渡されたすべてのパラメーターを確認できるため、アプリケーションのデバッグに非常に便利です。
<?phpprint_r($_POST);
クライアントが PHP から受け取った印刷結果は以下の通りです
Array( [name] => Pony)
クライアント情報には User-Agent とIP など。この情報は、$_SERVER 配列を使用して取得できます。その取得方法は、クライアントの IP またはユーザー エージェントを自分で取得することを試みることができます。
ここでは、ユーザー入力をフィルタリングしていません。これについては後で説明します。講座内で詳しく解説しています。同時に、このコースでは POST リクエストで HTTPBody を取得する方法についてはまだ説明していませんが、これについても後続のコースで説明します。
次の記事: