Foros del Web » Programando para Internet » PHP »

No encuentro el error

Estas en el tema de No encuentro el error en el foro de PHP en Foros del Web. Hola a todos, me he bajado un ejemplo de internet que necesito hacer funcionar,pero no se donde está el error.¿Alguien me puede decir donde está??Muchas ...
  #1 (permalink)  
Antiguo 19/10/2007, 14:11
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 19 años
Puntos: 0
No encuentro el error

Hola a todos,

me he bajado un ejemplo de internet que necesito hacer funcionar,pero no se donde está el error.¿Alguien me puede decir donde está??Muchas gracias


<html>
<head>
<title>Linknx</title>
</head>
<body>
<?php

function knxread($fp, $name)
{
$in = "<read><object id='$name'/></read>\n\4";

fwrite($fp, $in);

$ret = '';
$cnt = 0;
while ($cnt < 4 && $fp && !feof($fp)) {
$ret .= fgets($fp, 128);
$c = fgetc($fp);
if ($c == "\4") {
if (ereg ("<read status='success'>([^<]+)</read>", $ret,$regs))
$ret = $regs[1];
break;
}
$ret .= $c;
$cnt++;
}
return $ret;
}

function knxwrite($fp, $name, $value)
{
$in = "<write><object id='$name' value='$value'/></write>\n\4";

fwrite($fp, $in);

$ret = '';
$cnt = 0;
while ($cnt < 4 && $fp && !feof($fp)) {
$ret .= fgets($fp, 128);
$c = fgetc($fp);
if ($c == "\4") {
if (ereg ("<write status='success'", $ret))
return 1;
break;
}
$ret .= $c;
$cnt++;
}
return 0;
}

function switching($fp, $name, $gad) {
print("<tr><td>$name</td><td>");
if (knxread($fp, $gad) != 0)
print("On</td><td><a href='index.php?action=Off&gad=$gad'>Turn Off</a>");
else
print("Off</td><td><a href='index.php?action=On&gad=$gad'>Turn On</a>");
print("</td></tr>\n");
}

function switching_status($fp, $name, $gad) {
if (knxread($fp, $gad) != 0)
print("<tr><td>$name</td><td>On</td></tr>\n");
else
print("<tr><td>$name</td><td>Off</td></tr>\n");
}

function heating($fp, $name, $id) {
print("<tr><td>$name</td><td>");
$val = knxread($fp, 'heating_'.$id);
print(knxread($fp, 'temp_'.$id).'</td><td>'.$val.' ('.knxread($fp, 'setpoint_'.$id).")</td>\n");
print ("<td><a href='index.php?action=comfort&gad=heating_$id'>C</a> <a href='index.php?action=standby&gad=heating_$id'>S</a> <a href='index.php?action=night&gad=heating_$id'>N</a> <a href='index.php?action=frost&gad=heating_$id'>F</a></td></tr>\n");
}

$address = "127.0.0.1";
$port = 1028;


$fp = fsockopen($address, $port, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
}
else {

if (isset($_REQUEST['action'])) {
$action = $_REQUEST['action'];
$gad = $_REQUEST['gad'];
if ($action == 'On') {
knxwrite($fp, $gad, 1);
}
elseif ($action == 'Off') {
knxwrite($fp, $gad, 0);
}
elseif ($action == 'comfort') {
knxwrite($fp, $gad, $action);
}
elseif ($action == 'standby') {
knxwrite($fp, $gad, $action);
}
elseif ($action == 'night') {
knxwrite($fp, $gad, $action);
}
elseif ($action == 'frost') {
knxwrite($fp, $gad, $action);
}
}

print("<h2>Lighting</h2>\n<table border=1>\n");

switching($fp, "Living room", "light_living");
switching($fp, "Dining room", "light_dining");
switching($fp, "Bedroom 2", "light_room2");
switching($fp, "Floor", "light_floor");
switching($fp, "Stair", "light_stair");
switching($fp, "Office", "light_office");
switching($fp, "Bedroom 1", "light_room1");
switching($fp, "Toilet 1", "light_toilet1");
switching($fp, "Kitchen", "light_kitchen");
switching($fp, "Toilet 0", "light_toilet0");

print("</table>\n<h2>Heating</h2>\n<table border=1>\n");

heating($fp, "Office", "office");
heating($fp, "Living room", "living");
heating($fp, "Bedroom 1", "room1");
heating($fp, "Bedroom 2", "room2");
heating($fp, "Kitchen", "kitchen");

switching($fp, "Bathroom", "heating_bath");
switching_status($fp, "Burner status", "burner");

print("</table>\n<h2>Other</h2>\n<table border=1>\n");

switching($fp, "Warm water circulator ", "circulator");
switching($fp, "Auto heating mode", "heating_auto");
switching($fp, "Alarm clock", "wakeup_active");
switching($fp, "Alarm active", "alarm_active");
switching($fp, "Intrusion", "intrusion");

print("</table>\n");

fclose($fp);
}
?>

