Archivos mensuales: octubre 2008

header(“location:pagina.html”); – php

header(“location:pagina.html”);

Cuándo se trabaja con headers hay que tener dos cosas muy en cuenta, una es que todos los echo que se pongan ya sea para pruebas o para lo que sea, no se van a ver, y es porque se ejecuta en el servidor, y cuando llega, ya llega la siguiente página que se llama.

De todas maneras, un header da un error si hay un echo en la misma sentencia o medio cerca, me pasó de no darme el error si la linea del echo esta lejos de la linea del header.

Asimismo dichos echos no se van a ver, así que no tiene sentido que se ejecuten.

Anuncios

Cambio de memorias

Algo tan básico como un cambio de memorias, puede dejar de ser algo tan básico si al momento de prender la máquina no obtienes video, y sale un hermoso olor a transitor quemado.

No es común que pase esto, en mi caso pasó porque tenía memorias Dimm ya conectadas, y iba a agregar una Ddr, el problema parece estar en que le da a todos los bancos el mismo voltaje, con lo que obtuve un recalentamiento de las Dimm.

Conclusión: solo un tipo de memorias conectadas a la vez.

Editores php

Editores Php hay muchos que corran sobre Linux, pero encontrar uno que se ajuste a las necesidades no siempre es fácil. Yo más que un editor, buscaba un entorno de desarrollo.

Mis primeros pasos los di con Bluefish desde Ubuntu, y Notepad ++ desde Windows. Al querer dar pasos mas grande, necesitaba algo que fuera más poderoso, y a la vez me ayudara más.

Hablando con gente que domina el tema hace tiempo me recomendó Zend Studio. Es del mismo equipo que desarrollo Php, el problema es que es pago.

Al final pude encontrar uno que se ajustaba a mis necesidades, que coloree sintaxis, que indente automático, que cierre comillas, paréntesis, llaves y corchetes estomáticamente, que cheque los errores en código, y que muestre opciones al momento de escribir el código. Y de paso, tenía otra importante característica que no era un requisito pero que ayuda, es la que es multiplataforma, y no precisa instalarse porque está echo en java, eso si, precisa tener java corriendo en el sistema.

Para los menos exigentes está Easyeclipse

Para los más exigentes está Eclipse Pdt

Después hay otros editores que cumplen sus funciones, pero no llegan a mis expectativas, uno de esos casos es Quanta Plus, que sería mi elección si ayudara con la sintaxis, pero que está muy completo al momento de trabajar con Html.

Un editor bastante completo es

Gphpedit, indenta automático, resalta con colores la sintaxis, incluso ayuda con la sintaxis, y es muy liviano, es la opción para cuando hay que salir del apuro, y no se pueden descargar los 122 mb del proyecto Pdt de eclipse.

Y uno un poco mas básico, pero interesante igual es Geany.

Todas las opciones que nombre corren mínimo en Linux, pero desconozco si todos tienen su versión para Windows.

Uno que extrañe al momento de migrar a linux fue el notepad ++ aunque tenía sus déficit, saca muy bien del apuro.

Claves Wep

Hoy en día, es algo muy común tener que poner contraseñas para conectarnos a redes inalámbricas o wifis, la razón mas común es la que cualquiera con un receptor wifi puede conectarse a nuestra red, y usar nuestro ancho de banda, o ver nuestros recursos compartidos.

Poner una clave Wep en nuestro router ap (access point) puede ser una solución. Pero hay un problema al momento de conectarnos, ponemos la clave y se conecta, pero no podemos navegar y no podemos ver la red, la razón es muy simple, seguramente pusimos la clave wep mal, pero muchas veces, diría que la mayoría, el software no nos avisa que pusimos la clave mal, y nos muestra como conectados.

Otro problema común, puede ser que el software de la tarjeta de red wifi, sea mas completo, y soporte cifrados wap o otro, en ese caso, hay que asegurarse de usar el mismo que está en el router, que el mas común es el wep, por dos motivos, primero es que no se va a conectar, segundo que las claves wap, piden usuario y contraseña para conectarnos. pero al momento de configurar el wep, solo nos pide contraseña, por lo que nos van a faltar datos para conectarnos.

Php volver para atrás y tener el valor de los campos

Un problema común que nos encontramos al momento de crear formularios, es que si falla la validación de algún campo es necesario recargar el mismo, por lo que según nuestra configuración los campos pueden aparecer en blanco y es necesario volver a cargarlos. Lo que si estamos haciendo pruebas es bastante engorroso sobre todo con formularios largos.
Este problema surge porque Php se ejecuta del servidor y no en el cliente, osea en el navegador. Sería como estar jugando un juego de estrategia por turnos.
La validación no se realiza en tiempo real, sino que es necesario llamar a otra página o a ella misma para que la misma se realice.

Otra opción que tenemos es validar los campos con Javascript, pero esto tiene básicamente dos problemas, el primero es que los navegadores pueden bloquearlos, y el segundo es que pueden saltarse la validación lo que implica que estaríamos ingresando datos no comprobados a nuestra base de datos. En este caso lo mejor sería realizar una validación con Javascript y una segunda validación con PHP.

La mejor opción para validar con PHP y mantener el valor de los campos en caso de que la validación falle es llamar a la misma página y realizar la validación al comienzo de la misma, en los campos del formulario como opción “value” se utiliza la variable de PHP.

