Foros del Web » Programando para Internet » PHP »

paso de variables

Estas en el tema de paso de variables en el foro de PHP en Foros del Web. hola a todos y muchas gracias de ante mano. Estoy intentando enviar variables en un enlace por ejemplo <a href="?pagina=Producto&id=<?php echo $id; ?>"><?php echo $nom ...
  #1 (permalink)  
Antiguo 21/05/2014, 17:28
 
Fecha de Ingreso: noviembre-2008
Mensajes: 28
Antigüedad: 10 años, 11 meses
Puntos: 0
paso de variables

hola a todos y muchas gracias de ante mano. Estoy intentando enviar variables en un enlace por ejemplo <a href="?pagina=Producto&id=<?php echo $id; ?>"><?php echo $nom ;?></a> pero no quiero que se vea en la url los datos que estoy pasando como podria enviar estos datos sin usar un formulario? me podrian ayudar por favor este es mi codigo, si tendrian algun ejemplo que me sirva de guia. Muchas gracias de nuevo a todos y disculpen las molestias


<?php
require_once("conexion.php");
$sql="select idCate,nombre from categorias";
$resultado = mysql_query($sql,$conexion) or die(mysql_error());
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CartVirtual</title>




</head>

<body>
<div>

<?php
while($fila = mysql_fetch_assoc($resultado))
{
$id = $fila["idCate"];
$nom = $fila["nombre"];
?>
<div>
<a href="?pagina=Producto&id=<?php echo $id; ?>"><?php echo $nom ;?></a>

</div>
<?php
}
?>
</div>
</body>
</html>
  #2 (permalink)  
Antiguo 21/05/2014, 17:50
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 9.954
Antigüedad: 11 años, 2 meses
Puntos: 2184
Respuesta: paso de variables

Respuesta corta: No hay manera de enviar variables sin formulario y que no aparezcan en URL.

Opciones para que no se vean:
- Usar los obsoletos frames para mantener siempre la misma URL en la barra de dirección
- Usar URL's amigables, aunque con esto no ocultas las variables, simplemente las "maquillas para que se vean mejor"
- También podría lograse con AJAX, será cosa de que investigues más al respecto
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 21/05/2014, 17:59
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 12 años, 6 meses
Puntos: 292
Respuesta: paso de variables

Las peticiones para leer recursos generalmente se hacen por GET aunque podrias usar POST y el boton del formulario no tiene porque existir.

Eso si.. como te dice el colega @Triby :


- Habrá elementos de formulario se vean o no.

- O... usas Ajaj


Te prongo algo simple: ese enlace estaria asociado a un evento onclick() que cojeria un id y lo enviaria por POST
__________________
Salu2!
  #4 (permalink)  
Antiguo 21/05/2014, 18:49
Avatar de Alexis88
Objetivista
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.427
Antigüedad: 7 años, 11 meses
Puntos: 929
Respuesta: paso de variables

Si el enlace se va a ver como un pequeño texto el cual no debe de ocupar más de una línea, podrías usar un formulario con los campos ocultos y con los valores a enviar, de este modo, solo el botón de envío sería visible, aunque también podrías sustituirlo por un elemento de enlace, el cual, como bien te dice Italico76, podrías asociar a un evento onclick, en el cual ejecutarías el envío del formulario.

Saludos
__________________
«Laissez faire et laissez passer, le monde va de lui même»
  #5 (permalink)  
Antiguo 21/05/2014, 21:50
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 9.954
Antigüedad: 11 años, 2 meses
Puntos: 2184
Respuesta: paso de variables

Cita:
Iniciado por kushanku
... como podria enviar estos datos sin usar un formulario? ...
Vaya, a veces no leemos bien!
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 21/05/2014, 22:09
Avatar de Alexis88
Objetivista
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.427
Antigüedad: 7 años, 11 meses
Puntos: 929
Respuesta: paso de variables

Triby, eso quedó entendido, si ya se le dijo que no puede hacer lo que busca, pues le damos otras alternativas, como la de utilizar un enlace para enviar los datos a través de un formulario cuyos campos estarán ocultos, así dará la impresión de que no hay formulario. También podría crear un formulario dinámicamente con JS y enviar los datos a través del mismo, aunque existen otras soluciones.

Saludos
__________________
«Laissez faire et laissez passer, le monde va de lui même»
  #7 (permalink)  
Antiguo 22/05/2014, 03:43
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 9.954
Antigüedad: 11 años, 2 meses
Puntos: 2184
Respuesta: paso de variables

Alexis88, el principal problema que veo con el uso del método POST es que complicará mucho el funcionamiento del sitio, por:

- Mensaje de enviar nuevamente los datos para recargar la página si regresas a ella por medio del historial en el navegador
- Imposibilidad de ingresar a la página copiando el enlace o agregándolo a favoritos
- Por causa del punto anterior, tampoco los motores de búsqueda podrán indexar el contenido

Es por eso que el método POST "debería" usarse exclusivamente para procesar formularios (login, contacto, carrito de compras, etc.) y no para presentar páginas de consulta como listados, búsquedas, detalle de productos, etc.

Además, la solución que propones en tu enlace puede ser útil para enviar contenido a sitios externos y dudo que pueda ser útil en este caso, porque se debe usar del lado del servidor y, de alguna forma, éste debe recibir los parámetros.
__________________
- León, Guanajuato
- GV-Foto
  #8 (permalink)  
Antiguo 22/05/2014, 15:36
Avatar de Alexis88
Objetivista
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.427
Antigüedad: 7 años, 11 meses
Puntos: 929
Respuesta: paso de variables

Lo que dices es correcto, creí que era para algo interno, pero siendo para un catálogo de productos on-line, necesariamente tiene que utilizar el método GET y con el uso de URLs amigables, la indexación será mejor.

Saludos
__________________
«Laissez faire et laissez passer, le monde va de lui même»

Etiquetas: formulario, html, mysql, paso, select, sql, variable, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:56.