Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Alex_bro

#91
PHP / Re: [PHP] Include dentro de una funcion
19 Marzo 2009, 17:56 PM
No pero si el problema es que el include solo se hace dentro de esa funcion, no tiene efectos a nivel global fuera de ella.

Gracias.
#92
PHP / [PHP] Include dentro de una funcion
19 Marzo 2009, 17:02 PM
Buenas,
Cada dia se me presentan mas includes al principio de cada fichero... y queria hacer una funcion de Cargar() asignando en los parametros si usare una db o el motor de templates... y para ello necesitaria incluir los ficheros dentro de la funcion... pero no se puede... hay forma? o se les ocurre alguna otra idea?

Gracias!
#93
Muchisimas gracias!
Usando esa buena tecnica de programacion me quito de encima bastantes lineas de codigo, y tambien bastantes accesos a la db...

Saludos!

EDITO:
Despues de muchos mareos de cabeza al incrementar decimales... Acuerdense de encerrar la operacion con parentesis!
Ejemplo:
UPDATE table SET valor = (valor+1.20) WHERE....
#94
PHP / [PHP + MYSQL] Incrementar valor de un INT
23 Febrero 2009, 15:59 PM
Buenas,
Tengo una dudilla... estoy escribiendo un sistema de foros desde 0 (Que cuesta arriba se me está haciendo! Mas que nada por que cada dia hay mas lineas de codigo y eso me stresa jaja) y en una de las partes, tengo que incrementar en 1 o restarselo la cantidad de mensajes que tiene un cierto foro...
Para eso actualmente recojo el valor actual de los mensajes, le resto uno, y lo vuelvo a subir con un UPDATE.
Sé que todo eso se hace en cuestion de microsegundos, pero es posible que en los tiempos mas concurridos del foro al hacer 2 peticiones simultaneas se lien las operaciones... ? Vamos, que al momento de recojer el valor, otro lo incremente y yo haga el UPDATE con el valor erroneo.
Si fuera asi... Cual es la manera logica de hacer este tipo de operaciones?

Gracias.
#95
PHP / Que finalidad tiene esto?
7 Febrero 2009, 22:55 PM
Buenas,
A ver si me pueden ayudar a entender que hacen estas 2 lineas de codigo...
   
Código (php) [Seleccionar]
if(get_magic_quotes_gpc()) $string = stripslashes($string);
return mysql_real_escape_string($string);

A mi entender, al detectar las magic quotes activadas les quita las barras para luego volverselas a poner con mysql_real_escape_string();
Estas lineas las encontre en una clase para conectar con mysql.
No seria mas logico lo siguiente?
   
Código (php) [Seleccionar]
if(!get_magic_quotes_gpc()) $string = mysql_real_escape_string($string);
return $string;


El problema es que esta clase cuando te devulve un query les quita de nuevo las barras con stripslashes, y ya me tiene loco! Si lo dejo como viene me borra la mitad de las barras que introduce el usuario (y solo quiero escaparlas para evitar sql injection, no borrarlas) y si lo quito si que me devulve la cadena tal y como la introduzco... por lo cual no se habrian escapado los caracteres en el query...

Gracias!
PD: Estudiando mi script, me doy cuenta de que aunque get_magic_guotes_gpc() devuelve TRUE en el servidor, realmente no escapa ningun caracter y me esta volviendo loco!

EDITO:
Es posible hacer algo malicioso si escapo las comillas con htmlentities y dejo todo lo demas? Asi me evito todos estos lios de slashes y demas...
#96
PHP / Re: Necesito idea para organizar mi tabla
6 Febrero 2009, 20:03 PM
Eso mismo estaba pensando yo ahora! Pensaba en meterle un md5 en un valor en la tabla de los temas y leugo al publicar el post recuperar el id del tema mediante ese md5, y luego borrar el valor de md5 de la tabla (Para que nos sirve despues de esto?).

Lo que me ocurria es que creia que no seria eficiente hacer todo este lio con md5... y como luego pienso borrar el valor, es muy dificil que coincidan 2 valores de 6 cifras por ejemplo con mt_rand() no?

Gracias :D
PD: Cotilleando en las tablas de otros sistemas de foros, en las tablas para los temas incluyen el id del primer post, para que sirve esto? No es igual buscar en la tabla de posts el primer con la id del tema?
#97
PHP / Necesito idea para organizar mi tabla
6 Febrero 2009, 19:31 PM
Buenas!
Recientemente me puse a escribir mi propio foro php desde 0 y aun estoy algo cortito...
He creado 2 tablas en mysql, una para la lista de los temas creados, y otra con los posts que los rellenan.
El problema esta en que al hacer un inset con el titlo, autor... del nuevo tema, al mismo tiempo tengo que publicar el primer post de ese tema que debe de tener el id del tema y demas para luego saber que pertenece a el...


  • Si utilizo mysql_inset_id() para obtener el id del primer insert y estan publicando otro al mismo tiempo, no se liaran las id´s?

  • Existe la posibilidad de que un usuario intente ver el tema cuando se ha incluido el primer insert, pero aun no se haya hecho el insert con el primer post?
Gracias!
#98
PHP / Re: Mi funcion para limpiar variables
6 Febrero 2009, 19:00 PM
Gracias por tu sinceridad  ;D
Para cuando queremos solo numeros pues intval() si es mucho mejor que todo esto, pero yo la hice para casos en los que haya que combinar mas factores.
Y lo de mysql_real_escape_string() si es verdad, yo la uso en mis scripts, pero como la funcion tenia que ser mas universal pues... si la ponia en esta funcion y alguien la usaba sin tener una conexion a base de datos previa, le saldria error... o simplemente no escaparia la cadena si le ponemos @.

De todas formas tampoco tengo mucho nivel en PHP, esperaba que aqui le sacaran criticas a mi funcion para mejorarlo, gracias!

Un saludo.
#99
PHP / Mi funcion para limpiar variables
5 Febrero 2009, 18:19 PM
Buenas,
Recien acabo de escribir una funcion PHP para filtrar una variable segun algunas condiciones... Les dejo el codigo por si a alguien le sirve, y de paso si tienen ganas, espero criticas para mejorarla, o ideas para que sea mas comoda.

Código (php) [Seleccionar]
<?php

/**
 * @autor Alex_Broadcast
 * @desc Funcion para filtrar variables.
 * @uso: filtra_var(Cadena, Numeros?, Letras?, Minimo, Maximo, Especiales?, Para DB?);
 * Por defecto las letras y los numeros si se permiten y no tiene MAX ni MIN.
 */

function filtra_var($var,$num=1,$let=1,$min=0,$max=0,$exp=0,$db=0){
if($num == 0$var preg_replace("/[0-9]/",'',$var);
if($let == 0$var preg_replace("/[a-zA-Z]/",'',$var);
if($max != 0){ $long strlen($var);
if($min $long || $long $max){ return FALSE;} }
if($exp != 1$var preg_replace("/^[a-z0-9]$/i",'',$var);
if($db == 1){ //Si $var va a un query SQL...
$var htmlentities($varENT_QUOTES);
if(get_magic_quotes_gpc()) $var stripslashes($var);
}
return $var;
}

/* Ejemplo: Solo numeros, y de 2 cifras minimo, 6 maximo */
$edad filtra_var($edad,1,0,2,6,0,0);

/* Ejemplo: Solo numeros, sin MIN ni MAX */
$edad filtra_var($edad,1,0);

/* Ejemplo: Numeros y letras, 3 MIN, 9 MAX */
$edad filtra_var($edad,1,1,3,9);
?>


La filtracion para evitar SQL INJECTION no se si es la mas optima, pero yo en mis paginas usaba ademas de todo eso funciones propias de MYSQL y no queria incluirlas en la funcion por si al ejecutarla aun no tenian una conexion establecida... cuestion de adaptarla a sus necesidades.

Saludos!
#100
PHP / Tratar con Arrays en Templates simples
24 Enero 2009, 19:50 PM
Buenas!
Estoy acostumbrado a tratar con Smarty como motor de plantillas y al mostrar datos de la db era facil con foreach... pero ahora quiero un sistema mas ligero, que solo puede asignar variables... asignas un dato en el codigo php y lo reemplaza por su correspondiente en la plantilla html. Pero cuando al hacer una query me llegan todos los datos de los mensajes de un foro por ejemplo, como lo muestro? Sin tener que meter nada de html en un foreach con php o por el estilo... para que se siga separando html de php.

Gracias.
PD: Solo necesito la idea mental, no se esfuercen en ejemplos :D