Foro oficial de PHP

Que tal amigos ya he dejado de usar la funcion mysqli y sus derivados en favor de PDO por el tema de seguridad y la compatibilidad con varios drivers de bd, ahora al leer acerca de prepared statements y consultas parametrizadas, ¿ya con estos ejemplos que pongo debajo estoy evitando sql injection? ¿asi de simple sin mas nada? gracias por su ayuda desde ya.

PHP:
$stmt = $pdo->prepare('SELECT * FROM employees WHERE name = :name');

$stmt->execute(array('name' => $name));

foreach ($stmt as $row) {
    // do something with $row
}
-----------------------------------------------------------------------------
PHP:
$sql = 'SELECT emailaddress FROM users WHERE username = ? AND password = ?';
$query = $db->prepare($sql);
$query->bindParam(1, $_REQUEST['username']);
$query->bindParam(2, $_REQUEST['password']);

Es mentira eso de usar htmlspecialcharacters or cualquier otra función de limpieza. Los prepared statements son mas que suficientes para protegerte, lo dice el manual y cualquier experto en PDO y POO

www.aptocomparto.com

renta habitaciones medellin
 
Última edición:
Que tal.

Esto puede parecer una pregunta muy "tonta" pero es algo que realmente me resultaría muy útil.

- ¿Hay alguna forma de almacenar el valor de una variable en memoria, entre diferentes peticiones?.

Normalmente este tipo de persistencia se hace mediante "trucos" auxiliares como la "sesiones" (cookies), archivos de texto o una tabla de variables en DB... Sin embargo nada de esto es una solución optima.

Agradezco cualquier comentario.
 
veo que sessions lo apuntas hacia las cookies pero... ya lo probaste en php?

ahora bien, si ya eso no te sirve, entonces te recomiendo usar http://redis.io

espero sirva el comentario ;-)

Enviado desde mi XT1032 mediante Tapatalk
 
veo que sessions lo apuntas hacia las cookies pero... ya lo probaste en php?...

Gracias por la respuesta. Esta parte de la sessions no la entendí... Yo trabajo con Symfony2 y uso su gestor de sesiones para almacenar datos "persistentes", pero resulta poco óptimo en muchos casos.

Leeré lo de redis. Gracias de nuevo, estaré comentando mis resultados.
 
si lo de sessions a través de Symfony te parece poco óptimo... entonces y si las usas de forma directa en el PHP?

Pero si aún así no te parece bien... entonces esta revista.io

Salu2

Enviado desde mi XT1032 mediante Tapatalk
 
@JALF Gracias por el dato de Redis, básicamente es un servidor para storage, una versión optimizada y profesional de la tabla "VARS" que suelo usar. Parece muy prometedor para alguno escenarios. Lo de "Usar la sesión directamente con PHP" sigo sin tenerlo claro, tienes algún ejemplo por hay?... Te lo agradecería.

@Yon Gracias por el comentario, el LocalStorage de HTML5 es magnifico para mucho escenarios, pero en el caso de estas variables la idea es no trasmitirlas al cliente, preferiría que no quedara ningún indicio de que existen, que solo el ámbito del app en el servidor sepa que existen.

Agradezco mucho los datos, haré algunas pruebas con Redis y veré lo de PHP puro... Ahora tengo un par de ideas que llevar a la practica y ver como se comportan, estaré comentando mis resultados.
 
Hola a tod@s, tengo una consulta... Tengo una pagina www.mipagina.com/buscar.php en la cual se hace una consulta con un formulario y me arroja los resultados en ella. Cuando doy clic a uno de los links de respuesta me lleva a www.mipagina.com/resultado.php?id_dato=1. Hasta allí todo me funciona a la perfección. Lo que quiero hacer es poder en cada resultado insertar un sistema de comentarios. He encontrado varios pero no he podido encontrar uno que me sirva porque necesito que cada comentario vaya ligado a id_dato no se si me hago entender.

Como ejemplo pondría un módulo de noticias y que cuando se ingrese a cada noticia sea posible agregar comentarios a la noticia, eso es lo que necesito. Si alguien por favor me puede colaborar se lo agradezco.
 
Hola a tod@s, tengo una consulta... Tengo una pagina www.mipagina.com/buscar.php en la cual se hace una consulta con un formulario y me arroja los resultados en ella. Cuando doy clic a uno de los links de respuesta me lleva a www.mipagina.com/resultado.php?id_dato=1. Hasta allí todo me funciona a la perfección. Lo que quiero hacer es poder en cada resultado insertar un sistema de comentarios. He encontrado varios pero no he podido encontrar uno que me sirva porque necesito que cada comentario vaya ligado a id_dato no se si me hago entender.

Como ejemplo pondría un módulo de noticias y que cuando se ingrese a cada noticia sea posible agregar comentarios a la noticia, eso es lo que necesito. Si alguien por favor me puede colaborar se lo agradezco.

Lo más sencillo es utilizar un Disqus, que es un código Javascript que ingresas en tus páginas. Si quieres un sistema de comentarios en PhP tendrías que desarrollar uno propio o utilizar alguno open source. Hay varios.
 
Lo más sencillo es utilizar un Disqus, que es un código Javascript que ingresas en tus páginas. Si quieres un sistema de comentarios en PhP tendrías que desarrollar uno propio o utilizar alguno open source. Hay varios.
Trabajo en PHP y tengo medio conocimiento en el tema aunque me defiendo leyendo código y ahora rato encontré este ejemplo sencillito en una web y no me funcionaba bien, pero ya lo hice funcionar. Tenía problemas con el archivo nuevoComentario.php y dándole ya me funciona ;). Ahora estoy puliendolo agregándole campos como género, fecha del comentario y otras cositas que iran saliendo. Además tambien a trabajarle a la css para darle estilo y dejarlo bien presentado.

Muchas gracias, espero a alguien le sirva esto que encontré.
 
Saludos a todos

Tengo una tabla en base de datos con los siguientes campos: id, Cedula, FechaEntrada, FechaSalida. Como ejemplo, una persona puede venir a mi almacén hoy a las 2:00 pm y salir a las 3:15 pm (Con esto se completaría el primer registro) La misma persona regresa mañana a las 2:30 pm por lo cual el cliente del almacén regresó antes de que pasara 24 horas desde su más reciente salida, lo cual, para el negocio, se toma como un reingreso.

Actualmente lo estoy haciendo con 2 consultas en while (El primer while se posiciona en el primer campo y con el segundo while compara con las demás entradas al almacen) esta es una forma eficaz pero no eficiente pues la ejecución del script se demora mucho sobre todo cuando muchas personas han venido muchas veces al almacén.

¿Alguien tiene alguna idea de cómo hacerlo más eficientemente? Creo que en teoría se puede hacer con solo una consulta y que compare solo contra el siguiente registro pero no se como agregarle el +1 al array de la consulta SQL.
 
Saludos a todos

Tengo una tabla en base de datos con los siguientes campos: id, Cedula, FechaEntrada, FechaSalida. Como ejemplo, una persona puede venir a mi almacén hoy a las 2:00 pm y salir a las 3:15 pm (Con esto se completaría el primer registro) La misma persona regresa mañana a las 2:30 pm por lo cual el cliente del almacén regresó antes de que pasara 24 horas desde su más reciente salida, lo cual, para el negocio, se toma como un reingreso.

Actualmente lo estoy haciendo con 2 consultas en while (El primer while se posiciona en el primer campo y con el segundo while compara con las demás entradas al almacen) esta es una forma eficaz pero no eficiente pues la ejecución del script se demora mucho sobre todo cuando muchas personas han venido muchas veces al almacén.

¿Alguien tiene alguna idea de cómo hacerlo más eficientemente? Creo que en teoría se puede hacer con solo una consulta y que compare solo contra el siguiente registro pero no se como agregarle el +1 al array de la consulta SQL.

IMO seria mas sencillo que agrege el campo o una tabla indicando si el ingreso es un reingreso al momento de crearlo y no al momento de consulta,
Al momento de crearlo es solo consultar el ultimo ingreso y marcarlo como reingreso si aplica; De lo contrario le toca hacer comparaciones y procedimientos...
 
Saludos a todos

Tengo una tabla en base de datos con los siguientes campos: id, Cedula, FechaEntrada, FechaSalida. Como ejemplo, una persona puede venir a mi almacén hoy a las 2:00 pm y salir a las 3:15 pm (Con esto se completaría el primer registro) La misma persona regresa mañana a las 2:30 pm por lo cual el cliente del almacén regresó antes de que pasara 24 horas desde su más reciente salida, lo cual, para el negocio, se toma como un reingreso.

Actualmente lo estoy haciendo con 2 consultas en while (El primer while se posiciona en el primer campo y con el segundo while compara con las demás entradas al almacén) esta es una forma eficaz pero no eficiente pues la ejecución del script se demora mucho sobre todo cuando muchas personas han venido muchas veces al almacén.

¿Alguien tiene alguna idea de cómo hacerlo más eficientemente? Creo que en teoría se puede hacer con solo una consulta y que compare solo contra el siguiente registro pero no se como agregarle el +1 al array de la consulta SQL.

Y que método usa usted para registrar el ingreso del cliente? por que si usted sabe cual fue la ultima vez que entró esta papaya, apoyándome en que el campo cédula esta allí por alguna razón ;) (a menos que yo no haya entendido su problema)
 
IMO seria mas sencillo que agrege el campo o una tabla indicando si el ingreso es un reingreso al momento de crearlo y no al momento de consulta,
Al momento de crearlo es solo consultar el ultimo ingreso y marcarlo como reingreso si aplica; De lo contrario le toca hacer comparaciones y procedimientos...

Tiene toda la razón, sin embargo es una tabla que tiene los ingresos desde el 2008 y se debe obtener los indicadores desde ese momento hasta este mes. Esa mejora se implementará, mientras tanto debo obtener los reingresos con los datos que tengo.

Y que método usa usted para registrar el ingreso del cliente? por que si usted sabe cual fue la ultima vez que entró esta papaya, apoyándome en que el campo cédula esta allí por alguna razón ;) (a menos que yo no haya entendido su problema)

Cada vez que el cliente llega lo informa (Como con un carnet de Transmilenio) y cuando sale lo hace igual, sin embargo, un cliente puede venir tantas veces como quiera durante el mes, por eso su entrada queda registrada con cédula, fechaEntrada, fechaSalida.
 

Los últimos temas