Archives Posts
November 17th, 2008 by scyfox
Pa variar un condoro con php jajaja.
Encuentre las diferencias:
$sql_busca = “SELECT * FROM contador_visitas WHERE seccion = ‘educacion’”;
$result = mysql_query($sql_busca);
sql_busca = “SELECT * FROM contador_visitas WHERE seccion = ‘educacion’”;
$result = mysql_query($sql_busca);
Maldita variable… Abajo un manual para pillar errores de compilación y lógica.
http://usuarios.lycos.es/josemifaq/caza_errores.html
Tags: Code, comillas, errores, lógicos, pagina en blanco, PHP
Archives Posts
November 14th, 2008 by scyfox
A pesar de que el uso de cookies en PHP es facilicimo, siempre se olvida uno que otro detalle.
Por eso, es recomendable tener siempre su link o manualcito de bolsillo para esos lapsos mentales.
Pero como mi manual es San Google, la tarea salió más fácil. Eso si, como está de moda que existan blogs que copian indiscriminadamente la info del anterior, me topé con el mismo manual, letra por letra en varios sitios distintos y ninguno de ellos mencionaba la fuente.
Su par de minutos de surfeo hasta que encontré un manual mejor y mucho mas explicativo.
Ignside.net - PHP y Cookies.
Asi se linkean sitios.
Saludos!
Archives Posts
October 30th, 2008 by scyfox
Una galletita de código:
Nada mejor que utilizar la siguiente palabra, para hacer las pruebas de codificación de carácteres en una página web y en la base de datos.
Iñtërnâtiônàlizætiøn
No recuerdo de donde saqué el dato, pero me tinca que es en uno de los links que puse en el post anterior.
Silla!
Archives Posts
October 30th, 2008 by scyfox
Un par de consejirijillos (como diría Flanders) de los que he pagado el “noviciado” durante mi primer mes como ingeniero a cargo de los desarrollos “lógicos” de sitios web.
Ya… como puto programador, pero hey. Gano piola, vivo en un lugar piola y la pega es más piola. Si llego tarde me dicen… que paso? en vez de “Despedido”… Si quiero fumarme el postre (o salir a fumar afuera) no hay problema. Y tengo poco más de una hora de colación.
Lo malo es que entro a las 9 - 9:30 AM y salgo a las 7 PM. Salgo más tarde que todos, pero entro más tarde que todos también xJ xD.
Ya.. volviendo al tema. Unos consejos para revisar sus sitios antes de subirlos al servidor de desarrollo.
1.- Verificar que en “producción” usen la misma versión o rama de PHP. (4.x o 5.x)
2.- Verificar que en “producción” usen la misma codificación de caracteres tanto en Web como en la Base de datos. Se evitarán un montón de problemas si se acostumbran a usar UTF-8 y dejar ISO-8859-1 para el pasado.
3.- Verficar que no existan fallas de ortografía en los ejemplos que usemos para probar módulos. Lo mismo con ejemplos burdos o en que usemos imágenes comprometedoras. En desarrollo he usado fotos de los Simpson y garabatos contra la jefa, para probar implementaciones jajajja.
4.- Anotar en un cuaderno o en un lugar visible las páginas que usaste, sus funciones, archivos “include o require” necesarios, clases o archivos anexos, cosa de tenerlos a mano al momento de subirlos al server de producción. Lo mismo para los permisos de archivos y carpetas.(644, 775, 777, etc.)
5.- Último pero no menos importante es SIEMPRE tener una carpeta de RESPALDO de lo que había en PRODUCCIÓN. Yo siempre les pongo bkp_P o bkp_D segun donde esté trabajando (Desarrollo o Producción). Porque como Ley de Murphy SIEMPRE que exista la posibilidad de que algo falle, fallará.
Material de lectura. Algunos links que recomiendo en donde se profundiza en algunos de los puntos que puse arriba.
http://www.phpwact.org/php/i18n/charsets
http://www.phpwact.org/php/i18n/utf-8
http://www.php.net/manual/en/function.imap-mime-header-decode.php
http://www.php.net/manual/en/function.phpversion.php
Hasta la próxima.
Silla!
Archives Posts
October 27th, 2008 by scyfox
Porque uno siempre olvida esas pequeñas líneas de código al no usarlas a tiempo o durante mucho tiempo, acá una pequeña galleta recordatoria de cómo hacer un popup en javascript pasando parámetros PHP, de la forma correcta y compatible con todos los navegadores incluidos aquellos que no tienen soporte para Javascript activado.
[sourcecode language='html']<a href=”pop.php?ventanita=$id” target=”_blank” onclick=”window.open(this.href, this.target,’width=800, height=1000′); return false”>Click Aqui</a>[/sourcecode]
La memoria es frágil. Mejor tener un recordatorio online para esos momentos especiales.
jeje
Silla!
Tags: Code, compatible, estandar, JavaScript, no intrusivo, pasar parametros, PHP, pop up, ventana pop
Archives Posts
October 14th, 2008 by scyfox

Hoy, luego de un condorazo en la pega, tuve que hacer una aplicación que permitiera subir archivos a una carpeta del servidor, y que verificara que al momento de subir no existieran archivos similares o que al momento de subirlos les pusiera otro nombre, que evitara sobreescribir archivos ya cargados.
Además de esto, necesitaba poder administrar los archivos cargados. En vez de meter los archivos a la base de datos, usé la misma para manejar y administrar la dirección en donde se guardan los archivos cargados, de forma tal que pueda evitar cargas innecesarias al motor de base de datos y también poder controlar que se sube, quien lo sube, que sección es la que sube más cosas, etc.
Requisitos:
- Servidor local para pruebas
- Base de datos MySQL
- PHP 5 (o superior)
- Acceso a FTP o carpeta para uploads.
- Phpmyadmin o similar.
Antes de todo hay que tener permisos de escritura sobre la carpeta a utilizar. Generalmente se se coloca “uploads”, pero pueden ponerle lo que deseen.
Para quienes tengan acceso a el FTP de su hosting o un servidor local, basta con darle permisos de lectura, escritura y ejecución a dicha carpeta o mejor dicho un chmod 777.
Para evitar que malos malosos accedan a la carpeta, bastará con crear un archivo llamado “index.html” y que no contenga nada o con algún mensajito como… “Clickea para otro lado.. pillin!” jaja.
El proceso comienza generando un formulario estandar en HTML pero con un par de campos especiales.
<form name=”uploads” method=”post” enctype=”multipart/form-data”>
<table width=”350px” border=”0″ cellpadding=”1″ cellspacing=”1″ class=”caja”>
<tr width=”300″>
<td>
<input type=”hidden” name=”MAX_FILE_SIZE” value =”2000000″ />
<input name=”archivo” type=”file” id=”archivo” />
</td>
<td>
<input type=”submit” name=”upload” value=”upload”>
</td>
</tr>
</table>
</form>
Ahora es el momento de la página que se encargará de procesar todo esto. Si, PHP.
<?php
//En esta parte va la conexion a la DB. Todavia no definimos la BD y sus tablas, pero es mejor tener esto listo y ordenadito.
include(”conexion.php”);
$carpeta_destino = “uploads/”;
if(isset($_POST["upload"]))
{
$nombre_archivo = $_FILES['archivo']['name'];
$tipo = $_FILES['archivo']['type];
$peso = $_FILES['archivo']['size'];
$temporal = $_FILES['archivo']['tmp_name'];
/* Nótese que se usan comillas simples. Primero va encerrado el nombre de la variable cuyo valor trae el archivo del formulario y despues el campo que requerimos de la funcion de archivos o _FILES*/
}
/*Ahora lo entretenido. Joder un rato con las funciones de PHP para poder separar la extension
del archivo de su nombre, para poder renombrarlo de forma segura, sin perder la extensión, a pesar de que sepamos de que tipo es. lo bueno de esto es que les permite controlar el tipo de archivo que suben por extension o tipo, sin importar que suban. Hace que el uploader sea estandar hasta el momento en que hacen las validaciones de tipo, para filtrar aquellas que desean o no permitir en el servidor*/
Puta tenia la media explicacion con lujo de detalles y la MIERDA DE SERVER - DREAMHOST.COM SE CAYÓ!!! y perdí el post.
Mañana seguimos con el tutorial… tengo que terminar unas cosas para la pega….
Tags: Code, español, move_uploaded_file, PHP, tutorial, uploader, _FILES
Archives Posts
October 7th, 2008 by scyfox
Saludos.
Mucho tiempo sin postear. Mi nuevo trabajo me consume y el nuevo cambio de casa no hace menos liviana la cosa. Ahora soy un nuevo residente de la ciudad de Santiago de Chile, lo que me ha traido bastantes dolores de cabeza. Principalmente el tema del Transantiago, que desde un punto de vista no lo encontraba tan malo, vivirlo en carne propia me hizo comerme mis comentarios y saborear el trago amargo con furia.
Ya me he equivocado de micro un par de veces… me he quedado sin plata en la tarjeta Bip cuando no hay cajas abiertas y también me he mandado unos buenos rallys a pie porque el puto recorrido no funciona pasadas las 00:00 horas. FUCK!!
Pero no todo es horrible, salvo un MEGA CONDORO ESTUPIDO que me tuvo casi 2 horas sin poder avanzar un trabajo pendiente. PHP, MySQL y Xampp todos juntos.
Para poder avanzar algo en casa, quise simular uno de los proyectos que estoy desarrollando para mi nueva empresa.
El error es el siguiente:
Failed opening ‘php’ for inclusion (include_path…
failed to open stream: No such file or directory …
Division by Zero….
Primera vez en mucho tiempo que Google me falla y puta que me empelotó no encontrar la solución más temprano. Ni foro programador, ni desarrollo web, ni answers.com… NADA.
Solo un poco de craneo y harto café con cigarrillos.
Ese error me salía cuando trataba de hacer una página de mantención de tablas para un sitio web X. Sucede que para mayor seguridad, se recomienda separar las llamadas a la base de datos, las consultas y las validaciones en hojas diferentes, y luego llamarlas con includes.
y yo el muy pelotudo, los estaba haciendo así:
include(funciones.php);
EL DIA DEL NISPERO FUNCIONARÍA!!!
la forma correcta es:
include(“funciones.php“);
Comillas de mierda!!!!
Silla!
Tags: Code, division zero, Failed opening 'php' for inclusion (include_path..., failed to open stream, include, includes, PHP