2015-08-06 2 views
0

Я пытаюсь отправить мне метод 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 = "[email protected]"; 
    $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"); 
    } 

?> 
+0

Пожалуйста, добавьте соответствующий код вашего insertData.php. –

+0

ok, вопрос был отредактирован, и код был добавлен – SniperCoder

ответ

0

Поскольку нет ответа на этот вопрос, и вы сказали мне, что я изменить запрос на $ _POST до $ _GET, однако, как я сказал, я хочу его должность не GET. Наконец я получил ошибку я должен закодировать данные, используя этот код:

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

После того, как я добавил этот код, данные были успешно добавлены.

0

Вы передаете переменные username и password через GET. В вашем PHP скрипт вы должны использовать $_GET вместо $_POST:

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

i dont хотите использовать get, я хочу передать форму сообщения, как я могу это сделать? – SniperCoder

+0

Есть пример в другом вопросе: http://stackoverflow.com/a/6149088/3647441 –

0

в вашем URL ошибки показывает

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

вы можете ясно видеть username=test&password=test все данные. Это означает, что ваша форма method="get",

Так что в вашем коде

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

Это позволит решить вашу проблему.

+0

Я не хочу использовать get, я хочу передать форму сообщения, как я могу это сделать? – SniperCoder

+0

проверить действие отправки –

0

В частности, в форме с предыдущей страницы вы должны изменить тег формы отправки, чтобы включить метод = "post".

<form method="post"> 
Смежные вопросы