get y header location en php

No es que tengan que ver uno con el otro, es el echo de que con los dos encontré problemas al momento de usarlos.

Get solo fue un error tal vez común de sintaxis, la sintaxis es:

<a href=”pagina.php?variable1=valor1&variable2=valor2

el problema era que en ves de poner un “&” entre las variables, le volvía a poner un “?”, como resultado de esto, los variables pasadas por get llegaban vacías, o me mostraba el valor de dos variables, útil tenerlo en cuenta.

El problema de header location es que no se puede tener ningún “echo” antes de utilizar el header o te dara un error de “*Warning*: Cannot modify header information – headers already sent by (output started at ruta_de_la_pagina:1) in ruta_de_la_pagina on line x “, tampoco puede haber una linea en blanco antes de utilizarlo o dará el mismo error.

En mi caso, y por comodidad, ya aproveché a ponerlo en una página nueva, y usar un include(“nombre”), pero hay que tener en cuenta que si hay un echo antes pasa exactamente lo mismo.

Varios problemas con outlook 2000

Hacía tiempo que no me encontraba con tal desafío, fue toda una oleada de fallos de Outlook 2000, para empezar, llega a los 2 gb y se clava, no sirve para más nada, y si lo querés exportar para Outlook 2003 te dice que supero los 2 gb y que no lo puede exportar. sumado a eso, la probabilidad tan alta que el Pst se rompa, sumado a que si se te tranca un mail en la bandeja de salida el pst ya no te sirve, tenés que repararlo o pasar todos los datos a un nuevo pst. sumado a que dos por tres algún mail en eliminados te hace lento el Outlook, más la cantidad de veces que se cuelga porque si, o lo cerrás, y al rato cuando miras el administrador de procesos te das cuenta que todavía esta cargado en memoria. Que producto tan malo, teniendo clientes como Thunderbird totalmente gratuitos, o de última Outlook Express.

Puntualmente me vi en la necesidad de tratar de seguir usando un pst que se clavó en los 2gb, y encontré una importante opcion que trae Thunderbird, y es la de importar (herramientas, importar, Outlook) los mails desde Outlook, y digo desde Outlook porque tiene que estar configurado como predeterminado al momento de darle importar, y tampoco se puede importar el .pst, hay un plugin que no me funcionó.

Para el caso de que se tranque un mail en la bandeja de salida o en eliminados, estoy viendo la posibilidad con un programa shareware que me muestra los mails del pst y me deja borrarlos.

Finalmente hablar del fantástico modo seguro de Outlook, probé el de 2000 (desde ejecutar “toda la ruta” /safe) abre Outlook para mi que igual, aunque afirman que no carga algunas cosas, nunca me dio resultado. en Office Xp en adelante al momento de ejecutar el .exe hay que apretar control.

Hoy me entere que en outlook express, en la carpeta de instalacion, hay un .exe que supuestamente arregla o.express, al momento de ejecutarlo no te muestra nada, y muchos afirman que repara igual, pero no me dio resultado a mí. El ejecutable en el nombre tiene un 50.

Opciones de archivos en php

En mi intento por armar mi primer proyecto en php, me encontré en la necesidad de crear carpetas, crear archivos, modificarlos y guardarlos.

con

mkdir (“./$nombre_de_carpeta”, 0777);

creo una carpeta en el directorio raíz y le agrega permisos 0777, este ultimo punto es muy importante.

si no se pone un “.” antes de / te da un error de permiso denegado en cambio si se quiere poner en otra carpeta hay que poner toda la ruta.

fopen crea un archivo o lo abre en caso de existir

fput sirve para ingresar lineas al documento

fclose guarda los cambios y cierra el documento.

Al momento de abrir un documento se puede elegir entre distintos permisos.

R –> solo lectura

R+ –> lectura y escritura

W  –> solo escritura

W+ –> escritura lectura

A –> permite escribir pero en caso de existir no lo sobreescribe

A+ –> permite leer y escribir pero si existe no borra el contenido

La sintaxis del fopen sería:

$variable=fopen($archivo, “a+”);

fclose ($variable);

Imprimir desde d.o.s en lx.. desde xp

Cuando la impresora es local no hay mayores problemas. pero cuando hay que mapearla usando net use a otra máquina nos podemos encontrar mayormente con dos problemas. claro que esto es la menor de las veces, porque en realidad desde dos el net use funciona muy bien.

Una de las cosas es que corre la hoja, pero no hay impresión, la otra es que diga que hay un error en el  puerto lpt,  o que no de error pero igual no imprima.

si no hay impresión pero si corrió la hoja puede ser un tema de drivers, probar con otro el mas cercano al modelo que sea el que haya.

Si dice que hay un error en puerto  lpt tal ves sea necesario cambiar una configuración en las propiedades de la impresora. hay que cambiar la parte donde dice de empezar a imprimir directamente en la impresora, por la opción de usar la cola de impresión.

Si no hay errores pero igual no imprime es bueno fijarse si está mapeado el puerto lpt y si está funcionando bien la impresora en la máquina local. reiniciar esa pc, y como última medida eliminar y crear de nuevo la impresora.

Como dije, es el menor de los casos, pero me pasó que no me imprimía y no había mucha información al respecto, y no tenía ganas de pagar por un programita que haga eso.