Foros del Web » Programando para Internet » PHP »

Novato sin control

Estas en el tema de Novato sin control en el foro de PHP en Foros del Web. Estoy intentando controlar un dispositivo a través de web y he hecho este programa chorras que no funciona: ¿me puedes aportar alguna idea de donde ...
  #1 (permalink)  
Antiguo 21/05/2007, 06:42
Avatar de anso  
Fecha de Ingreso: mayo-2007
Ubicación: Valladolid, España
Mensajes: 8
Antigüedad: 16 años, 11 meses
Puntos: 0
Novato sin control

Estoy intentando controlar un dispositivo a través de web y he hecho este programa chorras que no funciona: ¿me puedes aportar alguna idea de donde puede estar fallando?:

<?php

// Get a file into an array. In this example we'll go through HTTP to get
// the HTML source of a URL.
function encender ()
{
$lines = file('Xttp://192.168.0.100/uo?d=2&n1=6&n2=1/');
echo "ENCENDIDO";
}
function apagar ()
{
$lines = file('Xttp://192.168.0.100/uo?d=2&n1=6&n2=1/');
echo "APAGADO";
}

echo "<INPUT TYPE=button VALUE=ENCENDER onClick=encender ()>";
echo "<INPUT TYPE=button VALUE=APAGAR onClick=apagar ()>";
?>

He tenido que cambiar el H por la X para que me lo deje publicar:
  #2 (permalink)  
Antiguo 21/05/2007, 07:28
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Re: Novato sin control

Estas mezclandos php con javascript, recuerda que PHP es interpretado del lado del servidor, mientras javascript es ejecutado del lado del cliente (lo hace el browser).

Al boton hazle que se diriga hacia el mismo script con una variable que diga nose on, noda index.php?ac=on y en tu script pregunta si la variable de entrada (get) parametro ac , es igual a on , ejecutas la primera funcion, si es false, ejecuta la segunda funcion.

Saludos
  #3 (permalink)  
Antiguo 21/05/2007, 08:56
Avatar de anso  
Fecha de Ingreso: mayo-2007
Ubicación: Valladolid, España
Mensajes: 8
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Novato sin control

Perdona mi ignorancia sería esto y gracias por tu respuesta:

<?php
if get ac=on
{
$lines = file('Xttp://192.168.0.100/uo?d=2&n1=6&n2=1/');
echo "ENCENDIDO";
}
else
{
$lines = file('Xttp://192.168.0.100/uo?d=2&n1=6&n2=1/');
echo "APAGADO";
}
echo "<INPUT TYPE=button VALUE=ENCENDER onClick=nose on, noda nprueba.php?ac=on>";
?>

donde nprueba.php es el propio programa.
  #4 (permalink)  
Antiguo 21/05/2007, 09:09
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Re: Novato sin control

Cita:
Iniciado por anso Ver Mensaje
Perdona mi ignorancia sería esto y gracias por tu respuesta:
No te preocupes, si todos comenzamos desde 0 una vez , lo importante es ir aprendiendo.

Te ayudo un poco con el codigo

Código PHP:
<?php
if ( $_REQUEST['ac'] == "on" )
{
    
$lines file('Xttp://192.168.0.100/uo?d=2&n1=6&n2=1/');
    echo 
"ENCENDIDO";
}
elseif ( 
$_REQUEST['ac'] == "off" )
{
    
$lines file('Xttp://192.168.0.100/uo?d=2&n1=6&n2=1/');
    echo 
"APAGADO";
}
echo
'
<html>
<form>
<INPUT TYPE=button VALUE=ENCENDER onClick="location.href=\'nprueba.php?ac=on\'">
<INPUT TYPE=button VALUE=Apagar onClick="location.href=\'nprueba.php?ac=off\'">
</form>'
;
?>
Como ves primero el algoritmo para detectar si en el array $_REQUEST (variables que entran al script, via GET , POST y Cookie) el campo ac es igual a on , ejecuta tal cosa, de lo contrario pero que sea igual a off , ejecuta lo otro.

Lo de mas que imprime, es solo un html con un javascritpt adecuado, que permite ir a una URL si presionas el boton, y resulta q la URL es la del script pero con parametros que se le envia en la URL via get, es decir npruebas.php?ac=on le estamos enviando la variable ac que vale on


Saludos
PD : Te recomiendo un mini tutorial de PHP AQUI , tambien hay hay varios libros de PHP q te pueden servir.
  #5 (permalink)  
Antiguo 21/05/2007, 10:35
Avatar de anso  
Fecha de Ingreso: mayo-2007
Ubicación: Valladolid, España
Mensajes: 8
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Novato sin control

Estimado Deer: ¡funciona! mi ventilador se enciende y se apaga. Una semana dando vueltas al invento y por fin lo has conseguido. Se trata de un automatismo que recibe las ordenes por web, pero siempre devuelve una pagina de respuesta con codigo XML dentro, asi que me puse a investigar y vi el truco del $lines para que no me devolviera la pagina. Desgraciadamente soy de sistemas (y microsoft para mas coña) con lo cual esto se me escapa, pero como bien dices todo es empezar. Espero poder contribuir con mis conocimientos en otras cosas. Gracias.
  #6 (permalink)  
Antiguo 21/05/2007, 10:59
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Re: Novato sin control

Que bueno que te funciono. Te mando un Mensaje Privado ya que estoy interesado en tu sistemita jeje , y no he tenido mucho tiempo para aprender los comandos e interfaces para manejar dispositivos por serial,etc ... pero un ejemplo vendria genial ..


Saludos q estes bien
  #7 (permalink)  
Antiguo 21/05/2007, 11:46
Avatar de jmqc  
Fecha de Ingreso: noviembre-2004
Ubicación: Venezuela
Mensajes: 353
Antigüedad: 19 años, 5 meses
Puntos: 1
Re: Novato sin control

Que tal anso, por que no compartes el link o la info de donde sacastes ese proyecto, seria bueno para hecharle un ojo uno no sabe cuando lo necesita... Saludos
__________________
Ante el desconocimiento ni entendimiento de las cosas decimos que los demás estan locos.

José Quintero. Saludos.
:adios:
  #8 (permalink)  
Antiguo 21/05/2007, 13:38
Avatar de anso  
Fecha de Ingreso: mayo-2007
Ubicación: Valladolid, España
Mensajes: 8
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Novato sin control

No es ningun proyecto, se trata del software propietario de un controlador ALLNET. La respuesta de line$ la hice experimentalmente igual que las de $html = implode('', file("direccion/uo?d=2&n1=7&n2=1/"))
y $gestor = fopen("direccion/uo?d=2&n1=6&n2=1/", "r"). Estos controladores gestionan relais u obtienen datos de sensometros dando la informacion en formato XML, pero esta informacion habitualmente se vuelca a base de datos por lectura continua cada cierto tiempo.
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 08:18.