Ich arbeite gerade an einer Xcode-App, die es einem Benutzer ermöglicht, sich zu registrieren, indem er Daten an meine MySQL-Datenbank sendet. Ich habe nur ein paar Fragen.Schnelle Rückgabe des optionalen Werts
Die erste Frage, die ich habe, ist in den Zeilen 10, 13, 15. Ich habe eine Warnung an mich gesendet mit den Worten: "String-Interpolation erzeugt eine Debug-Beschreibung für einen optionalen Wert, wollten Sie dies explizit machen?" Kann ich meinen Code ändern, so dass der Wert nicht optional ist?
Der Antwort-String, der gesendet wird, lautet wie folgt: "responseString = Optional (Dieser Benutzername ist verfügbar)". Ich plante, die Antwortzeichenfolge zu verwenden, um Informationen zum Benutzer anzuzeigen. Gibt es trotzdem, dass ich die Klammern loswerden kann und auch das Wort 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()
}
Abschnitt PHP-Datei:
$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";
}
Warum hassen Sie Einrückung? – Alexander