尝试发送Post方法请求时清空数据

时间:2015-08-06 06:00:29

标签: php ios objective-c xcode xcode5

我试图向我发送POST方法请求,但是当发送帖子时,存储在数据库中的数据是空的我没有得到我发送的值这是我试过的:

NSString *queryString = [NSString stringWithFormat:@"http://localhost/json/insertData.php?username=test&password=test"];
NSMutableURLRequest *theRequest=[NSMutableURLRequest requestWithURL:[NSURL URLWithString: queryString] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
[theRequest setHTTPMethod:@"POST"];
NSURLConnection *con = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];

一切都很好,只有当数据被发送并且我检查数据库时我得到空值,请问错误在哪里。

这是我的PHP文件的代码:

<?php

    $host = "localhost";
    $user = "root";
    $pass = "root";
    $db   = "Users";


    $con = mysqli_connect($host,$user,$pass);

    if(!$con)
    {
        die("Can't connect to mysql server!");
    }

    $db_select = mysqli_select_db($con,$db);

    if(!$db_select)
    {
        die("Can't get the selected db!");
    }

    $id       = "11";
    $username = $_POST['username'];
    $password = $_POST['password'];
    $email    = "any1@any1.com";
    $gsm      = "91111111";

    $query = "INSERT INTO Logins VALUES($id,'$username','$password','$email',$gsm)";
    $query_exec = mysqli_query($con,$query);

    if(!$query_exec)
    {
        die("Can't insert data");
    }

?>

4 个答案:

答案 0 :(得分:0)

您正在通过GET传递变量on: :createusername。在PHP脚本中,您必须使用password而不是$_GET

$_POST

答案 1 :(得分:0)

错误网址显示

中的

  

http://localhost/json/insertData.php?username=test&password=test

您可以清楚地看到username=test&password=test拥有所有数据。它表示您的表单method="get"

所以在你的代码中

$username = $_GET['username'];
$password = $_GET['password'];

这将解决您的问题。

答案 2 :(得分:0)

更具体地说,在上一页的表单中,您应该将提交表单标记更改为包含方法=&#34;发布&#34;。

<form method="post">

答案 3 :(得分:0)

由于这个问题没有答案,你也告诉我,我将$ _POST请求更改为$ _GET但是因为我说我希望它发布不是GET。最后,我得到了错误,我必须使用以下代码对数据进行编码:

[request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];

添加此代码后,数据已成功添加。