【发布时间】:2016-06-28 22:06:56
【问题描述】:
我开发 iOS 应用程序已有一段时间了,刚刚开始设计我的网站。在我的一个应用程序中,我使用以下方法将数据添加到我的数据库中:
let URL = NSURL(string: urlPath.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!)
let data = NSData(contentsOfURL: URL!)
var response = ""
if let data = data{
response = NSString(data: data, encoding: NSUTF8StringEncoding) as! String
}
urlPath 看起来像:http://mydomainname.com/folder/anotherFolder/theAPI.php?arg1=one&arg2=two&arg3=three 等等。
我真正想做的是使用所有参数调用 API.php 文件,其中每个参数(arg1=、arg2= 等)都是 HTML 表单中的一个字段。我找到了一些处理 HTML 表单和验证数据的教程,现在我的表单看起来像:
<form action="action.php" method="post">
<div id="formtext">Name</div>
<input type="text" name="Name">
<div id="formtext"><br>Email Address:</div>
<input type="text" name="Email"><br>
<div id="formtext"><br>Password</div>
<input type="text" name="Password"><br><br>
<input type="submit" name="submit" value="Submit">
</form>
抱歉,如果 HTML 有点令人生畏,我没有足够的经验知道“整洁”/传统的 HTML 代码是什么样的,这是我从教程中设法拼凑起来的。
我还知道,在action.php 中,您可以获得以下形式的值:$_POST['Name']。我觉得我真的很接近 - 我只是找不到任何地方可以告诉我如何调用这个 api。
我能得到的最接近的是:
$name = $_POST['Name']
$email = $_POST['Email']
$password = $_POST['Password']
$response = file_get_contents('http://domain.com/folder/api.php?Name=' . $name . '&Email=' . $email . '&Password=' . $password);
echo $response
如果您是 php 专家,再次抱歉,您的代码被破坏了 :)
(哦,结果只是说 where 子句中的第 26 行有一个错误 - API 很好,因为我从我的应用程序中对其进行了测试)。 编辑:Where 子句曾经是 While 循环(对不起)
最后,如果有人告诉我在action.php 中输入的内容,我将不胜感激(不包括验证 - 我稍后会继续讨论),如果我做错了什么可笑的错误,请告诉我。
谢谢:)
【问题讨论】:
-
除了不使用 ; 终止 PHP 行这里没有什么明显的错误。您可能需要对 $response 进行 urlencode。但不足以帮助我们发现您的语法错误。请发布更多代码,包括您提到的包含第 26 行的 while 循环。
-
echo $response 返回什么?
-
您是想创建 action.php 作为 HTML 表单和现有 API 之间的中间,还是想从 HTML 页面调用现有 API?
-
@bitfiddler 对不起,我的意思是 While 子句(已编辑 Q),我发布的代码是 php 文件中的唯一代码。我只能假设 API 在为数据库记录生成 ID 时遇到问题(在对其中一个答案的评论中进一步解释)。