Foros del Web » Programando para Internet » PHP »

Llamar script php desde canal Maker (IFTTT)

Estas en el tema de Llamar script php desde canal Maker (IFTTT) en el foro de PHP en Foros del Web. Saludos, amigos y vecinos... Vengo con un problemita. Me gusta la web if this then that ( http://ifttt.com ) que seguro la mayoría conocéis, y ...
  #1 (permalink)  
Antiguo 10/01/2017, 12:12
Avatar de Xusqui  
Fecha de Ingreso: febrero-2004
Ubicación: Málaga
Mensajes: 154
Antigüedad: 20 años, 9 meses
Puntos: 0
Llamar script php desde canal Maker (IFTTT)

Saludos, amigos y vecinos...

Vengo con un problemita. Me gusta la web if this then that (http://ifttt.com) que seguro la mayoría conocéis, y que se dedica a conectar diferentes aplicaciones para que unas reaccionen en función de lo que otra aplicación desencadene.

La gran limitación a mi modo de ver de la web es que no admita operadores boleados (No se puede programar: "si esto y esto, entonces esto otro".

IFTTT tiene un canal llamado MAKER que funciona tanto como trigger como acción. Utilizarlo como triare es muy sencillo, pero no logro que una acción de Maker ejecute un script de mi web.

El script es el siguiente:
Código PHP:
<?

// Obtener variables
$casa $_POST['casa'];
$dias = array("domingo","lunes","martes","miercoles","jueves","viernes","sabado");
$dia $dias[date("w")];
$noche $_POST['noche'];
$otros1 $_POST['otros1'];
$otros2 $_POST['otros2'];
$disarmpiper="https://maker.ifttt.com/trigger/disarmpiper/with/key/xxxxxx";
$armpiperstay="https://maker.ifttt.com/trigger/armpiperstay/with/key/xxxxxx";
$armpiperaway="https://maker.ifttt.com/trigger/armpiperaway/with/key/xxxxxxx";

// Conexi贸n a la base de datos
$dbhost='localhost'
$dbusuario='xxx';
$dbpassword='xxx';
$db='xxx';
$conexion mysql_connect($dbhost$dbusuario$dbpassword);
mysql_select_db($db$conexion);


// echo $casa.' '.$fecha.' '.$hora.' '.$otros1.' '.$otros2;
if ($casa == 0) {

  
$result=mysql_query("UPDATE principal SET casa='0' WHERE id=0",$conexion);    
}
elseif (
$casa == 1) {
  
$result=mysql_query("UPDATE principal SET casa='1' WHERE id=0",$conexion);    
}

if (
$noche == 0) {
  
$result=mysql_query("UPDATE principal SET noche='0' WHERE id=0",$conexion);    
}
elseif (
$noche == 1) {
  
$result=mysql_query("UPDATE principal SET noche='1' WHERE id=0",$conexion);    
}

  
$result=mysql_query('UPDATE principal SET dia="'.$dia.'" WHERE id=0',$conexion);    


//Leer los datos actuales de la Base de Datos

    
$query "select casa, dia, noche FROM principal";     // Esta linea hace la consulta 
    
$result mysql_query($query);  

while (
$row mysql_fetch_row($result)){ 
       
$casa=$row[0];
       
$semana=$row[1];
       
$noche=$row[2];
}

echo 
"Casa: ".$casa." y noche: ".$noche." ";

if (
$casa=="0" && $noche=="1"){
echo 
"Case 1";
echo 
"<SCRIPT>window.location='$armpiperaway';</SCRIPT>"
}
if (
$casa=="1" && $noche=="1"){
echo 
"Case 2";
echo 
"<SCRIPT>window.location='$armpiperstay';</SCRIPT>"
}
if (
$casa=="1" && $noche=="0"){
echo 
"case 3";
echo 
"<SCRIPT>window.location='$disarmpiper';</SCRIPT>"
}
if (
$casa=="0" && $noche=="0"){
echo 
"case 4";
echo 
"<SCRIPT>window.location='$armpiperstay';</SCRIPT>"
}

mysql_close($conexion);
?>
Es un script muy sencillo que lee los datos de un formulario POST, los escribe en la base de datos y reacciona en función de los valores llama a un triare de maker para armar la alarma de mi casa de diferentes maneras según haya o no gente en casa y según sea de día o de noche.

Si hago una llamada al script escribiendo la URL http://url/script.php?casa=0&noche=0 (por ejemplo con el método GET en lugar de POST), se ejecuta correctamente y se arma o desarma la alarma en función de lo que tenga configurado.

El problema es que soy incapaz de ejecutarlo desde el canal Maker de IFTT que tengo configurado de esta manera:

Código:
url: http://url al script.php (sin variables)
Método: Post
Content type: application/x-www-form-urlencoded
Cuerpo: {"casa":"1", "noche":"1"} (por ejemplo)
He probado con los métodos post y get (cambiando el script) y nada.

No sé qué estoy haciendo mal, pero si alguien sabe manejar el canal maker de ifttt, agradecería ayuda...

Muchas gracias por adelantado!
__________________
Portal y Foro sobre Stephen King

Foros, noticias, imágenes, juegos, música... El paraíso del Friki de Stephen King.

Etiquetas: maker
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:00.