</body>
</html>

Un saludo

Última edición por robandrox; 19/10/2007 a las 14:21
  #2 (permalink)  
Antiguo 19/10/2007, 14:17
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años, 1 mes
Puntos: 10
Re: No encuentro el error

Pues así nadie te ayudará, ni siquiera posteas el código, el mensaje del error.
__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #3 (permalink)  
Antiguo 19/10/2007, 14:17
Avatar de jmqc  
Fecha de Ingreso: noviembre-2004
Ubicación: Venezuela
Mensajes: 353
Antigüedad: 19 años, 5 meses
Puntos: 1
Re: No encuentro el error

jajajaj, claro si no muestras el código seguro ese es el error... Saludos
__________________
Ante el desconocimiento ni entendimiento de las cosas decimos que los demás estan locos.

José Quintero. Saludos.
:adios:
  #4 (permalink)  
Antiguo 19/10/2007, 14:24
Avatar de jmqc  
Fecha de Ingreso: noviembre-2004
Ubicación: Venezuela
Mensajes: 353
Antigüedad: 19 años, 5 meses
Puntos: 1
Re: No encuentro el error

podrías explicar el código para no perder tiempo leyendolo o poniendolo a ejecutar y tambien sería de ayuda el error mas o menos q dice???
__________________
Ante el desconocimiento ni entendimiento de las cosas decimos que los demás estan locos.

José Quintero. Saludos.
:adios:
  #5 (permalink)  
Antiguo 19/10/2007, 14:30
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 19 años
Puntos: 0
No encuentro el error

El error es algo muy raro, y es esto:

Possible reasons:

Fatal error in your PHP code.
Your php.exe file is bad.
If you use a PHP extension, it is possible that the PHP interpreter can't locate one of extension .dll files, possibly because of incorrect extension_dir parameter in [PHP] section of your php.ini file.


Lo que hace no lo se exactamente porque el autor no soy yo,pero te puedo decir que es algo relacionado con domótica.
  #6 (permalink)  
Antiguo 19/10/2007, 14:31
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: No encuentro el error

Pero.. lo probaste en un servidor? o sea, trata de subir ese codigo a un servidor y pruebalo, porque ese error me suena a que no es problema del script, sino que de otra cosa.

Saludos.
  #7 (permalink)  
Antiguo 19/10/2007, 14:37
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 19 años
Puntos: 0
No encuentro el error

Claro claro,lo he probado en un servidor.Yo creo que el servidor lo tengo bien configurado porque he probado con otros ejemplos y si que me funcionan
  #8 (permalink)  
Antiguo 19/10/2007, 14:40
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: No encuentro el error

Emmm... es muy raro, el archivo obviamente tiene que estar en extensión .php, pero.. si no te molesta, probalo en otro servidor, si te sigue ese error, yo no te puedo dar soporte de ayuda, porque no tengo argumentos para ayudarte con eso.

Saludos.
  #9 (permalink)  
Antiguo 19/10/2007, 14:43
Avatar de jmqc  
Fecha de Ingreso: noviembre-2004
Ubicación: Venezuela
Mensajes: 353
Antigüedad: 19 años, 5 meses
Puntos: 1
Re: No encuentro el error

Que tal, ya he probado el código y no parece tener un error la cosa es q, primero utiliza sockets segundo creo q tienes q tener conectado un dispositvo a un puerto y tenga conexion al 1028, ,la dir q estan utilizando es localhost por eso si el server no tiene nada en el pto 1028 no funciona. Otra cosa es q si no eres el dueño del server posiblemente el pto este cerrado y no podras hacer nada, si quieres probarlo en tu casa (supongo q estas probando en otro sitio) deberias instalarte el apache configurar el php, etc y por supuesto conectarte algo a un pto. com pareciera ser y habilitar el pto 1028. Espero q te sirva... Saludos
__________________
Ante el desconocimiento ni entendimiento de las cosas decimos que los demás estan locos.

José Quintero. Saludos.
:adios:
  #10 (permalink)  
Antiguo 19/10/2007, 14:49
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 19 años
Puntos: 0
Re: No encuentro el error

Lo estoy probando en casa.Pero entonces no puedo hacer nada si no conecto algo??Como puedo hacer para abrir el puerto 1028??
  #11 (permalink)  
Antiguo 19/10/2007, 15:11
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 225
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: No encuentro el error

busca en google
  #12 (permalink)  
Antiguo 23/10/2007, 04:04
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 19 años
Puntos: 0
No encuentro el error

He probado el ejemplo en linux con firefox, y lo que me devuelve el navegador es lo siguiente:
Warning: fsockopen() [function.fsockopen]: unable to connect to 127.0.0.1:1028 (Connection refused) in /var/www/apache2-default/example-php.php on line 78
Connection refused (111)

yo creo que no hace falta conectar ningún dispositivo,pero la verdad es que no lo se seguro.Alguien tiene alguna idea??Gracias
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 05:57.