私は現在、ユーザーがMySQLデータベースにデータを送信して登録できるXcodeアプリケーションを開発中です。私はちょうどいくつかの質問があります。スウィフトはオプションの値を返します
最初の質問は、10,13,15行目です。「文字列補間では、オプションの値のデバッグの説明が表示されますが、これを明示することを意味しましたか?」という警告が表示されます。とにかく、値がオプションでないようにコードを変更することはできますか?
また、送信される応答文字列は、 "responseString = Optional(このユーザー名は使用可能)"のように表示されます。私はユーザーに情報を表示するためにレスポンス文字列を使用することを計画していました。とにかく私はかっこを取り除くことができますが、オプションの単語と同様ですか?
@IBAction func TextFieldEditingDidChange(_ sender: Any) {
let request = NSMutableURLRequest(url: NSURL(string: "usernamecheck.php")! as URL)
request.httpMethod = "POST"
print("Request: \(request)")
let postString = "username=\(usernameTxt.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=\(error)")
return
} // Ends errror If statements
print("response = \(response)")
let responseString = NSString(data: data!, encoding:
String.Encoding.utf8.rawValue)
print("responseString = \(responseString)")
}
task.resume()
}
部PHPファイル:
$a_sql = mysqli_query($con, "SELECT username FROM users WHERE username = '" . mysqli_real_escape_string($_POST['username']) . "' ; ");
if (empty($_POST['username'])) {
$username_error = "Please input username";
} else {
$a_sql;
}
if ($a_sql && mysqli_num_rows($a_sql) > 0) {
$username_exists = "Username is already taken.";
echo $username_exists;
} else {
echo "Fail";
}
なぜインデントが嫌いですか? – Alexander