Foros del Web » Programando para Internet » PHP »

Php Xitami

Estas en el tema de Php Xitami en el foro de PHP en Foros del Web. Tengo un codigo que lo uso en una maquina win2000 con PHP y IIS , el mismo anda bien. Pero ese mismo codigo lo prove ...
  #1 (permalink)  
Antiguo 10/04/2003, 09:27
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
Php Xitami

Tengo un codigo que lo uso en una maquina win2000 con PHP y IIS , el mismo anda bien.
Pero ese mismo codigo lo prove en una maquina WIN98 con PHP y XIMANI y me da el siguiente error

Notice: Undefined variable: dia in C:\XITAMI\webpages\phptest\ver.php on line 8

Notice: Undefined variable: mes in C:\XITAMI\webpages\phptest\ver.php on line 9

Notice: Undefined variable: ano in C:\XITAMI\webpages\phptest\ver.php on line 10

Esta es la parte del codigo que me da el mensaje de error,
Código PHP:
<?


$fech1 
date("d");
$fech2 date("n");
$fech3 date("Y");

 if(!
$dia)  $dia $fech1;
 if(!
$mes$mes $fech2;
 if(!
$ano$ano $fech3;

?>
Que puede ser...
Desde ya muchas gracias y salu2 a to2
  #2 (permalink)  
Antiguo 10/04/2003, 09:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El problema es solo de configuración de como PHP muestra los mensajes de error (niveles) ..

En el caso de tu Xtinami tienes la directiva de tu php.ini
error_reporting=E_ALL

Y en tu IIS lo tienes a:
error_reporting = E_ALL & ~E_NOTICE

El "error" es solo un "aviso" de que esas variables no están declaradas .. pues suponemos q esas: $dia, $mes, $ano (q feo xD yo uso $year :PP) entra a ese script com variabels externas (sea por URL o por formulario ..)

Para solucionar el "aviso" sin cambiar configuración usa .. (que es lo q deberias usar):

isset()
http://www.php.net/manual/en/function.isset.php

Código PHP:
if(!isset($dia))  $dia $fech1;
// etc con el resto de variables que te entren externas .. 
Tambien podrías usar:
empty()
http://www.php.net/manual/en/function.empty.php

que ademas de decir si "está definida la variable" .. mira que su valor sea distinto de "NULL" (0 ó "")

A todo esto .. Puedes "forzar" la configuración de PHP para un(os) escript(s) en concreto usando por ejemplo:

ini_set("error_reporting","E_ALL & ~E_NOTICE");

al principio de tus scripts .. ahí fuerzas a PHP q no muestre errores de "notice" ..

Tambien te recuerdo que USES los arrays Superglobales $_GET/$_POST/etc para recoger las variables de tus URL's o formularios (o en su defecto $HTTP_xxx_xxxx) (En las FAQ's tienes una dedicada al tema) ..

Te invito a su vez a que leas este artículo de Josemi:
http://usuarios.lycos.es/josemifaq/caza_errores.html

ahí nuestro amigo Josemi explica "por qué" usar o no usar "error_reporting" ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 10/04/2003, 11:20
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
Gracias Cluster por la solucion pero tengo otra pregunta
en la maquina con XITAMI no me funciona el $PHP_SELF? que pude ser...

<td width=\"1%\"><a href=\"$PHP_SELF?mes=$mes&ano=$AnoAnteriorAno&fina l=$fecha_final\"><center><img src=imagenes/izquierda.png border=0></a></center></td>";

Igualmente gracias por la respuesta anterior ya que me fue de mucha utilidad
Saludos
  #4 (permalink)  
Antiguo 10/04/2003, 11:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
"No me funciona" .. no se q es eso xD .. si indicas algun tipo de error será mas facil darte alguna solución ..

En principio puede ser porque PHP lo tienes instaldo como CGI (así lo usas en el Xitami ...) en tal caso tendrias q usar getenv("PHP_SELF") para obtener las variables del servidor HTTP ..

más info:
http://www.php.net/manual/en/function.getenv.php

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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:35.