Re: [PHP-ES] alguien ha usado ... o s e fía de ... ( jueves de debate ;)

[email protected] (Juan Manuel Acuña Barrera)
Newsgroups php.general.es
Message-ID <[email protected]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


El 24/06/2011, a las 03:45, Ricardo Martinez escribió:

> hola a todos!
> 
> lo primero de todo, gracias por responder, he estado mirando las diferentes
> soluciones que cada uno aportado así como experiencia en casos anteriores.
> 
> voy en orden como habéis escrito:
> 
> *Carlos Costa: *
> te refieres a crear una tabla auxiliar, con un id auto increment, de forma,
> que cada vez que queramos generar un registro en la tabla principal, el
> campo id se obtenga de la tabla aux. Corrígeme si me equivoco, pero el
> problema que veo es que podemos llegar a tener muchos ids en la tabla
> auxiliar que no se usen( dependiendo del diseño y necesidades de la
> aplicación).
> Y no soluciona el problema de multi-usuario(al menos en mi caso, que explico
> más abajo).
> De todas formas, igual no te he comprendido bien. Pero es bueno idea
> también.
> 
> *Juan Manuel:*
> efectivamente es un id autoincrement, tu solución me parece, que puede
> llegar a ser muy útil, como control.
> 
> *Federica:*
> Tengo dos tablas, tabla principal y tabla secundaria.
> El usuario realiza una determinada acción y en ese momento, se crear un
> registro en la tabla principal, y la vez se le da opción de insertar otro
> registro en la tabla secundaria, estas dos tablas van relacionadas por el id
> de la tabla principal, que es autoincrement.
> 
> Voy a revisar documentación y a probar esto, pero veo que se genera más
> código.
> 
> ...
> 
> He estado preguntando el tema con otros colegas (*mysql_insert_id($link);*),
> que han desarrollado aplicaciones con muchos usuarios online a la vez, y me
> han comentado, *que se obtiene la última transacción a la base de datos que
> tienes tu abierta*.
> 
> Así que voy a probar con los stored procedures y con mysql_insert_id en su
> versión para PDO. ya os comentaré los resultados!!!
> 
> pd gracias a tod@s, y si os parece cada jueves podría haber algún pequeño
> tema a debate!!!
> 
> 
> 
> -- 
> Ricardo
> _______________________________________________
> IT Architect
> website: http://www.pulsarinara.com

Hola.

Olvidé mencionar que a mi me gusta particularmente el método que uso ya que no me gusta mostrar mas información al usuario de la estrictamente necesaria, especialmente en los vínculos.

En alguna ocasión, para rizar más el rizo, en lugar de usar una cadena numérica aleatoria, usé un hash único. Te pongo el código para crearlo abajo:

	$seed='lkSldPeIXuzMshYgYTnkkiyQsC';
	$hash=sha1(uniqid($seed . mt_rand(), true));
	echo "seed: $seed <br>";
	echo "hash: $hash <br>";

Y si quieres que tu cadena no sea tan larga, por ejemplo, para que te quede de 10 caracteres:

	$random=rand(0,15);
	$short=substr($hash,$random,10);
	echo "short: $short <br>";

La idea es no poner nada que sea predecible. No es lo mismo que un vínculo apunte a "pagina.php?id=132549", donde, sin mucho cerebro un usuario se le podría ocurrir cambiar el número a ver si accede a otros datos, que un vínculo que apunte a "pagina.php?acceso= 4b59604b9c36c6bd78255d75e4c029a14f94f0b8".

Más de uno me tachará de paranóico, desconfiado y similares... y tendrá razón :)

Espero que te sirva.

Saludos!
Juan Manuel Acuña.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.14 (Darwin)

iEYEARECAAYFAk4EoNgACgkQTc4QiYN6hDdgzgCfRZ5P8OiLmT8cy+JzqJHAKQMz
XXgAn3IUm0+eYG/YI2Nz+ha1YE0ktj0h
=XlTE
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.