Título: [Resuelto] Porque no puedo establecer los valores para las variables POST? Publicado por: VintageChanel en 6 Agosto 2017, 20:25 pm Hola, estoy desarrollando una applicacion para android que se conecta con un servidor. Para comunicar la app con el servidor estoy usando PHP. Y como es la primera vez que uso PHP no tengo ni idea de como hacer funcionar este codigo:
Código: <?php $response = array(); if (!empty($_POST['name']) && !empty($_POST['breed']) && !empty($_POST['type']) && !empty($_POST['description']) && !empty($_POST['images']) && !empty($_POST['coords'])) { $name = $_POST['name']; $breed = $_POST['breed']; $type = $_POST['type']; $description = $_POST['description']; $images = $_POST['images']; $coords = $_POST['coords']; require_once __DIR__ . '/db_connect.php'; $db = new DB_CONNECT(); $result = "INSERT INTO lost_pets (name, breed, type, description, images, coords) VALUES(':name', ':breed', ':type', ':description', ':images', ':coords')"; $stmt = $db->prepare($result); $stmt->bindParam(':name', $_POST['name'], PDO::PARAM_STR); $stmt->bindParam(':breed', $_POST['breed'], PDO::PARAM_STR); $stmt->bindParam(':type', $_POST['type'], PDO::PARAM_STR); $stmt->bindParam(':description', $_POST['description'], PDO::PARAM_STR); $stmt->bindParam(':images', $_POST['images'], PDO::PARAM_STR); $stmt->bindParam(':coords', $_POST['coords'], PDO::PARAM_STR); $stmt->execute(); if ($result) { // successfully inserted into database $response["success"] = 1; $response["message"] = "Product successfully created."; echo json_encode($response); } else { // failed to insert row $response["success"] = 0; $response["message"] = "Oops! An error occurred."; echo json_encode($response); } } else { // required field is missing $response["success"] = 0; $response["message"] = "Required field(s) is missing"; echo json_encode($response); } ?> No me carga ningun dato a la base ni desde la app, ni desde el URL. En vez de eso obtengo los siguientes resultados: Citar {"success":0,"message":"Required field(s) is missing"}. Cuando trato de hacer print_r($_POST) me dice Array(). No tengo ni idea de porque no funciona el codigo, espero que me puedan ayudar, Muchas Gracias. Título: Re: Porque no puedo establecer los valores para las variables POST? Publicado por: [.:: NauJFracT ::.] en 6 Agosto 2017, 21:51 pm Le mandas el post por android studio?
Título: Re: Porque no puedo establecer los valores para las variables POST? Publicado por: engel lex en 6 Agosto 2017, 21:58 pm y tu código de envío?
Título: Re: Porque no puedo establecer los valores para las variables POST? Publicado por: Luis Leon B en 7 Agosto 2017, 08:04 am Cuando trato de hacer print_r($_POST) me dice Array(). No tengo ni idea de porque no funciona el codigo, espero que me puedan ayudar, Muchas Gracias. Intenta hacer Código: curl --data " name=1&breed=1&type=1&description=1&images=1&coords=1" https://ejemplo.com/archivo.php Si funciona, seguro es el cliente. ¿En qué lo estás desarrollando? Te recomiendo usar React y React Native o Ionic y Angular 2, las apps hibridas son la opción más rápida y portable para desarrolladores web. Es más fácil hacer una API rest en Express js. Con Código: app.post("/post_:argumento1_:argumento2", () => { ... }); Título: Re: Porque no puedo establecer los valores para las variables POST? Publicado por: VintageChanel en 8 Agosto 2017, 16:38 pm Finalmente ya encontre el error.
En vez de hacer ese if al principio, hice la conexion y despues comprobe, con un if, si habia sido exitosa. Ahi me di cuenta que no estaba usando el metodo connect (que era el que retornaba la conexion) de la variable $db que contenia la clase DB_CONNECT. Y despues me di cuenta que tenia un error de tipeo en la clase connect, de DB_CONNECT. Bueno no era mu dificil, pero despues de todo esta es mi primera vez interactuando con un servidor y usando php. :laugh: Muchas gracias por todas sus respuestas! |