Foros del Web » Creando para Internet » Diseño web »

Guardar informacion al hacer clic en un linck

Estas en el tema de Guardar informacion al hacer clic en un linck en el foro de Diseño web en Foros del Web. Hola a todos y gracias a quien me ayude. El problema es que estoy intentando hace una horas que quando se clique encima de un ...
  #1 (permalink)  
Antiguo 04/08/2010, 08:51
 
Fecha de Ingreso: agosto-2010
Mensajes: 55
Antigüedad: 7 años, 4 meses
Puntos: 1
Guardar informacion al hacer clic en un linck

Hola a todos y gracias a quien me ayude.
El problema es que estoy intentando hace una horas que quando se clique encima de un linck guarde una información especifica que esta en la base de datos, la quiero guardar donde se pueda asta haora e provado varias cosas como en variables de sesión pero no ai forma de que se me guarde.

Aquí os enseño un trozo de código haver si me podéis aconsejar.

<?
$link = mysql_connect("**","**","**");
mysql_select_db("**", $link);
$result = mysql_query("SELECT * FROM *", $link);
if ($row = mysql_fetch_array($result)){
echo "<table>";
echo "<tr>";
echo "</tr>";
do {
echo "<tr>";
echo "<td></td>";
echo "<td><a href='a.php?'".$_SESSION['a']=$row["a"]."'>".$row["a"]."</a></td>";
echo"<td>".$row["codi_foro"]."</td>";
echo "</tr>";
} while ($row = mysql_fetch_array($result));
echo "</table>";
} else {
echo "¡ La base de datos está vacia !";
}
?>

En la linea que tengo el problema es esta:

<a href='a.php?'".$_SESSION['a']=$row["a"]."'>".$row["a"]."</a>

Supongo que es esta mal hecha pero esque no se me ocurre nada mas, en una variable no la puedo poner porque la quiero ver la información dentro la siguiente pagina.

En la otra pagina tengo esto:
$a=$_SESSION['a'];
echo $a;

Última edición por agiler; 04/08/2010 a las 09:52
  #2 (permalink)  
Antiguo 04/08/2010, 09:26
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 9 años, 4 meses
Puntos: 1530
Respuesta: Guardar informacion al hacer clic en un linck

para usar sesiones en php, debes de llamar siempre a session_start(); al inicio del script antes de leer o guardar en $_SESSION

NOTA: es el comportamiento por defecto, a menos que lo modifiques para sesiones automáticas, pero no te lo recomiendo, suerte

PD; las cookies del navegador deben estar activas, en caso contrario necesitarás propagar el SID por GET, es poco recomendable y muy rudimentario
  #3 (permalink)  
Antiguo 04/08/2010, 09:45
 
Fecha de Ingreso: agosto-2010
Mensajes: 55
Antigüedad: 7 años, 4 meses
Puntos: 1
Respuesta: Guardar informacion al hacer clic en un linck

Mmm gracias, me lo habia olvidado, pero me sigue sin funcionar, lo que quier específicamente es que me guarde el nombre del linck porque lo necesito en la siguiente pantalla y en vez de eso sale qqqq'>qqqq.
  #4 (permalink)  
Antiguo 04/08/2010, 10:13
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 13 años, 3 meses
Puntos: 71
Respuesta: Guardar informacion al hacer clic en un linck

Pero vamos a ver, lo que quieres hacer, es
1.- en una pagina haces la consulta a la bbdd
2.- muestras un dato (un enlace) y quieres guardar ese dato para la siguiente pagina
3.- en la siguiente pagina quieres recuperar el dato guardado

Pues bien, en la primera pagina, donde haces la consulta, una vez tengas la consulta hecha, haces $_SESSION['ValorQuePasoALaOtraPagina'] = $row['ValorQueQuieroGuardar'];
Lo pones en una linea sola, no donde muestras el enlace!!!!!!

Luego, en la otra pagina, simplemente haces algo asi:
$miVariableQueRecupero = $_SESSION['ValorQuePasoALaOtraPagina'];
Y listo.

Ten en cuenta lo del session_start(); SIEMPRE debe ir en la primera linea del script, sin haber enviado ningun echo ni print ni nada por el estilo.
  #5 (permalink)  
Antiguo 04/08/2010, 10:36
 
Fecha de Ingreso: agosto-2010
Mensajes: 55
Antigüedad: 7 años, 4 meses
Puntos: 1
Respuesta: Guardar informacion al hacer clic en un linck

Pero si el $_SESSION['a']=$row['a'] lo pongo fuera se me guardaran todos los nombres que a dado por resultado en vez de ese en concreto, no?

Aora lo tengo asín:
<a href='a.php?a=".$row['a']."'>".$row["a"]."</a>

Y se me guarda el nombre que quiero en la dirección web: /a.php?a=aaa.
aora el problema es vagar-lo XD, que lo e intentado con esto:

$a=$_REQUEST['a'];
  #6 (permalink)  
Antiguo 04/08/2010, 10:43
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 13 años, 3 meses
Puntos: 71
Respuesta: Guardar informacion al hacer clic en un linck

Si debes identificar varios datos en sessiones, simplemente, haz un array multidimensional.

Por ejemplo...
$_SESSION[$row['id']]['VariableArecuperar'] = $row['valor']

Luego, simplemente haces un foreach para recorrer el array $_SESSION
Aunque, no le encuentro logica, por que seria guardar todos los datos (enlaces o el valor que quieras) en sessiones sin ninguna distincion despues de la consulta, es decir, que en la segunda pagina, con volver a hacer la consulta, ya tendrias los datos de nuevo...

Igual me pierdo algo...
  #7 (permalink)  
Antiguo 04/08/2010, 10:54
 
Fecha de Ingreso: agosto-2010
Mensajes: 55
Antigüedad: 7 años, 4 meses
Puntos: 1
Respuesta: Guardar informacion al hacer clic en un linck

Lo e podido solucionar al final es asín:
a1.php

<a href='a2.php?a=".$row['a']."'>".$row["a"]."</a>

a2.php
$a=$_REQUEST['a'];

Tal Y como e ditxo mas arriba la pagina tardaba un poco y pensaba que no iva XD.
  #8 (permalink)  
Antiguo 04/08/2010, 11:06
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 13 años, 3 meses
Puntos: 71
Respuesta: Guardar informacion al hacer clic en un linck

ehhh.... entonces lo que quierias es, teniendo un enlace mas o menos como este
index.php?variable=dato
recuperar el valor de variable que es dato?

Si es eso, debes usar $_GET['variable'], en lugar de $_REQUEST['variable']

Etiquetas: html, link, php
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 03:30.