【发布时间】:2015-03-26 15:18:07
【问题描述】:
我目前正在制作一个 iOS Swift 应用程序,它允许用户创建派对播放列表并让其他用户加入该派对播放列表以对歌曲进行投票。
我目前正在研究如何将用户输入的文本字段作为变量并将它们传递到 PHP 脚本中,当用户在输入值后点击“CREATE PARTY”按钮时,该脚本会使用这些给定的变量执行查询。
下面是我的 ViewController 类:
import UIKit
import Foundation
class CreatePartyViewController: UIViewController, NSURLConnectionDelegate, NSURLConnectionDataDelegate {
@IBOutlet weak var partyName: UITextField!
@IBOutlet weak var pinNumber: UITextField!
@IBOutlet weak var host: UITextField!
let genre = "pop"
override func viewDidLoad() {
super.viewDidLoad()
}
func textFieldShouldReturn(textfield: UITextField!) ->Bool {
partyName.resignFirstResponder()
return true
}
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
self.view.endEditing(true)
}
@IBAction func createParty(sender: AnyObject) {
// THIS IS WRONG, I AM STUCK FIGURING OUT WHAT TO PUT HERE
let url = NSString(format:"http://myurl/createParty.php?partyName=\(self.partyName.text)&PIN=\(self.pinNumber.text)&host=\(self.host.text)&genre=\(self.genre)")
println(url)
let urlData = NSData(contentsOfURL: url)
let datastring = NSString(data: urlData!, encoding: UInt())
println(datastring)
}
这是我的 PHP 脚本:
$dbhost = "#####";
$dbuser = "#######";
$dbpass = "########";
$db = "########";
$partyTable = "party";
$votesTable = "votes";
$songsTable = "songs";
$conn=mysql_connect($dbhost, $dbuser, $dbpass) or die (mysqli_error());
mysql_select_db($db, $conn) or die(mysql_error());
if (isset ($_GET["partyName"]) && isset ($_GET['PIN']) && isset ($_GET['maxofQ']) && isset ($_GET['genre']))
{
$name = $_GET['partyName'];
$PIN = $_GET['PIN'];
$host = $_GET['host'];
$genre = $_GET['genre'];
}
else
{
$name = "nilio";
$PIN = "000";
$host = "nilio";
$genre = "nilio";
}
$sql1 = "insert into party(artist, PIN, host, genre) values($name, $PIN, $host, $genre)";
$sql2 = "select trackURI, artist, track into votes(trackURI, artist, track) from songs where genre = $genre";
$res1 = mysql_query($sql1, $conn) or die(mysql_error());
$res2 = mysql_query($sql2, $conn) or die(mysql_error());
mysqli_close($conn);
if ($res) and ($res2)
{
echo "success";
}
else
{
echo "failed";
}
【问题讨论】: