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 - Leguim

#411
Creo que me confundí muchisimo con INNER JOIN
pensaba que si digamos yo tengo.. un comentario....

id_comment, id_user, text
1, 1, cualquier mensaje

y la tabla users sería
id_user, nombre
1, miguel

la idea era poder acceder a el nombre del autor del comentario con la consulta usando INNER JOIN
es decir que cuando ponga..

Código (php) [Seleccionar]

$resultados[0]['name'] => retorne 'Miguel'


Era esto lo que esperaba que haga la consulta, pero lógicamente hacerlo dos veces, según hasta donde pude entender + lo que encontré en youtube (que también me cuesta entender) respecto a esto es que el inner join sería no igual, pero si similar a un where.. pensaba que esto lo que hacía era como "conectar" o "entrelazar" datos de una tabla a otra..

id_adm sería id_admin, como dije que era un sistema de tickets digamos un usuario podría rellenar un formulario con una duda y luego podría ver quien le contesto su duda gracias al id_adm (id_admin)...

Me quede en un bloqueo, no consigo entender...
#412
No, básicamente la idea era que mostrar una notificación dependiendo su id (busca por id_notification) una vez que encuentra dicha notificación con esa id intento que me devuelva todos los resultados de dicha notificación...

Eso igual creo que ya estaba claro.. ahora id_emitter y id_user estoy tratando de hacer un INNER JOIN en ambas (nunca me acuerdo como se llama esto, si "entrelazar" o nose como se dice, no me acuerdo) bueno hacer eso dos veces, pero para esto:

imaginemos que id_user es el id 1 y id_emitter es el id 2 //
tabla users sería
1. Miguel
2. Juan

para el momento en que yo imprima el dato por pantalla $resultados[0]['name'] => imagino que va a imprimir el nombre de usuario con la id 1

pero ahora que son dos datos con el INNER JOIN que apuntan a U.id_user (id_emitter, y justamente id_user pero de la tabla notifications no de la tabla users)

Ahora que son dos, imagino que se podrían imprimir así:
$resultados[0][0]['name'] => Ramon
$resultados[0][1]['name'] => Miguel

Realmente no estoy seguro que esto funcione así, pero bueno quería que se entendiera que es lo que quería  hacer aunque nose si me explique correctamente.

No, básicamente la idea era que mostrar una notificación dependiendo su id (busca por id_notification) una vez que encuentra dicha notificación con esa id intento que me devuelva todos los resultados de dicha notificación...

Eso igual creo que ya estaba claro.. ahora id_emitter y id_user estoy tratando de hacer un INNER JOIN en ambas (nunca me acuerdo como se llama esto, si "entrelazar" o nose como se dice, no me acuerdo) bueno hacer eso dos veces, pero para esto:

imaginemos que id_user es el id 1 y id_emitter es el id 2 //
tabla users sería
1. Miguel
2. Juan

para el momento en que yo imprima el dato por pantalla $resultados[0]['name'] => imagino que va a imprimir el nombre de usuario con la id 1

pero ahora que son dos datos con el INNER JOIN que apuntan a U.id_user (id_emitter, y justamente id_user pero de la tabla notifications no de la tabla users)

Ahora que son dos, imagino que se podrían imprimir así:
$resultados[0][0]['name'] => Ramon
$resultados[0][1]['name'] => Miguel

Realmente no estoy seguro que esto funcione así, pero bueno quería que se entendiera que es lo que quería  hacer aunque nose si me explique correctamente.

Edit: Para meterte en contexto este sería otro ejemplo de un sistema de tickets

Código (php) [Seleccionar]

"SELECT U.id_user, U.avatar, U.name, U.surname, U.email, U.rank, T.id_ticket, T.id_adm, T.id_user, T.type, T.id_reported, T.acceptance, T.title, T.content, T.response, T.year_date, T.month_date, T.day_date, T.hour_date, T.minute_date FROM users U INNER JOIN tickets T ON U.id_user = T.id_adm AND U.id_user = T.id_user WHERE T.id_ticket = :id_ticket"
#413
Buenos días
hace 1 mes había publicado un tema donde preguntaba como podía hacer más de un "INNER JOIN" en una misma consulta...
Una de las respuesta que recibí me había servido ya que no me mostraban errores, ni ninguna advertencia pero al testearla dicha consulta no me arroja resultados..

Código (php) [Seleccionar]

SELECT U.id_user, N.id_notification, N.id_emitter, N.id_user FROM users U INNER JOIN notifications N ON U.id_user = N.id_emitter AND U.id_user = N.id_user WHERE N.id_notification = :id_notification


Tema anterior: https://foro.elhacker.net/desarrollo_web/pregunta_inner_join_de_dos_campos-t499302.0.html;msg2204406

Estoy completamente seguro que el problema esta en el INNER JOIN ya que si pruebo la misma consulta quitando algunos de los dos que tengo, es decir que sólo me quede con un solo inner join va a funcionar pero ya cuando agrego dos o más ya no va a traer resultados.

Gracias....
#414
WHK: realmente estuve pensando en usar sockets en mi aplicación web pero no solamente me parece algo difícil (pero difícil en serio, a cada rato trato de entenderlo mirando vídeos o buscando información, pero no lo entiendo), que necesitas abrir una consola, que después no entiendo como puedo ejecutar los sockets ya cuando la aplicación esté en producción... si usar sockets de alguna manera tiene vulnerabilidades y hay que parchearlas, (no estoy seguro de esta ultima)

!#drvy: ¿Donde podría ejecutar la función de php is_online(id_user); ?  :silbar:
#415
Buenos días,
quería que un usuario sólo tenga una session abierta en la aplicación, no varias, desde otros dispositivos, u otros navegadores, clientes, etcétera...

La lógica para poder hacer esto (Lo encontré por ahí  :xD)

Código (php) [Seleccionar]

Si existe ya un usuario conectado, desconectar a ese usuario, y dejar entrar al nuevo usuario.
- 1) Para cada usuario, mantén el id de sesión en la base de datos.
- 2) Si al hacer login, existe un id de sesión en la base de datos, carga esa sesión , destrúyela, y crea una nueva.
(session_id($id); session_start(); session_destroy();session_start())


¿Como sería esto? Estoy en un bloqueo y no puedo entenderlo..
#416
Revivo
#417
PHP / Re: [Problema]: Sistema anti ataques (CSRF)
16 Octubre 2019, 23:01 PM
Me dio unos problemas al principio pero ya todo funciona muy bien, me gusto mucho la lógica de tu idea!

Gracias!
#418
Cita de: #!drvy en 15 Octubre 2019, 10:59 AM
Yo lo que haría es que cada vez que se carga una página, se construya una sesión con los datos del usuario (nombre, fechas, correo verificado etc) y ahí dentro ya compruebas si el usuario tiene verificado o no el correo.

Además, te recomiendo que en vez de redirigir por javascript, uses cabeceras HTTP y mates la ejecución del resto del código pues le estas dando la oportunidad al usuario de ejecutar otras acciones sin antes de redirigirlo.

Código (php) [Seleccionar]
if ($_SESSION['current_user']['email_verified'] != true) {
   header('Location: http://blabla.com/verifica-tu-correo');
   exit;
}


Saludos

¡Muchas gracias!
#419
Woao, nada que ver lo que pensaba de como hacerlo... Está muy buena tu idea!
aunque todavía tengo una pregunta (algo tonta) pero ¿Donde podría ejecutar la función de php is_online(id_user); ?

Gracias!!!
#420
PHP / Re: [Problema]: Sistema anti ataques (CSRF)
15 Octubre 2019, 01:30 AM
Cita de: MinusFour en 15 Octubre 2019, 01:22 AM
Tienes que guardar el token del lado del servidor, lo puedes poner en una sesión por ejemplo. Ese es el valor que tienes que comparar contra el valor que recibes por POST.

Si si, estoy guardando el token del lado del servidor pero no entiendo por qué sucede eso... si hasta donde yo lo veo como yo hice debería de funcionar de 100 pero siempre puede pasar que algo se me escape...

Intente con las $_SESSION pero es lo mismo, al enviar dicho formulario como que la variable que guarda el dato de la función "Create_Code" es como que se dispara otra vez, y de esta forma genera un nuevo token sin que yo se lo pida..