Pasar varieble por URL en PHP

Necesito saber como se pasan variables por URL.
Pero variables que puedan tomar diferentes valores, porque ya sé que poniendo:
<a href="datosusuario.php?dni=32316675M">
Me carga los datos del usuario 32316675M, pero lo que yo necesito es hacer eso pero con cualquier usuario.
Tengo un control LISTA donde están todos los dnis de los usuarios y seleccionando uno y pulsando el link se debería cargar una página con los datos de ese usuario, pero no sé hacerlo.

1 Respuesta

Respuesta
1
Una opción:
<SELECT NAME="dni">
<OPTION>123456789
<OPTION>987654321
<OPTION>456123789
</SELECT>
<A HREF="datosusuario.php?dni=$dni>
Donde $dni es el nombre (NAME) del campo donde guardas el DNI de los usuarios y el valor corresponderá al seleccionado.
Otra opción:
<FORM NAME=form ACTION=datosusuario.php METHOD=POST>
<SELECT NAME="dni">
<OPTION>123456789
<OPTION>987654321
<OPTION>456123789
</SELECT>
<INPUT TYPE=SUBMIT VALUE=ACEPTAR>
De esta forma, todas las variables contenidas en el formulario (en este caso solo la del SELECT, pasaran como argumento al ACTION.
No necesitas poner nada más.
Un saludeT
Lo de los formularios ya lo sabía, lo que pasa es que necesito pasarle las variables por la URL porque la nueva página se c arga mediante un link, no mediante un formulario. Por eso no puedo pasarle las variables de ninguna de las dos formas que me has dicho porque la nueva página no reconoce esas variables.
Pero gracias de todos modos
Creo que no te entiendo o tú no te has explicado.
Un SELECT es un objeto de un formulario y necesitas enviar el valor/es mediante un SUBMIT. Sino lo haces, el navegador sólo interpreta que debe mostrar los datos contenidos ahí en un orden y una forma determinada (es código HTML).
Cuando clickamos el SUBMIT, el navegador vuelve a leer los datos comprendidos entre <FORM> y </FORM> y ejecuta la orden que le hayamos dado en el ACTION (en este caso, a otra página).
La primera opción que te puse, tal como está, no funciona, falta código. Lo puse para que vieras cómo pasar variables en un enlace (creí que era lo que preguntabas).
Es decir, en el ejemplo:
<A HREF="datosusuario.php?dni=$dni>
$dni = variable de, por ejemplo, pagina.php y que tiene el valor pasado mediante un campo de formulario (un SELECT en este caso) o se le ha asignado directamente
dni = variable definida en datosusuario.php
Esa es la forma de pasar variables por URL.
A mi parecer, creo que te has expresado mal y que lo que quieres hacer es que el SUBMIT sea un enlace y no un botón.
Es decir, ésto:
<FORM NAME=formulario ACTION="datosusuario.php">
<SELECT NAME="dni">
<OPTION>123456789
<OPTION>987654321
<OPTION>456123789
</SELECT>
<A HREF="javascript:document.formulario.submit()">pincha</A>
</FORM>
Pruébalo y verás que es exactamente lo que quieres (o eso creo).
Espero que ésto te sirva de ayuda o saque de dudas.
Un saludeT
A propósito, si la segunda opción de la anterior respuesta no te funcionaba, posiblemente sea por la configuración de PHP. Comprueba en php.ini que tengas: register_globals = On
Un saludeT

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas