Warning: touch() [function.touch]: Utime failed: Permission denied in /home/scyfox/public_html/core/wp-content/plugins/wp-slimstat/browscap.php on line 437

Warning: file_put_contents(/home/scyfox/public_html/core/wp-content/plugins/wp-slimstat/cache/cache.php) [function.file-put-contents]: failed to open stream: Permission denied in /home/scyfox/public_html/core/wp-content/plugins/wp-slimstat/browscap.php on line 366
Code | Weas Frikis 2.0 - Parte 2

Icon

No solo un blog misceláneo más… es un blog de weas frikis

MySQL: resource id #6 y #1

Hoy mientras revisaba el sitio de otro programador, me salió ese error desde MySQL.

Resource id #6 y Resource id #1


Este error sucede a veces, cuando la consulta a la base de datos no tiene puestas las comillas para separar los nombres de las tablas con los parámetros que usamos para comparar.

La solución es bastante sencilla.  En vez de escribir la consulta entre los paréntesis de mysql_query(), asigné la consulta a una variable, y luego puse la variable dentro de los paréntesis.

De esta forma:
$varsql = "SELECT * FROM tabla";
$valores = mysql_fetch_array($varsql);

Funcionó muy bien, salvo un pequeño detalle. Si se trabaja de esta forma hay que tener cuidado con la forma en que se usan los valores del arreglo que trae los resultados. Al principio lo hice asi:
echo $valores[id];

Y me apareció otro error de MySQL: Resource id #6
Para solucionar esto es cosa de utilizar comillas simples o dobles en el nombre de la celda que deseamos rescatar. De esta forma:
echo $valores['id'];
O también así:
echo $valores["id"];
Ahora si deseas, puedes trabajar con el valor numérico de la celda y funcionará igual
echo $valores[4];

Pueden asegurarse de no tener errores usando estos parámetros justo debajo del tag que inicia una página PHP


ini_set("display_errors",1 );
error_reporting(E_ALL);
...
?>

Silla!

Variable RCTM!! PHP

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

Popup JS+PHP correctamente.

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!

Subir archivos a servidor y evitar reescritura en PHP. I

Logo PHP

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:

  1. Servidor local para pruebas
  2. Base de datos MySQL
  3. PHP 5 (o superior)
  4. Acceso a FTP o carpeta para uploads.
  5. 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….

Flickr

Partida Academia 18/04/2010Partida Academia 18/04/2010Partida Academia 18/04/2010Partida Academia 18/04/2010Partida Academia 18/04/2010Partida Academia 18/04/2010Partida Academia 18/04/2010Partida Academia 18/04/2010Partida Academia 18/04/2010

Etiquetas

 

August 2010
M T W T F S S
« Jul    
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Compartelo!

Encuesta

¿Asistirás a Sudala 2010? www.sudala.cl

View Results

Loading ... Loading ...

RSSTwitter: scyfox

Miwis

Wikipedia Affiliate Button Earth Hour - Proudly Committed