2016-03-27 12 views
1

Ich versuche, PHP-Post zu MySQL-Datenbank mit einer Android-App und einer Website-URL zu tun.
Aber ich weiß nicht, wie man eine Post-Anfrage über eine URL machen.
Ich habe versucht http://localhost/api/create_product.php?name=chetan&price=2000&description=someDescription
Dies gibt erforderliche Felder fehlt.
Vielleicht ist die URL, die ich versuche zu übergeben, falsch Helfen Sie mir zu wissen, wie mache ich einen Beitrag in der DB mit URL, die JSON für den Erfolg zurückgibt.PHP-Post über URL-Parameter

<?php 

/* 
* Following code will create a new product row 
* All product details are read from HTTP Post Request 
*/ 

// array for JSON response 
$response = array(); 

// check for required fields 
if (isset($_POST['name']) && isset($_POST['price']) && isset($_POST['description'])) { 

$name = $_POST['name']; 
$price = $_POST['price']; 
$description = $_POST['description']; 

// include db connect class 
require_once __DIR__ . '/db_connect.php'; 

// connecting to db 
$db = new DB_CONNECT(); 

// mysql inserting a new row 
$result = mysql_query("INSERT INTO products(name, price, description) VALUES('$name', '$price', '$description')"); 

// check if row inserted or not 
if ($result) { 
    // successfully inserted into database 
    $response["success"] = 1; 
    $response["message"] = "Product successfully created."; 

    // echoing JSON response 
    echo json_encode($response); 
} else { 
    // failed to insert row 
    $response["success"] = 0; 
    $response["message"] = "Oops! An error occurred."; 

    // echoing JSON response 
    echo json_encode($response); 
} 
} else { 
// required field is missing 
$response["success"] = 0; 
$response["message"] = "Required field(s) is missing"; 

// echoing JSON response 
echo json_encode($response); 
} 
?> 

db_connect() funktioniert gut, wie ich in der Lage bin eine GET-Abfrage zu tun erfolgreich

Antwort

1

http://localhost/api/create_product.php?name=chetan&price=2000&description=someDescription => Dies ist eine Anforderung mit GET-Parameter und Ihre Aussage hier:

if (isset($_POST['name']) && isset($_POST['price']) && isset($_POST['description'])) { 

Sind Nach POST-Parametern suchen, entweder Sie ändern jede $ _POST durch $ _GET, entweder ändern Sie Ihre Methode der Übergabe Argumente verursachen in der Regel, wenn Sie Argumente geben es in eine Datenbank es ist über POST und nicht GET aus Sicherheitsgründen. GET-Parameter werden verwendet, um etwas zu lesen, aber nicht einzufügen.

+0

Danke, Können Sie mir sagen, wie ich Argumente in der URL korrekt für POST –

+0

POST-Parameter übergeben werden in der URL nicht angegeben, müssen Sie angeben, dass es POST-Parameter in Ihrem Android-App ist. – Kangoo13

+0

Wie mache ich es dann auf einer Webseite ??? –