[Resuelto] Porque no puedo establecer los valores para las variables POST?

Iniciado por VintageChanel, 6 Agosto 2017, 20:25 PM

0 Miembros y 1 Visitante están viendo este tema.

VintageChanel

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:


<?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.
Take Risks

[.:: NauJFracT ::.]


De vuelta...

engel lex

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Luis Leon B

Cita de: VintageChanel en  6 Agosto 2017, 20:25 PM

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
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 app.post("/post_:argumento1_:argumento2", () => { ... });

VintageChanel

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!
Take Risks